近年來,隨著物聯(lián)網(wǎng)應(yīng)用在各行各業(yè)規(guī)?;涞兀锫?lián)網(wǎng)終端數(shù)量也在與日俱增。和其他網(wǎng)絡(luò)終端設(shè)備一樣,物聯(lián)網(wǎng)終端同樣存在軟件漏洞、安全升級(jí)或功能更新等問題,需要對(duì)終端進(jìn)行現(xiàn)場(chǎng)維護(hù)和升級(jí)。而這項(xiàng)工作隨著落地終端數(shù)量的增長(zhǎng),現(xiàn)場(chǎng)維護(hù)所需的人工操作升級(jí)成本也越來越高。因此,F(xiàn)UOTA技術(shù)應(yīng)運(yùn)而生。
什么是FUOTA?
FUOTA全稱為 Firmware update over the air,是一種可無線進(jìn)行固件更新的技術(shù)。而作為最重要的LPWAN技術(shù)之一的 LoRa?,也在其LoRaWAN?協(xié)議棧上支持 FUOTA升級(jí)。
LoRaWAN??協(xié)議 FUOTA?架構(gòu)LoRaWAN?中的 FUOTA是利用組播技術(shù)將固件更新推送到一個(gè)或多個(gè)設(shè)備,從而實(shí)現(xiàn)固件更新。需要注意的是,F(xiàn)UOTA不是LoRaWAN?MAC層的一部分,它運(yùn)行在應(yīng)用層,因此,F(xiàn)UOTA中的所有進(jìn)程都與LoRaWAN?協(xié)議版本無關(guān)。
LoRaWAN?FUOTA名詞解釋:
FUS | Firmware Update Server(固件更新服務(wù)器)。一個(gè)服務(wù)器,其任務(wù)是生成要在終端設(shè)備上使用的固件更新鏡像,和要更新的終端設(shè)備列表。 |
FUA | Firmware Update Agent(固件更新代理),是 FUS在終端設(shè)備的對(duì)應(yīng)部分。 |
FDS | File Distribution Server(文件發(fā)布服務(wù)器),專門負(fù)責(zé)向終端設(shè)備交付固件更新鏡像的應(yīng)用程序服務(wù)器。該服務(wù)器在一組特定的端口上在應(yīng)用程序?qū)樱ㄅcAS 并行或在AS 之上)運(yùn)行。 |
FDC | File Distribution Client(文件發(fā)布客戶端),是FDS在終端設(shè)備的對(duì)應(yīng)部分。 |
NS | Network Server(網(wǎng)絡(luò)服務(wù)器)。 |
Dev | End-device(終端設(shè)備)。 |
LoRaWAN?FUOTA流程簡(jiǎn)述:
1.獲取要升級(jí)的設(shè)備 ID,如果是單播或者組播已經(jīng)包含算了要升級(jí)的設(shè)備,該步驟可以省略。組播組里包含的設(shè)備可能多于要升級(jí)的設(shè)備,如果是增量升級(jí),所有運(yùn)行的設(shè)備當(dāng)前固件必須一樣;
2.創(chuàng)建壓縮固件或者增量固件,選擇分片參數(shù)(分片數(shù)量,容錯(cuò)率 RC,冗余編碼);
3.固件包含一個(gè)固件頭(至少包含目標(biāo)設(shè)備硬件版本,當(dāng)前固件版本,固件 CRC,固件的壓縮機(jī)制等);
4.和 NS 協(xié)商 Class C 分發(fā)窗口。參數(shù)包含設(shè)備列表,要發(fā)送的分片文件大小,臨界時(shí)間和編碼冗余等;
5.使用應(yīng)用程序單播下行鏈路為所有要更新的終端設(shè)備配置多播組(要使用的多播地址、密鑰等);
6.Service 使用單播下行鏈路為所有要更新的終端設(shè)備配置 C 類。在后臺(tái),終端設(shè)備必須將其時(shí)鐘與網(wǎng)絡(luò)時(shí)鐘同步;
7.為所有要更新的終端設(shè)備設(shè)置碎片會(huì)話;
8.將碎片文件發(fā)送到 NS,NS 將片段文件廣播(或單播)到要更新的終端設(shè)備;
9.一旦終端設(shè)備收到足夠的碎片,就會(huì)重建二進(jìn)制鏡像;
10.終端設(shè)備重組并檢查鏡像的完整性;
11.終端設(shè)備的將新固件映像標(biāo)記為“就緒”。這意味著映像將在下次重置時(shí)由引導(dǎo)加載程序切換至新固件;
12.設(shè)備重啟,并在入網(wǎng)成功后并發(fā)送一包上行數(shù)據(jù),其中可包含當(dāng)前新固件的版本號(hào)等信息。
想要瀏覽完整流程,可查看 LoRa?聯(lián)盟FUOTA Process Summary Technical Recommendation文檔。
有關(guān)使用組播和 FUOTA的初學(xué)者指南,也可查看視頻。
RUI3LoRaWAN?FUOTA的實(shí)現(xiàn)方式
LoRa?聯(lián)盟利用LoRaWAN?協(xié)議之上的應(yīng)用層協(xié)議對(duì)FUOTA流程進(jìn)行了標(biāo)準(zhǔn)化,例如時(shí)鐘同步消息協(xié)議、遠(yuǎn)程多播設(shè)置協(xié)議、以及分片數(shù)據(jù)塊傳輸協(xié)議。這些協(xié)議可以實(shí)現(xiàn)在應(yīng)用服務(wù)器指定的時(shí)間向多個(gè)設(shè)備下發(fā)固件鏡像。
下圖顯示了 LoRaWAN?網(wǎng)絡(luò)架構(gòu)中的 FUOTA概覽。應(yīng)用服務(wù)器請(qǐng)求LoRaWAN?網(wǎng)絡(luò)服務(wù)器將固件鏡像連同交付時(shí)間一起,交付給一個(gè)終端設(shè)備或一組終端設(shè)備。LoRaWAN?網(wǎng)絡(luò)服務(wù)器根據(jù)請(qǐng)求通過 LoRaWAN?無線網(wǎng)絡(luò)將固件鏡像傳送到終端設(shè)備。
LoRaWAN? 網(wǎng)絡(luò)架構(gòu)中的??FUOTA? 概覽應(yīng)用層協(xié)議用于從LoRaWAN?網(wǎng)絡(luò)服務(wù)器到終端設(shè)備的傳輸。分片數(shù)據(jù)塊傳輸協(xié)議提供了將固件鏡像分割為小于LoRaWAN?網(wǎng)絡(luò)中可以傳輸?shù)淖畲笾?,并將其重?gòu)為固件鏡像的功能。遠(yuǎn)程組播協(xié)議可以提供將分段的固件鏡像同時(shí)傳送到一組終端設(shè)備的功能。時(shí)鐘同步協(xié)議提供了將終端設(shè)備的時(shí)鐘與LoRaWAN?網(wǎng)絡(luò)的GPS時(shí)鐘同步的功能,以便終端設(shè)備可以準(zhǔn)備交付并接收分段的固件鏡像。
下圖顯示了LoRaWAN?網(wǎng)絡(luò)服務(wù)器和終端設(shè)備之間的消息交換。首先,使用應(yīng)用層協(xié)議將交付所需的參數(shù)設(shè)置到終端設(shè)備。之后,固件鏡像將通過分片數(shù)據(jù)塊傳輸協(xié)議分片傳遞給終端設(shè)備。終端設(shè)備將碎片數(shù)據(jù)重建到固件鏡像中,使用固件鏡像更新內(nèi)部固件并重新啟動(dòng)。
服務(wù)器與終端的消息交換RAK低代碼開發(fā)平臺(tái) RUI3的LoRaWAN?FUOTA升級(jí)預(yù)計(jì)將在 10月底的 RAK秋季發(fā)布會(huì)上正式發(fā)布,屆時(shí)將使用 RAK4631終端和 RAK7268網(wǎng)關(guān)進(jìn)行演示,后續(xù)將支持更多的第三方網(wǎng)關(guān)和終端,敬請(qǐng)期待!
-
lorawan
+關(guān)注
關(guān)注
3文章
309瀏覽量
23777 -
RAK
+關(guān)注
關(guān)注
0文章
48瀏覽量
2053
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論