项目地址https://github.com/123Dafu123/IotCar
一、系统概览
1.1系统简介
本系统是使用stm32l475vet6正点原子潘多拉物联网开发板;rt-thread嵌入式实时操作系统开发嵌入式小车;springboot开发后台服务端;uniapp开发前端手机APP以及mssql作为数据库系统的IOT;物联网;系统
1.2系统框图
1.3系统整体框架概要
本系统以后台服务端;数据库为核心;将手机APP与嵌入式小车都作为了前端部分。其运行的大体过程如下;
小车上线后;向服务端发送请求;服务端注册该小车信息到数据库。用户通过手机APP注册、登录、更改个人信息、绑定小车、操控小车时;手机APP也会向服务端发送请求;而后服务端对数据库进行相应的操作。后端服务端会进行自动检测;若小车没有定时发送过数据;心跳包;到服务端;则判断小车离线。
所有端与端的通信;都是通过响应式的http api实现的;从而实现了前后端分离;并达到数据高效组织;信息高效率传输的目的。
二、手机APP部分
2.1手机APP展示
;1;用户登录注册功能。
可实现不同用户的登录以及注册;以方便不同用户控制不同的小车。成功登录后便可进入控制页面。
;2;用户扫码绑定功能
在控制界面;初始情况下;右上角绑定状态栏会显示未绑定;则此时无法控制小车。点击右上角去绑定按键则可进行扫码绑定。扫描小车上lcd屏幕二维码即可绑定对应小车。绑定完成后会显示绑定成功图标;并显示已绑定的小车id;去绑定也变为了改绑。稍微等待几秒后;屏幕中间信号图标由红变绿;则可开始控制小车。
同时支持多用户绑定不同的小车;以便不同用户控制各自不同的小车。也支持用户绑定小车后改变绑定的小车。
;3;用户信息更改功能
点击左上角;按键;可显示用户信息;点击可更改。
;4;小车操控功能
支持对左右履带的加减速操作;以实现各种运动。支持刹车功能;刹车时制动灯会亮起。同时左右履带速度会实时反馈到仪表盘上。
;5;小车在线离线状态显示
小车在线则信号图标为绿色;小车离线则信号图标为红色
2.2手机APP技术概要
前端手机APP使用了uniapp开发;实现了可在ios、android、web、小程序等多端运行的目的。
使用了单文件组件的开发方法;使开发过程更加清晰。通过组件与组件的相互协调通信;最后实现了这样一个ui精美的前端可跨端的手机APP
三、嵌入式小车部分
3.1嵌入式小车展示
;1;开机载入
屏幕会显示loading
;2;网络连接
若已经成功连接过wifi热点;则会自动连接;显示wifi connected。若wifi连接未成功;或没有连接过wifi;则会提示使用串口进行网络配置;串口波特率115200;;使用set_wifi <ssid> <password> 命令进行网络连接。
;3;app绑定
会显示一个二维码;通过手机app扫描该二维码;即可与此小车绑定;进行操控。
;4;小车运行
在配置网络以及绑定app完成后;用户便可以通过手机app操控小车的
运动。
3.2嵌入式小车技术概要
使用了rt-thread嵌入式实时操作系统;并使用了以stm32l475vet6为主控的潘多拉物联网开发板。该开发板资源丰富;尤其搭载了ap6181 SDIO Wifi芯片;在rt-thread提供的bsp加持下;使得开发过程十分轻松。小车的难点主要集中在连接网络以及使用http api上。而通过rt-thread的网络组件以及wlan框架;这些困难便迎刃而解。
四、后台服务端部分
4.1服务端概览
4.2服务端技术概要
服务端使用了springboot进行开发;从而构建了一套响应式的http api系统。由于所有api都是响应式的;因此不会出现服务端卡死而影响操控的是实时性的情况。同时也构建出了一套前后端分离的系统;方便后续进行系统的维护以及升级。
五、数据库部分
5.1数据库概览
5.2数据库技术概要
数据库部分使用了mssql作为数据库系统;通过jdbc与后台服务端进行相互通信。
实体ER图如下;