日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AliOS Things全链路优化-CoAP FOTA

發布時間:2024/8/23 编程问答 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AliOS Things全链路优化-CoAP FOTA 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要: FOTA(Firmware Over-The-Air)即空中固件升級功能;CoAP(Constrained Application Protocol),字面意思為受限的應用協議,基于UDP,專為資源有限的物聯網設備量身定制;所以AliOS Things的純CoAP FOTA就是專為資源有限的物聯網設備(如基于NB-IoT,LoRa)提供的遠程固件升級功能。

FOTA(Firmware Over-The-Air)即空中固件升級功能;CoAP(Constrained Application Protocol),字面意思為受限的應用協議,基于UDP,專為資源有限的物聯網設備量身定制;所以AliOS Things的純CoAP FOTA就是專為資源有限的物聯網設備(如基于NB-IoT,LoRa)提供的遠程固件升級功能。

1.AliOS Things1.1.2 FOTA簡介
我們先看一下當前版本(AliOS Thing1.1.2)的FOTA結構圖:

簡要介紹:

信息交互通道:指與特定的云平臺交互更新信息如版本上報、查詢,下載鏈接獲取,進度上報等控制或通知類信息;
下載通道:通過1中獲取的下載鏈接下載指定固件;
FOTA service:fota主服務;
版本管理:維護升級前后的固件版本;
Security:fota安全部分,包括通道安全(mbedtls),固件下載校驗,flash寫入校驗等;
Hal適配層:針對特定硬件的接口適配,主要指flash操作部分;
啟動參數設置/固件更新:這里分兩種情況,1.乒乓升級,直接將新固件寫入與當前程序運行分區對等的另一個分區中,下載完成后設置啟動參數讓下次程序啟動直接從FOTA下載分區啟動,每次更新來回切換;2.下載完成后設置啟動參數進入bootloader中,將下載好的固件從下載分區中復制到程序運行分區以完成固件升級。

2.CoAP塊傳輸
CoAP協議格式:

RFC7959定義了CoAP協議的塊輸出規范,對于resource representation無法通過一個CoAP數據包承載時,發起塊傳輸過程。塊傳輸使用options字段進行控制。

CoAP塊傳輸標準新增了4個Option(size1最早在RFC7252中定義,RFC7959擴展了其含義)。 塊傳輸機制采用Block1和Size1完成Request中Resource Presentation的塊傳輸;采用Block2和Size2完成Response中的Resource Presentation的塊傳輸;

FOTA CoAP下載由客戶端像服務端請求資源,所以采用BLOCK2請求資源。

Block 格式:

Option Value為變長0-3個字節的無符號數。

NUM:具有給定大小的塊序列內的塊(NUM)的相對數(從0開始編號),即塊序號
M:是否有更多塊
SZX:塊大小,取值0-6,實際每個塊的payload為2^ (4+SZX),即塊大小為16-1024Byte

Block2出現在Response中,Option value取值含義:

NUM:表示當前Message的Payload在整個body中的編號
M:表示是否還有更多塊才能完成整個body的傳輸
SZX:當M為1時,表示當前Message的Payload的大小(2**(SZX+4));當M為0時,實際Payload為1到2**(SZX+4)Byte;
Block2出現在Request中,屬于控制性用法:

NUM:期望Response傳輸的塊號
M:無意義,設置為0
SZX:當NUM為0時,表示希望采用的塊大小;當NUM非0時,直接采用上一個接收到的Response中的塊大小

3.純CoAP FOTA
通過上節我們對CoAP塊傳輸有了比較詳細的了解,CoAP FOTA正是借助了CoAP塊傳輸功能實現完整固件的下載。如第一節FOTA框架圖,當交互通道與下載通道都走CoAP協議時,即為純CoAP FOTA,僅僅依賴UDP協議,無需資源消耗較大的TCP協議支持,甚至連TCP/IP協議棧都不用實現,從而減少code size,ram等資源占用,更重要的是CoAP對網絡帶寬/網絡穩定性要求要求都很低,說到此,可能很多人都想到了NB-IoT,LoRa環境,沒錯,我們針對這種低功耗低性能場景有備而來。CoAP FOTA流程如下:

4.上板測驗:
至此,我們對CoAP FOTA應該有了較深的理解,如果想實戰試一把,請移步 AliOS Things github,下載代碼搭建環境親自體驗一把,我們配有較豐富并持續豐富中的指導文檔,請參考https://github.com/alibaba/AliOS-Things/wiki/AliOS-Things-FOTA-Porting-Guide 功能驗證章節。

總結

以上是生活随笔為你收集整理的AliOS Things全链路优化-CoAP FOTA的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。