1-STM32物聯(lián)網(wǎng)開發(fā)WIFI(ESP8266)+GPRS(Air202)系統(tǒng)方案升級篇(方案總攬)

我的這個升級篇的代碼適用于自己所有的帶WIFI和GPRS模塊的開發(fā)板,升級功能實質(zhì)上是通過MQTT把數(shù)據(jù)發(fā)給WIFI和GPRS模塊,然后模塊進行保存和運行.

這個升級程序是當時自己花了兩個星期的時間寫的,當時自己寫的時候給自己定了很多要求.

1,可以方便每個人升級自己的設(shè)備

2,不能讓用戶自己去搭建服務(wù)器

3,保證每個人不能沖突

4,要在現(xiàn)有的遠程通信的基礎(chǔ)上,不能夠再去走其它通信的路線

5,考慮以上條件,想到用戶要在自己電腦上運行一個上位機軟件(MQTT通信),設(shè)備是訪問上位機的數(shù)據(jù)實現(xiàn)升級

6,那么上位機必須產(chǎn)生一個唯一碼用做通信的主題

7,為了以后的GPRS模塊,這個上位機也必須同時支持GPRS模塊升級程序,而且操作步驟要和WIFI一樣

8,由此通信主題中加入了 "設(shè)備的型號"(也是為了不同型號的設(shè)備升級程序,實質(zhì)WIFI和GPRS也相當于不同的型號而已)

9,可以區(qū)域性的升級(升級一個型號的設(shè)備,升級用戶自定義的一些設(shè)備,升級某一個設(shè)備)

10,加入程序版本控制(有的用戶希望設(shè)備自動升級,用版本來控制)

11,上位機和用戶手機APP都可以可以控制升級設(shè)備,但是APP只是通知設(shè)備升級(APP只是有選擇權(quán),上位機才具有控制權(quán))

12,如果用來做產(chǎn)品,上位機提供給設(shè)備商,APP是用戶使用

13,可擴展性,為以后升級單片機做準備

14,底層硬件程序有兩部分,升級時不斷的切換保存,保證底層硬件程序必須保留上一次的,升級出錯后自動運行以前的備份

15,為避免意外情況,有一個按鍵可以用來切換程序,還可以清除除升級程序意外的程序

16,升級完先運行一下,如果沒有錯誤才切換執(zhí)行哪一部分程序的標志

17,由于MQTT最大傳輸?shù)淖止?jié)是1024(WIFI底層硬件設(shè)置的),所以要把每一個文件進行分段傳輸

18,為避免上位機用任務(wù)(任務(wù)的困難程度太高,設(shè)備多了不好控),所以采用一問一答

19,后期可以對底層的升級程序做修改(已經(jīng)去掉,發(fā)現(xiàn)一直沒用到)

20,后期又優(yōu)化了一些細節(jié)的地方....

21,目前測試同時升級47個WIFI設(shè)備.(由于路由器連接個數(shù)的限制,無法測試更多)

目前升級程序 徐工 幫我優(yōu)化了一版(主要目的是省內(nèi)存)

這是徐工給的方案(徐工已經(jīng)優(yōu)化好了,并運行在自己的設(shè)備上,聽徐工說,他的方案徹底解決了內(nèi)存問題)

很佩服徐工,前天晚上給我說優(yōu)化方案,隔了一天他就優(yōu)化好了,徐工底下肯定下了很大的功夫.

楊工,有關(guān)遠程升級的考慮:

1、目前的困惑點是因為內(nèi)存不夠引起的,我的想法是這樣來考慮,你看是否可行:

2、把升級哪部分程序進行剝離單獨出來,具體這樣:

init.lua程序:按鍵處理和根據(jù)標識選擇運行程序,(1)選擇運行A程序,就是Aupdata1~7;

(2)運行升級程序,進行升級;(3)運行Bupdata1~7;

主要修改mqttconfig.lua程序,把其中有關(guān)升級的程序全部剝離出來。就是分成兩部分程序:

分別是是mqttconfig.lua和mqttupdata.lua。

3、我嘗試一下,把mqttconfig.lua中的升級部分注釋后,再運行A部分程序就沒有內(nèi)存問題了。

這樣可能解決內(nèi)存的困惑,也完成升級:

出廠開機默認運行以下程序:

1、init.lua mqttconfig.lua A部分程序;升級前的運行程序

運行過程中,如果收到mqtt服務(wù)器的升級請求,置升級標志,重新復(fù)位運行。

復(fù)位運行,檢測到升級標志,運行以下程序

2、init.lua mqttconfig.lua mqttupdata.lua;為升級的運行程序

如果升級成功,置成功標志,復(fù)位運行以下程序,

3、init.lua mqttconfig.lua B部分程序;升級成功后的運行程序


咱們的教程還是使用徐工優(yōu)化前的哈,因為程序確實挺復(fù)雜的,當然大家也可以不需要管程序,會用也可以.

等弄懂了優(yōu)化前的,咱再用徐工優(yōu)化后的.



2-STM32物聯(lián)網(wǎng)開發(fā)WIFI(ESP8266)+GPRS(Air202)系統(tǒng)方案升級篇(視頻總攬)


板子鏈接


https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.3e3b1deb80xzYz&id=569295486025

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容