前言
據(jù)上次更新文章已經(jīng)兩個(gè)星期了,因?yàn)楣ぷ鞯脑颍瑳](méi)有時(shí)間更新。以后我也會(huì)盡量抽空總結(jié)近期的知識(shí)點(diǎn)。
今天這篇文章是屬于專輯《TCP-UDP協(xié)議棧》里面的一篇文章。這篇文章也是描述OTA的新的方案。前兩篇文章是關(guān)于下位機(jī)的mini UDP代碼實(shí)現(xiàn),那么我們寫了小型網(wǎng)絡(luò)協(xié)議棧究竟可以做什么?答案是OTA。之前也寫了兩篇關(guān)于手寫UDP協(xié)議棧的,如下:
教你動(dòng)手寫UDP協(xié)議棧教你動(dòng)手寫UDP協(xié)議棧-DHCP數(shù)據(jù)包解析<2>
那肯定有人問(wèn),OTA采用現(xiàn)成的協(xié)議棧不香嗎,為什么要自己寫協(xié)議棧。究竟有啥好處?答案如下:
因?yàn)楝F(xiàn)成的協(xié)議棧比較大,而且OTA功能用不到那么多協(xié)議棧功能。現(xiàn)在物聯(lián)網(wǎng)的時(shí)代,很多設(shè)備都是MCU + WIFI,在一些情況可能你要對(duì)MCU和WIFI進(jìn)行升級(jí),大部分的升級(jí)方式如下圖,PC或服務(wù)器發(fā)送升級(jí)包到MCU,然后MCU轉(zhuǎn)發(fā)升級(jí)包給WIFI,這樣實(shí)現(xiàn)WIFI模塊的升級(jí),很浪費(fèi)資源,而且還要求MCU上的flash更加大。這樣是一個(gè)不怎么理智的做法。如果這樣的方式給MCU升級(jí)確實(shí)沒(méi)有啥問(wèn)題。
自己寫的mini UDP協(xié)議棧實(shí)質(zhì)是放在wifi模塊上的,通過(guò)制定的協(xié)議將OTA包發(fā)送出去,WIFI模塊的mini UDP協(xié)議棧攔截制定協(xié)議的OTA包,然后進(jìn)行升級(jí)。如下圖,這樣的形式,MCU不用參與WIFI的升級(jí),可以說(shuō)WIFI可以不知不覺(jué)的進(jìn)行升級(jí),MCU一點(diǎn)知覺(jué)也沒(méi)有。這樣的升級(jí)方式快速,穩(wěn)定。
通過(guò)上述的描述,總的來(lái)說(shuō)就是簡(jiǎn)化wifi模塊的OTA功能。降低MCU的負(fù)擔(dān)。上位機(jī)
《Mini UDP OTA Tool》這是一個(gè)非常簡(jiǎn)陋的軟件,采用Python寫的。在這我想吐槽一下,Python寫上位機(jī)真心不好寫,我用過(guò)幾種語(yǔ)言寫過(guò)上位機(jī),Python寫上位機(jī)是最痛苦的。
這個(gè)軟件支持一鍵批量設(shè)備串行升級(jí)。也可根據(jù)版本號(hào),對(duì)某一批設(shè)備進(jìn)行一鍵升級(jí)??梢灾付硞€(gè)網(wǎng)卡設(shè)備上的設(shè)備進(jìn)行升級(jí)。
-
嵌入式設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
390瀏覽量
21241 -
UDP協(xié)議棧
+關(guān)注
關(guān)注
0文章
4瀏覽量
1108
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論