樓亮亮,金彥亮,鮑星合, 趙康
(1.上海大學(xué) 特種光纖與光接入網(wǎng)省部共建重點(diǎn)實(shí)驗(yàn)室,上海 200072;2.中國科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所)
?
物聯(lián)網(wǎng)設(shè)備無線固件升級(jí)技術(shù)的研究*
樓亮亮1,2,金彥亮1,鮑星合2, 趙康2
(1.上海大學(xué) 特種光纖與光接入網(wǎng)省部共建重點(diǎn)實(shí)驗(yàn)室,上海 200072;2.中國科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所)
針對物聯(lián)網(wǎng)設(shè)備升級(jí)維護(hù)困難的問題,提出了一種基于物聯(lián)網(wǎng)技術(shù)的無線程序更新機(jī)制,并通過一個(gè)具體的農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)控系統(tǒng)設(shè)計(jì)方案,分析了該機(jī)制的系統(tǒng)結(jié)構(gòu)、實(shí)現(xiàn)原理及流程。實(shí)際應(yīng)用測試表明,無線升級(jí)機(jī)制穩(wěn)定可靠,大大提高了物聯(lián)網(wǎng)設(shè)備固件更新的效率。
物聯(lián)網(wǎng);無線固件升級(jí);遠(yuǎn)程更新
隨著對系統(tǒng)功能、性能要求的不斷提高,或?yàn)榱讼毕?,用戶常常需要對物?lián)網(wǎng)終端設(shè)備軟件進(jìn)行升級(jí)[1]。物聯(lián)網(wǎng)終端軟件升級(jí)需要對FLASH存儲(chǔ)器的數(shù)據(jù)進(jìn)行擦除和寫入,目前對FLASH存儲(chǔ)器的編程主要包括了JTAG、ISP和IAP三種方式[2]:JTAG編程方式主要用于初期系統(tǒng)的實(shí)驗(yàn)室開發(fā)和調(diào)試;ISP方式需提供硬件資源和中止軟件運(yùn)行才能完成升級(jí)[3];IAP方式則允許在應(yīng)用程序正常運(yùn)行下對FLASH存儲(chǔ)器中另一段區(qū)域的程序代碼進(jìn)行讀/寫操作。這3種方式都要人工連接相應(yīng)的線纜或者設(shè)備進(jìn)行固件升級(jí)。
物聯(lián)網(wǎng)技術(shù)的逐步發(fā)展,使其在很多領(lǐng)域的應(yīng)用越來越廣泛[4]。而物聯(lián)網(wǎng)設(shè)備在實(shí)際使用過程中存在兩種問題[5]:一是用戶在使用過程中,可能需要改進(jìn)或增加功能;二是程序本身有缺陷導(dǎo)致無法正常工作。物聯(lián)網(wǎng)是由很多個(gè)終端設(shè)備組成,具有分布區(qū)域廣、設(shè)備小巧等特點(diǎn)[6],要解決上述兩個(gè)問題,實(shí)現(xiàn)固件更新的任務(wù)費(fèi)時(shí)費(fèi)力。因此,本文提出一種無線升級(jí)固件的方法,通過對固件進(jìn)行數(shù)據(jù)分段壓縮,減少數(shù)據(jù)的傳輸次數(shù)和提高無線升級(jí)的成功率,進(jìn)而降低維護(hù)成本、提高工作效率。
一個(gè)農(nóng)業(yè)物聯(lián)網(wǎng)監(jiān)控系統(tǒng)由多個(gè)獨(dú)立的能夠完成一定功能的物聯(lián)網(wǎng)傳感終端和一個(gè)用于對整個(gè)系統(tǒng)進(jìn)行升級(jí)控制的物聯(lián)網(wǎng)數(shù)據(jù)網(wǎng)關(guān)設(shè)備組成。每個(gè)物聯(lián)網(wǎng)傳感終端在出廠的時(shí)候都會(huì)通過JTAG裝載獨(dú)立的引導(dǎo)程序。該引導(dǎo)程序中嵌入無線通信程序,正常工作情況下每個(gè)終端運(yùn)行用戶程序,實(shí)現(xiàn)特定的功能并上報(bào)數(shù)據(jù)到數(shù)據(jù)網(wǎng)關(guān)。當(dāng)需要對某個(gè)無線終端進(jìn)行固件升級(jí)時(shí),則通過電腦控制數(shù)據(jù)網(wǎng)關(guān)向特定的物聯(lián)網(wǎng)傳感終端設(shè)備發(fā)送升級(jí)指令,終端設(shè)備一旦接收到升級(jí)指令即跳轉(zhuǎn)至引導(dǎo)程序,并等待網(wǎng)關(guān)設(shè)備發(fā)送的固件升級(jí)數(shù)據(jù),一直等待到固件數(shù)據(jù)升級(jí)結(jié)束之后再跳回至應(yīng)用程序[7],系統(tǒng)架構(gòu)如圖1所示。
1.1 引導(dǎo)程序的實(shí)現(xiàn)
本文的具體設(shè)計(jì)方案,采用TI公司低功耗單片機(jī)MSP430F5438為主控芯片,其片上主存儲(chǔ)區(qū)的類型為Flash,在正常工作電壓下,程序可對Flash進(jìn)行擦寫操作,因此特別適合程序升級(jí)。物聯(lián)網(wǎng)傳感終端系統(tǒng)中將Flash分成3個(gè)區(qū)域:一個(gè)為引導(dǎo)程序區(qū);一個(gè)為信息存儲(chǔ)區(qū),存儲(chǔ)應(yīng)用程序和引導(dǎo)程序共用的數(shù)據(jù),如升級(jí)標(biāo)志信息、CRC校驗(yàn)值、固件大小、版本信息等;最后一個(gè)區(qū)為應(yīng)用程序區(qū)。Flash分區(qū)如圖2所示。
圖1 無線固件升級(jí)架構(gòu)
圖2 單片機(jī)Flash分區(qū)
主控芯片在上電復(fù)位后,首先執(zhí)行引導(dǎo)程序。引導(dǎo)程序主要工作是重新映射中斷向量地址,將除復(fù)位中斷外的所有中斷映射到應(yīng)用程序中,讀取信息區(qū)中的數(shù)據(jù),判斷是需要升級(jí)還是跳轉(zhuǎn)至應(yīng)用區(qū)執(zhí)行應(yīng)用程序。這兩個(gè)區(qū)域通過特定的指令可以實(shí)現(xiàn)相互跳轉(zhuǎn),并以此實(shí)現(xiàn)無線升級(jí)。
1.2 數(shù)據(jù)壓縮
在無線固件升級(jí)過程中,有兩種情況可能導(dǎo)致升級(jí)的失敗或升級(jí)時(shí)間較長:(1)由于傳輸鏈路不穩(wěn)定可能導(dǎo)致同一包數(shù)據(jù)需要多次發(fā)送;(2)升級(jí)程序數(shù)據(jù)量大,而傳輸速率較低,不完整的升級(jí)代碼或不正確的升級(jí)代碼都會(huì)使系統(tǒng)癱瘓[8]??紤]到整個(gè)終端設(shè)備的成本,很多遠(yuǎn)程升級(jí)系統(tǒng)會(huì)通過引導(dǎo)程序接收升級(jí)程序數(shù)據(jù)[9-11]。如果能夠?qū)⑦@些數(shù)據(jù)進(jìn)行壓縮處理,不僅減小數(shù)據(jù)的存儲(chǔ)空間,降低產(chǎn)品成本,增加產(chǎn)品的競爭力,而且減少了傳輸?shù)臄?shù)據(jù)包,提高了固件升級(jí)技術(shù)的可靠性。所以本文通過引入壓縮技術(shù),利用PC機(jī)對固件數(shù)據(jù)進(jìn)行無損壓縮,而在引導(dǎo)程序?qū)崿F(xiàn)對壓縮的固件數(shù)據(jù)解壓,并把解壓的數(shù)據(jù)寫到用戶裝載程序區(qū)來實(shí)現(xiàn)物聯(lián)網(wǎng)終端設(shè)備的固件升級(jí)。
由于單片機(jī)系統(tǒng)內(nèi)存有限,在實(shí)際應(yīng)用中需要將原始固件數(shù)據(jù)分解成單片機(jī)內(nèi)存所能容納的一個(gè)個(gè)小文件,進(jìn)行分塊壓縮[12]。分塊后的固件由于內(nèi)部數(shù)據(jù)特征的差異導(dǎo)致了每個(gè)分塊固件數(shù)據(jù)壓縮率的不同,所以要對壓縮后的文件進(jìn)行結(jié)構(gòu)化處理。具體編排方式是將所有文件按先后順序編號(hào),建立文件地址索引表,并在分塊壓縮后的固件中保存壓縮前的固件長度、壓縮后的固件長度及當(dāng)前分塊固件的序列號(hào),在解壓階段每個(gè)分段只需指出所用數(shù)據(jù)的序列號(hào)、數(shù)據(jù)壓縮前后的文件大小,即可通過調(diào)用解壓程序取得壓縮前的數(shù)據(jù)。本文所涉及的系統(tǒng)選擇了以4 KB大小的段進(jìn)行壓縮,基本結(jié)構(gòu)如圖3所示。
圖3 分段壓縮結(jié)構(gòu)
目前數(shù)據(jù)壓縮技術(shù)的方法有很多種,但由于單片機(jī)系統(tǒng)運(yùn)行速度不快,內(nèi)存資源有限,所以傳統(tǒng)的數(shù)據(jù)壓縮技術(shù)不適合在單片機(jī)上運(yùn)行。為此,本文選用了在單片機(jī)上實(shí)現(xiàn)起來較為理想、壓縮率較高、編譯碼算法也較為簡單的兩種無損壓縮算法進(jìn)行評測:MiniLzo與LZSS,并在壓縮率、解壓時(shí)間、所消耗的資源等方面做了一些比較。本文選取了大小為123 072字節(jié)的原始固件進(jìn)行測試,其中整體壓縮是該固件沒有通過分塊進(jìn)行壓縮之后的結(jié)果;分塊壓縮是采用4 KB為單位進(jìn)行壓縮之后的結(jié)果;解壓程序所占的ROM大小是在編譯軟件IAR編譯出來的結(jié)果;解壓時(shí)間是在PC機(jī)上測試的結(jié)果,具體數(shù)值如表1所列。
表1 LZSS與MiniLzo性能比較
從表1中可以看出,LZSS解壓程序比MiniLzo更節(jié)省ROM空間,特別適合存儲(chǔ)資源比較緊張的單片機(jī);LZSS整體壓縮與分塊壓縮比率也優(yōu)于MiniLzo。但是兩種算法在同一臺(tái)電腦的解壓運(yùn)算時(shí)間相差比較大,LZSS解壓需要的時(shí)間差不多是MiniLzo的10倍。這將帶來兩個(gè)不利因素:一方面解壓的時(shí)間延長會(huì)導(dǎo)致物聯(lián)網(wǎng)終端設(shè)備功耗的增加;另一方面解壓時(shí)間過長增強(qiáng)了系統(tǒng)不穩(wěn)定性。雖然MiniLzo需要更多的ROM空間,但是即使內(nèi)存資源有限的單片機(jī)也完全可以接受,所以無線固件升級(jí)方案壓縮解壓縮算法選用MiniLzo。
1.3 數(shù)據(jù)完整性校驗(yàn)
進(jìn)行數(shù)據(jù)完整性校驗(yàn)是為保證數(shù)據(jù)的完整性,用一種指定的算法對原始數(shù)據(jù)計(jì)算出一個(gè)校驗(yàn)值。CRC已經(jīng)廣泛應(yīng)用于錯(cuò)誤數(shù)據(jù)的偵測,而生成多項(xiàng)式的選擇是CRC算法實(shí)現(xiàn)中最重要的部分,所選擇的多項(xiàng)式必須有最大的錯(cuò)誤檢測能力,同時(shí)保證總體的碰撞概率最小。多項(xiàng)式最重要的屬性是它的長度,也就是最高非零系數(shù)的數(shù)值,因?yàn)樗鼤?huì)直接影響計(jì)算校驗(yàn)和的長度。
從理論角度講,CRC不能完全可靠的驗(yàn)證數(shù)據(jù)完整性,因?yàn)镃RC多項(xiàng)式是線性結(jié)構(gòu),很容易通過改變數(shù)據(jù)方式達(dá)到CRC碰撞,假設(shè)一串帶有CRC校驗(yàn)的代碼在傳輸中,如果連續(xù)出現(xiàn)差錯(cuò),當(dāng)出錯(cuò)次數(shù)達(dá)到一定次數(shù)時(shí),幾乎可以肯定會(huì)出現(xiàn)一次碰撞(值不對但CRC結(jié)果正確),但隨著CRC數(shù)據(jù)位增加,碰撞幾率會(huì)顯著降低。
根據(jù)參考文獻(xiàn)[13]中的公式g(x)=p(x)(1+x),可以得出一個(gè)CRC多項(xiàng)式與最大錯(cuò)誤檢測位數(shù):
Bitmax length= 2r-1-1
(1)
式中,r為CRC校驗(yàn)用的監(jiān)督碼。根據(jù)式(1)可以得出每種多項(xiàng)式對應(yīng)的最大不沖突數(shù)據(jù)字節(jié)數(shù),如表2所列。
表2 不同的CRC多項(xiàng)式對應(yīng)最大不沖突數(shù)據(jù)字節(jié)數(shù)
當(dāng)物聯(lián)網(wǎng)終端設(shè)備接收到一個(gè)完整的固件之后,必須進(jìn)行一次CRC校驗(yàn),以保證數(shù)據(jù)的正確性。根據(jù)表2所得,為了保證總體的碰撞概率最小,當(dāng)固件大小大于16 KB的時(shí)候,CRC-32成為校驗(yàn)整個(gè)新固件數(shù)據(jù)的首選。
1.4 斷點(diǎn)續(xù)傳功能
在傳輸過程中,終端升級(jí)文件分成段進(jìn)行傳送,可能存在數(shù)據(jù)丟失、終端丟線、掉電等故障,導(dǎo)致升級(jí)文件傳送不全。而傳輸程序文件與傳輸一般數(shù)據(jù)參數(shù)文件不同,需要強(qiáng)調(diào)傳輸?shù)目煽啃院屯暾訹14-16]。為了防止由于無線網(wǎng)絡(luò)信號(hào)差等造成文件傳輸中斷,而使升級(jí)文件全部重新傳送的情況發(fā)生,本系統(tǒng)設(shè)計(jì)斷點(diǎn)續(xù)傳的功能。
在單片機(jī)引導(dǎo)程序中定義一段變量空間,并用__no_init來修飾該變量空間,禁止系統(tǒng)啟動(dòng)時(shí),該變量空間初始化,并且通過修飾符@定位這段空間到指定的地址上。這些全局變量用來記錄當(dāng)前升級(jí)數(shù)據(jù)包的序列號(hào)、長度及其他相關(guān)參數(shù)數(shù)據(jù),保證單片機(jī)由于外界干擾導(dǎo)致重啟或升級(jí)失敗的時(shí)候,能迅速找到上一個(gè)升級(jí)包處理成功時(shí)所記錄下來的參數(shù),并能從上一次升級(jí)會(huì)話的斷點(diǎn)處繼續(xù)升級(jí)。斷點(diǎn)續(xù)傳功能不僅可以節(jié)省網(wǎng)絡(luò)資源,降低系統(tǒng)運(yùn)行成本,而且可以大大提高無線升級(jí)的效率[10]。
在無線固件升級(jí)的過程中,PC機(jī)通過有線的鏈路控制網(wǎng)關(guān)設(shè)備實(shí)現(xiàn)物聯(lián)網(wǎng)終端設(shè)備的固件升級(jí),無線終端固件升級(jí)流程如圖4所示。
圖4 終端設(shè)備升級(jí)流程
主要操作步驟如下:
① 當(dāng)要升級(jí)的終端設(shè)備正在運(yùn)行應(yīng)用程序,由PC機(jī)控制網(wǎng)關(guān)設(shè)備向該終端設(shè)備發(fā)送固件升級(jí)指令,終端節(jié)點(diǎn)響應(yīng)該升級(jí)指令,跳轉(zhuǎn)至引導(dǎo)程序,并等待網(wǎng)關(guān)設(shè)備特定的數(shù)據(jù)包。
② 終端節(jié)點(diǎn)周期性申請固件數(shù)據(jù)包,并在一個(gè)復(fù)位時(shí)不會(huì)被初始化的變量中記錄當(dāng)前升級(jí)狀態(tài),如上次斷點(diǎn)處、故障原因等,保證終端設(shè)備固件升級(jí)的斷點(diǎn)續(xù)傳。
③ 終端節(jié)點(diǎn)收到網(wǎng)關(guān)設(shè)備的固件數(shù)據(jù)包,當(dāng)接收完一個(gè)完整的壓縮分段固件后,利用解壓縮函數(shù)實(shí)現(xiàn)對固件的解壓縮,并把解壓縮后的固件寫入指定存儲(chǔ)空間。
④ 網(wǎng)關(guān)設(shè)備發(fā)送完終端設(shè)備固件之后,再向該終端設(shè)備發(fā)送當(dāng)前升級(jí)固件的版本信息、校驗(yàn)值。終端設(shè)備收到該數(shù)據(jù)之后,對整個(gè)解壓后的固件進(jìn)行校驗(yàn),如果成功,則更新版本信息到信息段之中。
⑤ 終端設(shè)備固件數(shù)據(jù)校驗(yàn)成功,則向網(wǎng)關(guān)設(shè)備發(fā)送升級(jí)成功指令,并跳轉(zhuǎn)到應(yīng)用程序中運(yùn)行;否則,發(fā)送固件升級(jí)失敗指令,重新等待升級(jí)。
為了驗(yàn)證遠(yuǎn)程程序更新機(jī)制的有效性和可靠性,選擇了與網(wǎng)關(guān)設(shè)備相距不同距離的物聯(lián)網(wǎng)終端設(shè)備進(jìn)行固件升級(jí)測試,無線通信速率為100 kbps,其中信號(hào)強(qiáng)度是網(wǎng)關(guān)設(shè)備收到終端設(shè)備數(shù)據(jù)包時(shí)所反映出來的RSSI數(shù)值,相關(guān)測試統(tǒng)計(jì)數(shù)據(jù)如表3所列。
從測試結(jié)果可以看出,對于網(wǎng)關(guān)設(shè)備無線信號(hào)比較強(qiáng)的終端設(shè)備來說,固件升級(jí)過程中的數(shù)據(jù)傳輸速度較快且很多時(shí)候都能一次性完成,固件升級(jí)效率非常高。而在無線信號(hào)相對比較弱的終端節(jié)點(diǎn),會(huì)導(dǎo)致數(shù)據(jù)丟包,固件數(shù)據(jù)傳輸?shù)乃俣认鄬^慢,而且傳輸中斷的次數(shù)也隨無線信號(hào)質(zhì)量變差而增多。斷點(diǎn)續(xù)傳技術(shù)的引入,在信號(hào)較差的地方,有助于提高固件升級(jí)成功的概率。
表3 固件無線升級(jí)測試結(jié)果
[1] 賀翔,陳崇森.基于WiFi的車載終端遠(yuǎn)程軟件升級(jí)方法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014,14(5):22-25.
[2] 杜列波,涂青,羅武勝,等.基于麒麟嵌入式操作系統(tǒng)的車載智能終端軟件遠(yuǎn)程升級(jí)的設(shè)計(jì)與實(shí)現(xiàn)[J].國防科技大學(xué)學(xué)報(bào),2012,34(4):95-98.
[3] 韋文祥,劉曉莉,曾位發(fā).基于ARM和GPRS的嵌入式遠(yuǎn)程IAP在配變監(jiān)控終端上的實(shí)現(xiàn)[J].電氣應(yīng)用,2006,25(9):88-92.
[4] 任彧,郭太磊.基于ZigBee的LED路燈固件遠(yuǎn)程在線升級(jí)研究[J].機(jī)電工程,2012,29(1):120-123.
[5] 田建偉,劉晶,劉瀟瀟,等.用電信息采集終端遠(yuǎn)程升級(jí)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件, 2014,31(1).
[6] 朱洪波,楊龍祥,朱琦.物聯(lián)網(wǎng)技術(shù)進(jìn)展與應(yīng)用[J].南京郵電大學(xué)學(xué)報(bào):自然科學(xué)版,2011,31(1): 1-9.
[7] 陳良勇,郭兵.CAN 總線分布式嵌入式系統(tǒng)的升級(jí)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2012,12(3): 68-69.
[8] 丁鵬飛,法林.STM32F205VB 在遠(yuǎn)程系統(tǒng)升級(jí)中的應(yīng)用[J].自動(dòng)化儀表,2013,35(5):80-83.
[9] 李衛(wèi)紅,張凌云,陳天喜,等.基于IAP程序遠(yuǎn)程更新設(shè)計(jì)在車載乘客信息顯示器中的應(yīng)用[J].機(jī)車電傳動(dòng),2012(2):79-81.
[10] 尹恒,嚴(yán)華.一種針對嵌入式遠(yuǎn)程升級(jí)安全的存儲(chǔ)解決方案[J].計(jì)算機(jī)應(yīng)用,2011,31(4):942-944.
[11] 孫鋼,朱忠常,景振興.煤礦安全監(jiān)控分站遠(yuǎn)程升級(jí)方案[J].工礦自動(dòng)化,2012(3):58-60.
[12] 沈鴻星,雷紅華.LZSS數(shù)據(jù)壓縮技術(shù)在單片機(jī)系統(tǒng)上的應(yīng)用研究[J].微計(jì)算機(jī)應(yīng)用,2004,25(3):321-324.
[13] Cyclic redundancy check[EB/OL].[2014-12].http://en.wikipedia.org/wiki/Cyclic_redundancy_check.
[14] 陳林,林金朝.一種基于嵌入式系統(tǒng)的遠(yuǎn)程程序更新機(jī)制[J].微計(jì)算機(jī)信息,2007(26):4-6.
[15] 蔣建春,王正樹,馮輝宗,等.基于軟件觸發(fā)的IAP在線升級(jí)技術(shù)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2012,32(6):1721-1723.
[16] 丁鵬飛,法林.STM32F205VB 在遠(yuǎn)程系統(tǒng)升級(jí)中的應(yīng)用[J].自動(dòng)化儀表,2013,35(5):80-83.
樓亮亮(碩士研究生),主要研究方向?yàn)槲锫?lián)網(wǎng), 嵌入式系統(tǒng)應(yīng)用;金彥亮(碩士生導(dǎo)師)、鮑星合(助理研究員)、趙康(副研究員),主要研究方向?yàn)闊o線通信、無線局域網(wǎng)、 ad hoc 網(wǎng)絡(luò)和無線傳感器網(wǎng)絡(luò)。
藍(lán)牙技術(shù)聯(lián)盟針對物聯(lián)網(wǎng)推出Bluetooth Developer Studio
藍(lán)牙技術(shù)聯(lián)盟(Bluetooth Special Interest Group,簡稱SIG)于頂級(jí)無線產(chǎn)業(yè)盛會(huì)——藍(lán)牙世界大會(huì)上發(fā)布了“Bluetooth Developer Studio”(Beta版本)。“Bluetooth Developer Studio”是一款藍(lán)牙應(yīng)用開發(fā)工具包,革命性地縮減開發(fā)者的藍(lán)牙技術(shù)學(xué)習(xí)時(shí)間,并顯著加速產(chǎn)品開發(fā)速度。物聯(lián)網(wǎng)市場的興起為消費(fèi)者帶來了眾多基于藍(lán)牙無線技術(shù)的智能互聯(lián)設(shè)備,包括牙刷、血糖儀、心率監(jiān)測儀、門鎖、燈泡,乃至餐叉。有了“Bluetooth Developer Studio”,無論是新手還是經(jīng)驗(yàn)豐富的開發(fā)者,利用藍(lán)牙技術(shù)構(gòu)建物聯(lián)網(wǎng)的過程都將變得簡單無比。
藍(lán)牙技術(shù)聯(lián)盟開發(fā)者項(xiàng)目總監(jiān)何根飛(Steve Hegenderfer)先生表示:“藍(lán)牙技術(shù)聯(lián)盟在構(gòu)建工具和開設(shè)項(xiàng)目上投入巨大精力,以幫助開發(fā)者盡快將產(chǎn)品推向市場并縮減學(xué)習(xí)時(shí)間,Bluetooth Developer Studio就是一項(xiàng)代表作。此類開發(fā)工具讓開發(fā)者、創(chuàng)新者,甚至任何對物聯(lián)網(wǎng)有想法的人,都能夠快速、低成本地將產(chǎn)品理念推向市場?!?/p>
“Bluetooth Developer Studio”是一個(gè)圖形化的、基于通用屬性配置文件GATT(Generic Attribute Profile)的應(yīng)用開發(fā)和調(diào)試工具,有效縮減多達(dá)50%的藍(lán)牙學(xué)習(xí)時(shí)間。開發(fā)者能夠輕松獲取教程和代碼實(shí)例,迅速著手開發(fā)。來自初級(jí)用戶和資深藍(lán)牙開發(fā)者的反饋表明,“Bluetooth Developer Studio”能夠?qū)㈤_發(fā)時(shí)間縮短多達(dá)70%,開發(fā)者可利用其拖放功能找到所需的藍(lán)牙協(xié)議,快速創(chuàng)建自己的項(xiàng)目。工具能夠?yàn)榈谌?藍(lán)牙芯片和模塊供應(yīng)商)解決方案自動(dòng)生成代碼,且針對虛擬和實(shí)體設(shè)備均能開展測試。
Technology of Wireless Firmware Upgrading Based on IoT Devices
Lou Liangliang1,2,Jin Yanliang1,Bao Xinghe2,Zhao Kang2
(1.Key Laboratory of Specialty Fiber Optics and Optical Access Networks,Shanghai University,Shanghai 200072,China;2.Shanghai Institute of Micro-system and Information Technology,Chinese Academy of Sciences)
Aiming at the problems in remote upgrade of the IoT devices,this paper proposes a wireless reprogram mechanism based on IoT network technology.System structure,theory and implementation flow are analyzed through a specific agricultural monitoring system of IoT.The actual application of the test indicates that the wireless upgrade mechanism is stable and reliable,and greatly improves the efficiency of the IoT device firmware update.
IoT;wireless firmware upgrade;remote upgrade
國家科技重大專項(xiàng)資助,面向南水北調(diào)工程安全的傳感器網(wǎng)絡(luò)技術(shù)研發(fā)(課題編號(hào)2014ZX03005001-002);上海市重點(diǎn)學(xué)科項(xiàng)目(SKLSFO2012-04)資助。
TN923
A
士然
2014-12-18)