<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,也可以遠程更新解決.