ESA2GJK1DH1K升級篇: STM32遠程乒乓升級,基於(WIFI模塊AT指令TCP透傳方式),定時訪問升級


 

 

前言

   學習此代碼所需:

  

 

 

               

實現功能概要

定時使用http訪問雲端的程序版本,如果版本不一致,然后通過http下載最新的升級文件,實現升級.

 

 

 

測試准備工作(默認訪問我的服務器,改為自己的服務器,請看后面說明)

 

一,下載BootLoader程序(請自行下載)

  

 

二,調整波動開關位置,STM32和Wi-Fi 串口 通信

  

 

三,短接STM32的PB2和Wi-Fi模塊的RST引腳(內部程序使用該引腳硬件復位Wi-Fi)

 

  

 

四.兩個串口模塊的RX,分別接到單片機的PA9和PA10.

  4.1注:此為監控STM32和Wi-Fi之間的數據,看到更新的過程.

    

 

  4.2 示意圖

    

 

開始測試

一,打開可以配網的APP,給Wi-Fi配網

  請參考基礎篇: https://www.cnblogs.com/yangfengwu/p/11760590.html

  

  

二,配網成功后,默認重啟以后更新程序文件,更新完成以后自動加載更新的用戶程序

  2.1 單片機發送數據,TX端數據監控

  

 

 

  2.1 單片機接收數據,RX端數據監控

  

 

 

  

 

 

  

 

修改為連接自己的服務器

一,修改BootLoader,和兩份用戶程序連接的Web服務器的IP地址,端口號信息

  

 

 

 

  

 

 

  

 

  

 

 

 

 

 

 

二,Http訪問程序文件的路徑請自行根據自己的修改,我按照我自己的說明

  2.1 根據單片機程序訪問的路徑,在Web服務器建立文件夾

  

 

 

  2.2 拷貝記錄設備版本的updatainfo.txt文件,和用戶程序1文件(Progect.bin),用戶程序2文件(Progect2.bin)到服務器

 

  

 

 

  

 

 

  

 

 

  最終效果

 

  

 

 

三,大家設置完自己的,重新按照上面的測試一下,看下可不可以測試通過

  如果有問題,可自行找原因,或者在QQ群里面詢問:607064330

 

四,修改雲端版本

  

 

 

 

五,用戶程序檢測到新版本,寫入更新標志,重啟,更新另一份程序,重啟,運行新程序

  

 

 

 

五,測試程序有問題,實現程序回滾

  5.1 下次該更新程序2了,咱把程序2文件打開以后隨便折騰下

    自己隨意改改,或者增加點,或者刪除點

  

 

 

 

 

六,修改完以后,保存下,然后改一下版本號,讓軟件把有問題的程序更新進去

 

  

  

七,看下打印的信息

 

  

 

 

   注:現在是定時訪問程序文件,如果程序文件一直有問題,將會一直如此循環

  正常使用時,自己把程序文件放到服務器以后,自己測試沒有問題以后再改變版本號.

  該測試是測試假設寫入的程序文件里面的數據有問題時,實現程序回滾

其它

一,可先下載第一份程序到單片機,讓單片機默認運行一份程序

  1.1 操作步驟是先現在BootLoader程序(下載進去就可以,不需要任何配置)

  1.2 下載第一份用戶程序(程序默認加載第一份用戶程序),請按照下面配置下載

  

 

 

 

 

此時單片機啟動以后便會運行第一份用戶程序.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM