赞
踩
近期在准备一个物联网课程,主要是针对STM32OTA升级,这次使用的是小熊派物联网开发板
项目地址:https://gitee.com/wenzhengclub/bearpi_iot_ota
其实这个开发板去年我就拿到手了,只是一直没有机会和时间去体验,所以就搁置了,最近着重研究了STM32OTA部分,所以想着把OTA移植到小熊派开发板中,来实现远程升级,同时再加入一些IOT方面的知识,最终我选择了STM32+Nodered+ThingsBoard+IOT固件上传平台的方案。全部自己来完成,都是自己搭建的,并没有去使用现有的物联网平台。
Nodered:用于Http Server的搭建,实现固件版本请求API、文件下发API、以及对接Mysql数据库。
ThingsBoard:用于MQTT Server 实现MQTT的数据交互,同时制作IOT显示大屏
IOT固件上传平台:主要用于固件的上传以及版本的更新,支持文件拖拽上传,以及和数据库的交互,是Nodered的补充
首先看下OTA部分主板的界面:
这里主要是BootLoader启动过程中的界面,有一个图标,同时下方具备一个进度条,提示当前的进度,再一个就是会有一个当前状态的日志。同时一旦启动异常,也是支持固件版本的回滚的。因为在启动的时候,会备份一份代码到外部SPI Flash中。
接下来是STM32运行过程中的UI界面:
界面上方左上角显示当前固件版本号,右上角具备一个4G信号天线图标,可实时根据模组CSQ值进行一个动态的变化,下方有一个简单的UI可以展示温度湿度光照强度等,刷新速度可以根据自己的需求调整。
ThingsBoard 数据展示大屏:
大屏主要展示了设备E53插接件上面的传感器值,同时也展示了模组的信号状态变化,有仪表盘也有折线图,一目了然。同时还具备命令下发的功能,可以下发命令开启或者关闭E53插接板上面的电机和LED灯。
最后就是自己做的OTA固件上传平台:
这是我自己学了一上午的PHP做的一个主页,主要是对Nodered的一个补充,因为Nodered暂不支持文件上传(可能我没找到这个功能)。我用PHP做了这个小主页,支持文件的拖拽上传,同时也可以更新版本信息到mysql数据库。非常的方便。
课程规划:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。