没有合适的资源?快使用搜索试试~ 我知道了~
首页STM32_OTA_DEMO
STM32_OTA_DEMO
1星 需积分: 50 99 下载量 158 浏览量
更新于2023-03-16
评论 3
收藏 1.42MB PDF 举报
对于一个物联网应用,远程监控设备状态、远程更新设备固件都是其要包含的典型基本功能。本示例在百度天工 IoT 平台和 STM32F769 探索板上实现了上述功能
资源详情
资源评论
资源推荐
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.通过有线连接到云端
图 2.通过 wifi 连接到云端
3.存储区域划分
本示例用外部 QSPI Flash 保存从云端接收到的新固件和程序运行的状态。QSPI Flash 的功能区域划分如下:
地址 0 开始的 64K 字节:Info 区域,用来保存程序运行的状态以及接收到的固件下载地址和版本号等。
地址 0x00010000 开始的 4M 字节:Default Firmware 区域,用来保存默认的应用程序固件。通常可以将第一版稳定
的应用程序,烧写到 Default 区域中,用作“恢复板子出厂设置”。
地址 0x00410000 开始的 4M 字节:Download Firmware 区域,用来保存在 OTA 过程中从云端下载的当前新固件。
STM32F769 MCU 的内部 Flash 分为两部分:
地址 0x08000000 开始是 Bootloader 程序:板子复位后,先执行的是 Bootloader 的程序,之后再跳转到应用程序。
bootloader 程序会根据用户操作决定是否将 QSPI Flash 中的固件更新到 MCU 内部 Flash 中。
地址 0x08010000 开始,保存用户应用程序:它除了用户自己的功能程序之外,还包括与云端通信,以及从云端下
载新固件的程序。
4.运行环境
4.1 硬件连接部分
需要的硬件:
一块 STM32F769I-DISCO 开发板,一根 micro USB 线
使用以太网有线连接时:一根网线,一个可以连上互联网的网口
使用 wifi 无线连接时:一个 WIFI 热点,一个 ESP-01 模块
一台可以上网的电脑(运行 MQTT.fx)
硬件连接:
4.2 需要的固件、工具软件及云端服务:
STM32F769 云端固件升级的软件包(包括 Bootloader 程序项目工程和应用程序项目工程)
IAR Embedded Workbench for ARM
ST-Link Utility(烧写 STM32F769I-DISCO 板子上的 QSPI Flash)
FOTABinConverter(用来转换 bin 文件格式,随例程软件包一起提供)
MQTT.fx (免费的 MQTT 客户端,下载链接 http://mqttfx.bceapp.com/)
百度天工 IOT 物管理服务(提供 MQTT 相关服务)和 BOS 服务(存放待下载的 MCU 新固件)
5.云端的操作
运行本示例之前,需要先在百度天工 IoT 平台上建立好对应的服务,以及将 需要下载的固件上传到百度云的 BOS 服务器上。
下面将具体介绍如何在百度云上进行操作。
5.1 建立云端的 MQTT 服务
1. 注册并登录百度云平台:https://cloud.baidu.com/
2. 登录成功后,导航栏选择“产品服务>物联网服务>物接入 IoT Hub ”
剩余14页未读,继续阅读
wakaa0915
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2