STM32F769DK 云端固件升级例程使用说明
1.前言
对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。本示例在百度天工 IoT 平台和
STM32F769 探索板上实现了上述功能,并有以下特性:
支持 MQTT,HTTP 协议
支持安全传输(TLS)支持应用数据的 Json 格式解析
后台下载固件(不影响前台应用程序运行)
断点续传
固件完整性检查
支持一键恢复出厂默认固件在本示例中,STM32F769DK 板可以通过板载以太网接口或者外接的 WIFI 模块连接到百度天工
IoT 平台,与其建立 MQTT 连接:将板上的 LED 灯状态、软件版本等信息上传到云端,并可接收云端下发的 LED 控制命令、
新固件版本和下载地址。根据接收到新固件下载地址,通过 HTTP 协议从对应的服务器下载新固件。下载完成后程序通过
LCD 屏向用户提示可用的新版本信息,用户可以通过用户按键启动新固件的升级。下载和升级过程支持固件完整性校验。
在此例程中,我们用到了百度 IoT 平台和对象存储(BOS)服务。首先需要在 IoT 平台上创建 MQTT 服务,百度 IoT 平台相当于
MQTT 服务器,STM32F769DK 板相当 MQTT 客户端。在本示例中,还用到了一个 PC 端工具 MQTT.fx,作为另一个 MQTT
客户端来向 STM32F769DK 板推送固件升级消息,接收 STM32F769DK 板发送到云端的消息并进行显示。
远程下载的固件需要保存在百度云 BOS 服务器上,然后就可以获取到对应的下载链接。这个下载地址信息,通过 PC 上的
MQTT 客户端 MQTT.fx 进行推送,STM32F769DK 板收到消息后,从百度的 BOS 服务器下载新固件。
本例程提供了 IAR 的工程。
2.系统框图
图 1.通过有线连接到云端