01-STM32+W5500+AIR202远程升级篇-远程升级篇概述

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202B/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

说明

远程升级篇主要实现的是使用W5500和Air202通过http/https远程升级STM32程序.

教程

整体说明


STM32通过网络模块进行http/https下载程序文件把程序文件写入flash,执行.

升级方式分为备份升级乒乓升级

备份升级:

BootLoader:
1.把用户程序运行区的程序备份到用户程序备份区.(更新前)
2.把程序文件下载到用户程序运行区(更新中)
3.负责把用户程序备份区的程序拉取到用户程序运行区(更新失败)
4.加载运行用户程序运行区的程序

用户程序运行区:运行用户程序

用户程序备份区:备份用户程序

存储其它信息区:存储更新时需要记录的数据

乒乓升级:

BootLoader:
1.每次更新,切换程序写入的运行区的位置(循环)
2.切换程序运行哪个运行区(更新失败)


用户程序运行区:运行用户程序

用户程序备份区:运行用户程序

存储其它信息区:存储更新时需要记录的数据

自己搭建服务器

提醒:如果用户只希望做远程升级,无需按照基本控制篇全部搭建好!

在后面的章节会根据不同需求,告知用户需要学习基本控制篇哪些内容!

1.在基本控制篇已经搭建好了web服务器

2.以上的配置可以实现远程升级篇的所有功能,
但是为了适应不同用户的不同升级方式,后面还会做一下具体说明.列如:
1.有些用户只需要http下载不需要https,那么只需要安装web服务器软件,不需要购买域名以及域名解析备案等操作.
2.有些用户希望使用app控制单片机远程更新,用户需要安装MQTT
3.有些用户希望使用微信小程序控制单片机远程更新,用户需要安装MQTT,还需配置反向代理.


主要实现的功能如下: (以下功能包含http/https下载方式和 备份升级/乒乓升级 升级模式)
1.STM32通过对比版本号,主动更新单片机程序
2.APP远程控制STM32更新程序
3.微信小程序远程控制STM32更新程序
4.扩展:网页/C#远程控制STM32更新程序

阿里云物联网平台

阿里云平台是使用MQTT获取文件的https地址信息,进行更新操作.

主要实现的功能如下:
1.STM32通过对比版本号,主动更新单片机程序
其它需要待定!需要测试一个标准方案.

结语

对于硬件+软件类产品而言,能够远程更新程序是非常有必要的.
可以根据用户的反馈/自身需求动态的添加新的功能.
如果前期产品有小bug,也可以远程更新解决.

原文地址:https://www.cnblogs.com/yangfengwu/p/13381796.html