專利名稱:面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)程序的更新方法,尤其是涉及大規(guī)模無線 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新。本發(fā)明屬于無線傳感器網(wǎng)絡(luò),無線通信領(lǐng)域。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network)是由部署在監(jiān)測區(qū)域內(nèi)大量的微型 傳感器節(jié)點(diǎn)通過無線網(wǎng)絡(luò)連接形成的一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng)。隨著無線傳感器網(wǎng)絡(luò)理 論與技術(shù)的不斷成熟,作為當(dāng)前信息科技領(lǐng)域的研究熱點(diǎn),以及物聯(lián)網(wǎng)關(guān)鍵技術(shù)之一,無線 傳感器網(wǎng)絡(luò)的應(yīng)用已經(jīng)由國防軍事領(lǐng)域向環(huán)境監(jiān)測、交通管理、醫(yī)療健康、工商服務(wù)、反恐 抗災(zāi)等諸多領(lǐng)域擴(kuò)展。目前,國內(nèi)外的一些企業(yè)、高校及科研院所已投入力量,積極推進(jìn)無 線傳感器網(wǎng)絡(luò)的研究開發(fā)工作。
無線傳感器網(wǎng)絡(luò)的應(yīng)用,依賴于傳感器節(jié)點(diǎn)上所運(yùn)行的程序。在無線傳感器網(wǎng)絡(luò) 的研發(fā)與測試時(shí),需要根據(jù)算法的調(diào)試與改進(jìn)不斷地進(jìn)行節(jié)點(diǎn)程序的更新;在無線傳感器 網(wǎng)絡(luò)應(yīng)用中,也會(huì)需要對(duì)節(jié)點(diǎn)程序進(jìn)行升級(jí),或者在節(jié)點(diǎn)出現(xiàn)問題時(shí)需要對(duì)節(jié)點(diǎn)程序進(jìn)行 控制。傳統(tǒng)的方法大多面向單個(gè)節(jié)點(diǎn)逐一手動(dòng)進(jìn)行程序更新燒錄,在由節(jié)點(diǎn)構(gòu)成的傳感器 網(wǎng)絡(luò),尤其是大規(guī)模網(wǎng)絡(luò)時(shí),傳統(tǒng)的方法會(huì)帶來諸如更新耗時(shí)增多,效率低下,成本增加,同 時(shí)引入大量人工錯(cuò)誤等一系列問題。
申請(qǐng)?zhí)枮?00820059961. 4申請(qǐng)日為2008年03月05日的國內(nèi)發(fā)明專利公開一種傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序版本更新方法。該方法是使用預(yù)留程序版本更新功能的傳感器主控節(jié) 點(diǎn)配合上位機(jī)節(jié)點(diǎn)程序版本更新程序完成預(yù)留程序版本更新功能的傳感器網(wǎng)絡(luò)底層節(jié)點(diǎn) 的程序更新。該方法所描述的過程適用于單個(gè)節(jié)點(diǎn)的程序更新,且并未闡述在面向大規(guī)模 無線傳感器網(wǎng)絡(luò)如何進(jìn)行程序的更新。
申請(qǐng)?zhí)枮?01010211797. 1申請(qǐng)日為2010年06月18日的國內(nèi)發(fā)明專利公開了一種無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)遠(yuǎn)程升級(jí)系統(tǒng)、方法及設(shè)備。該發(fā)明將要升級(jí)的節(jié)點(diǎn)程序軟件包封 裝成報(bào)文,利用遠(yuǎn)程無線通訊網(wǎng)的方式,發(fā)送給需要升級(jí)的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),以實(shí)現(xiàn)對(duì) 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的程序更新。該通過報(bào)文的形式實(shí)現(xiàn)了節(jié)點(diǎn)程序的遠(yuǎn)程傳輸,但并未就傳 感器節(jié)點(diǎn)端的程序更新過程做出闡述,同樣并沒有考慮到大規(guī)模無線傳感器網(wǎng)絡(luò)的更新問 題。發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是面對(duì)大規(guī)模的無線傳感器網(wǎng)絡(luò),如何有效地進(jìn)行節(jié) 點(diǎn)程序的遠(yuǎn)程批量更新,同時(shí)在網(wǎng)絡(luò)運(yùn)行發(fā)生故障時(shí)提供節(jié)點(diǎn)程序的重置,以提高大規(guī)模 無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的更新效率,降低研發(fā)和測試成本,方便應(yīng)用管理。
本發(fā)明擬通過如下的技術(shù)方案解決上述技術(shù)問題。本發(fā)明設(shè)計(jì)并實(shí)現(xiàn)了一種面向 大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新以及節(jié)點(diǎn)程序重置方法。無線傳感器網(wǎng)絡(luò) 中的節(jié)點(diǎn),根據(jù)不同的接口方式,連接不同的轉(zhuǎn)接板,統(tǒng)一通過USB端口與名為Snapfete的3控制處理網(wǎng)關(guān)相連接,SnapGate通過以太網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)與控制服務(wù)器相連接,構(gòu)成分 布式的架構(gòu),為大規(guī)模的無線傳感器網(wǎng)絡(luò)程序更新提供幫助。
所述的Snapfeite控制處理網(wǎng)關(guān),為運(yùn)行Linux操作系統(tǒng)的嵌入式微系統(tǒng),擁有多 個(gè)USB端口連接無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)或者無線網(wǎng)卡設(shè)備,一個(gè)RJ-45以太網(wǎng)接口,通過以太 網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)連接到上層控制服務(wù)器。每一臺(tái)Snapfete均以相同對(duì)等的方式,基于 TCP/IP連接到中心控制服務(wù)器,并不互相干擾,保證了欲更新的節(jié)點(diǎn)程序并發(fā)地傳輸?shù)娇?制處理網(wǎng)關(guān)中。
所述的節(jié)點(diǎn)程序?yàn)橐呀?jīng)編譯好的用于更新傳感器節(jié)點(diǎn)程序存儲(chǔ)FLASH單元的程 序,如十六進(jìn)制HEX格式文件。
中心控制服務(wù)器根據(jù)每個(gè)傳感器節(jié)點(diǎn)所帶有的唯一標(biāo)識(shí),建立程序更新界面節(jié)點(diǎn) 與真實(shí)傳感器節(jié)點(diǎn)的映射關(guān)系。按照不同IP地址的Snapfeite對(duì)傳感器節(jié)點(diǎn)進(jìn)行劃分,建 立傳感器節(jié)點(diǎn)程序更新列表。將欲更新節(jié)點(diǎn)的標(biāo)識(shí),使用者預(yù)設(shè)的節(jié)點(diǎn)ID、更新程序的控制 命令封裝成TCP/IP數(shù)據(jù)包,用于與Snapfete控制處理網(wǎng)關(guān)進(jìn)行更新過程的交互。
Snapfeite控制處理網(wǎng)關(guān)根據(jù)接收到更新命令數(shù)據(jù)包,從中心控制服務(wù)器獲得編譯 好的節(jié)點(diǎn)程序,解析更新命令,執(zhí)行Snapfete中使節(jié)點(diǎn)程序更新的寫入程序,將節(jié)點(diǎn)程序 寫入更新到節(jié)點(diǎn)存儲(chǔ)FLASH單元。
所述的更新命令并發(fā)地傳送給每一個(gè)欲更新程序的傳感器節(jié)點(diǎn),程序更新工作同 時(shí)進(jìn)行,以保證對(duì)大規(guī)模傳感器節(jié)點(diǎn)的程序批量更新。
所述的節(jié)點(diǎn)程序重置,是中心控制服務(wù)器將帶有程序重置節(jié)點(diǎn)標(biāo)識(shí)的命令發(fā)送給 所屬的Snapfeite控制處理網(wǎng)關(guān),Snapfeite解析命令后執(zhí)行針對(duì)相應(yīng)節(jié)點(diǎn)的程序重置命令。
通過上述技術(shù)方案實(shí)現(xiàn)的面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新 和重置,對(duì)比現(xiàn)有技術(shù),有以下優(yōu)點(diǎn)。
本發(fā)明所采用的并發(fā)機(jī)制,完成對(duì)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新,提 高了大規(guī)模傳感器網(wǎng)絡(luò)程序更新問題的效率,降低了成本。
本發(fā)明提供的程序重置方法,方便了大規(guī)模無線傳感器網(wǎng)絡(luò)的測試和應(yīng)用,特別 是在節(jié)點(diǎn)程序出現(xiàn)故障時(shí)的恢復(fù)。
圖1、中心服務(wù)器與控制網(wǎng)關(guān)交互流程圖,圖1為實(shí)現(xiàn)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新, 中心服務(wù)器與控制網(wǎng)關(guān)交互的流程圖。
圖2、控制網(wǎng)關(guān)執(zhí)行節(jié)點(diǎn)程序?qū)懭敫铝鞒虉D,圖2為實(shí)現(xiàn)Snapfete執(zhí)行節(jié)點(diǎn)更 新程序?qū)懭脒^程的流程圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的說明。
步驟101,中心服務(wù)器根據(jù)傳感器節(jié)點(diǎn)的唯一標(biāo)識(shí)建立程序更新界面的節(jié)點(diǎn)與真 實(shí)節(jié)點(diǎn)的一一映射關(guān)系,根據(jù)分屬不同IP地址的Snapfeite進(jìn)行劃分。
步驟102,選取欲更新程序的傳感器節(jié)點(diǎn),生成程序更新列表。
步驟103,選擇編譯好的HEX十六進(jìn)制編碼文件。
步驟104,預(yù)設(shè)節(jié)點(diǎn)ID,執(zhí)行節(jié)點(diǎn)程序更新動(dòng)作步驟105,中心服務(wù)器將選擇好的HEX文件復(fù)制到本地節(jié)點(diǎn)程序更新文件夾。
步驟106,給程序更新列表中傳感器節(jié)點(diǎn)所歸屬的Snapfeite控制網(wǎng)關(guān)發(fā)送HEX文 件的文件名。
步驟107,SnapGate向中心服務(wù)器獲取HEX文件,并返回獲取文件成功命令。
步驟108,收到文件獲取成功命令,中心服務(wù)器將欲更新節(jié)點(diǎn)的標(biāo)識(shí),預(yù)設(shè)ID,封 裝成程序更新控制命令數(shù)據(jù)包,發(fā)送給控制網(wǎng)關(guān)。
步驟109,收到命令的控制網(wǎng)關(guān)解析數(shù)據(jù)包,對(duì)相應(yīng)標(biāo)識(shí)的傳感器節(jié)點(diǎn)執(zhí)行節(jié)點(diǎn)程 序?qū)懭敫逻^程。
步驟201,SnapGate控制網(wǎng)關(guān)對(duì)編譯好的HEX十六進(jìn)制程序進(jìn)行格式解析。
步驟202,判斷是否符合傳感器節(jié)點(diǎn)程序的格式,若不符合退出寫入過程,返回寫 入程序失敗步驟203,若符合傳感器節(jié)點(diǎn)程序格式,找出HEX文件中存儲(chǔ)的默認(rèn)節(jié)點(diǎn)ID。
步驟204,將預(yù)設(shè)的節(jié)點(diǎn)ID替換默認(rèn)的節(jié)點(diǎn)ID,寫入HEX文件。
步驟205,調(diào)用節(jié)點(diǎn)程序重置命令,對(duì)相應(yīng)欲更新節(jié)點(diǎn)執(zhí)行重置動(dòng)作。
步驟206,擦除節(jié)點(diǎn)程序存儲(chǔ)FLASH單元。
步驟207,將HEX十六進(jìn)制編碼文件寫入節(jié)點(diǎn)程序存儲(chǔ)FLASH單元。
步驟208,調(diào)用節(jié)點(diǎn)程序重置命令,節(jié)點(diǎn)程序重置,完成程序更新。
權(quán)利要求
1.一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法,其特征在于將大 規(guī)模的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)不同的接口方式,連接不同的轉(zhuǎn)接板,統(tǒng)一通過USB端口 與名為Snapfeite的控制處理網(wǎng)關(guān)相連接,SnapGate通過以太網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)與控制服 務(wù)器相連接,構(gòu)成分布式的架構(gòu),通過中心控制服務(wù)器中心控制服務(wù)器根據(jù)每個(gè)傳感器節(jié) 點(diǎn)所帶有的唯一標(biāo)識(shí),建立程序更新界面節(jié)點(diǎn)與真實(shí)傳感器節(jié)點(diǎn)的映射關(guān)系,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò) 節(jié)點(diǎn)的遠(yuǎn)程批量更新及網(wǎng)絡(luò)故障時(shí)節(jié)點(diǎn)的重置。
2.根據(jù)權(quán)利1所述的一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法, 其特征在于所述的Snapfete控制處理網(wǎng)關(guān),為運(yùn)行Linux操作系統(tǒng)的嵌入式微系統(tǒng),擁有 多個(gè)USB端口連接無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)或者無線網(wǎng)卡設(shè)備,一個(gè)RJ-45以太網(wǎng)接口,通過以 太網(wǎng)絡(luò)或者無線網(wǎng)絡(luò)連接到上層控制服務(wù)器;每一臺(tái)Snapfete均以相同對(duì)等的方式,基于 TCP/IP連接到中心控制服務(wù)器,并不互相干擾,保證了欲更新的節(jié)點(diǎn)程序并發(fā)地傳輸?shù)娇?制處理網(wǎng)關(guān)中。
3.根據(jù)權(quán)利2所述的一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法, 其特征在于所述的節(jié)點(diǎn)程序?yàn)橐呀?jīng)編譯好的用于更新傳感器節(jié)點(diǎn)程序存儲(chǔ)FLASH單元的 程序,如十六進(jìn)制HEX格式文件。
4.根據(jù)權(quán)利1所述的一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法, 其特征在于所述的中心控制服務(wù)器根據(jù)每個(gè)傳感器節(jié)點(diǎn)所帶有的唯一標(biāo)識(shí),建立程序更 新界面節(jié)點(diǎn)與真實(shí)傳感器節(jié)點(diǎn)的映射關(guān)系;按照不同IP地址的Snapfete對(duì)傳感器節(jié)點(diǎn)進(jìn) 行劃分,建立傳感器節(jié)點(diǎn)程序更新列表;將欲更新節(jié)點(diǎn)的標(biāo)識(shí),使用者預(yù)設(shè)的節(jié)點(diǎn)ID、更新 程序的控制命令封裝成TCP/IP數(shù)據(jù)包,用于與Snapfete控制處理網(wǎng)關(guān)進(jìn)行更新過程的交 互。
5.根據(jù)權(quán)利4所述的一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法, 其特征在于=Snapfeite控制處理網(wǎng)關(guān)根據(jù)接收到更新命令數(shù)據(jù)包,從中心控制服務(wù)器獲得 編譯好的節(jié)點(diǎn)程序,解析更新命令,執(zhí)行Snapfete中使節(jié)點(diǎn)程序更新的寫入程序,將節(jié)點(diǎn) 程序?qū)懭敫碌焦?jié)點(diǎn)存儲(chǔ)FLASH單元。
6.根據(jù)權(quán)利5所述的一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法, 其特征在于所述的更新命令并發(fā)地傳送給每一個(gè)欲更新程序的傳感器節(jié)點(diǎn),程序更新工 作同時(shí)進(jìn)行,以保證對(duì)大規(guī)模傳感器節(jié)點(diǎn)的程序批量更新。
7.根據(jù)權(quán)利1所述的一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法, 其特征在于所述的節(jié)點(diǎn)程序重置,是中心控制服務(wù)器將帶有程序重置節(jié)點(diǎn)標(biāo)識(shí)的命令發(fā) 送給所屬的Snapfeite控制處理網(wǎng)關(guān),SnapGate解析命令后執(zhí)行針對(duì)相應(yīng)節(jié)點(diǎn)的程序重置 命令。
全文摘要
本發(fā)明公布了一種面向大規(guī)模無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)程序的遠(yuǎn)程批量更新方法,將大規(guī)模的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)不同的接口方式,連接不同的轉(zhuǎn)接板,統(tǒng)一通過USB端口與名為SnapGate的控制處理網(wǎng)關(guān)相連接,構(gòu)成分布式的架構(gòu)。通過中心控制服務(wù)器實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的遠(yuǎn)程批量更新及網(wǎng)絡(luò)故障時(shí)節(jié)點(diǎn)的重置。中心控制服務(wù)器根據(jù)每個(gè)傳感器節(jié)點(diǎn)所帶有的唯一標(biāo)識(shí),建立程序更新界面節(jié)點(diǎn)與真實(shí)傳感器節(jié)點(diǎn)的映射關(guān)系;按照不同IP地址的SnapGate對(duì)傳感器節(jié)點(diǎn)進(jìn)行劃分,建立傳感器節(jié)點(diǎn)程序更新列表;將欲更新節(jié)點(diǎn)的標(biāo)識(shí),使用者預(yù)設(shè)的節(jié)點(diǎn)ID、更新程序的控制命令封裝成TCP/IP數(shù)據(jù)包,用于與SnapGate控制處理網(wǎng)關(guān)進(jìn)行更新過程的交互。
文檔編號(hào)H04L29/08GK102035887SQ201010587288
公開日2011年4月27日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2010年12月14日
發(fā)明者倪明選, 劉云淮, 沈鐘, 陳振宇, 高民, 黃才炎 申請(qǐng)人:廣州市香港科大霍英東研究院