本發明專利技術涉及一種遠程批量更新節點固件的方法,所述遠程批量更新節點固件的方法具體包括:網關節點接收上位機發送的固件更新指令和各選中節點的ID;持續下發接收到的固件更新指令和各選中節點的ID,直到監控到在設定時長內選中節點均進入固件更新模式時或超出設定時長時,停止下發固件更新指令和各選中節點的ID;逐包廣播固件更新包,監控固件更新模式下的節點是否成功接收固件更新包,并一旦發現未能成功接收固件更新包的節點,即發送返回工作模式命令給該節點。本發明專利技術的遠程批量更新節點固件的方法,能及時發現節點更新固件失敗,并立即使其返回工作模式。
【技術實現步驟摘要】
本專利技術涉及無線傳感網絡技術,尤其是一種。
技術介紹
融合了傳感器技術、信息處理技術和網絡通信技術的無線傳感網絡由分布在物理空間上大量傳感器節點構成,借助節點內置的不同類型傳感器探測周圍不同環境中包括溫度、濕度、移動目標方向和速度等眾多物質現象。在各種應用場景中,無線傳感器網絡會不可避免地受到來自各個方面的干擾,如移動信號、電磁波等,造成丟包、錯傳等現象,這些現象大多會導致遠程更新節點固件失敗。而現有的,在網關節點下發固件更新指令后,即認為指定的該指令的執行節點進入了固件更新模式,并在每包固件更新包重發設定次數后即認為進入固件更新模式的節點均成功收到固件更新包,直到固件傳輸完成,各節點判斷固件的完整性,如果完整,運行新的固件,否則,請求重傳固件或退出固件更新模式。此方法使得實際未能成功進入固件更新模式的節點和已無法接收到完整固件的節點在整個固件更新過程中都不能回復工作模式正常工作,不利于提高檢測數據的完整性和實時性。
技術實現思路
有鑒于此,本專利技術的主要目的在于提供一種,能及時發現節點更新固件失敗,并立即使其返回工作模式。為達到上述目的,本專利技術的技術方案如下: A、網關節點接收上位機發送的固件更新指令和各選中節點的ID; B、持續下發接收到的固件更新指令和各選中節點的ID,直到監控到在設定時長內選中節點均進入固件更新模式時或超出設定時長時,停止下發固件更新指令和各選中節點的ID ; C、逐包廣播固件更新包,監控固件更新模式下的節點是否成功接收固件更新包,并一旦發現未能成功接收固件更新包的節點,即發送返回工作模式命令給該節點。進一步地,步驟A前在上位機側該方法還包括:上位機通過鍵盤、鼠標或觸屏接收固件更新指令和各選中節點的ID。進一步地,步驟B中,所述持續下發接收到的固件更新指令和各選中節點的ID包括: 網關節點在每個要下發的同步包中寫入固件更新指令和選中的各節點的ID。進一步地,步驟B中,所述監控在設定時長內選中節點均進入固件更新模式或超出設定時長具體為: bl、預先設置節點信息表; b2、接收到上位機發送的固件更新指令和各選中節點的ID后,將所述各選中節點的ID在節點信息表中分別對應的計時字段值均設置為設定時長,并設置秒中斷逐秒遞減所述各計時字段值; b3、接收選中節點回復的狀態包,并采用收到的狀態包攜帶的固件更新模式覆蓋發送該狀態包的節點的ID在節點信息表中對應的模式字段,停止遞減發送該狀態包的節點的ID在節點信息表中所對應的計時字段值; b4、每到更新時隙,遍歷節點信息表中的計時字段值,找出計時字段值大于O的記錄,并判斷找出的記錄中的模式字段值是否均為固件更新模式,如果是,認為在設定時長內選中節點均進入固件更新模式或超出設定時長;否則,認為在設定時長內、且選中節點未均進入固件更新模式。進一步地,所述設定時長的取值范圍為。進一步地,步驟C中,所述監控固件更新模式下的節點是否成功接收固件更新包具體為: 接收固件更新模式下的節點回復的ACK ; 對各節點回復的ACK分別計數; 對最近一次下發的固件更新包的包下發次數等于設定的重發次數時,將當前各節點回復的ACK數目分別與最近一次下發的固件更新包的包序號比較,不相等,則該節點接收該最近一次下發的固件更新包失敗;否則,接收成功。進一步地,步驟C具體為: Cl:分別為固件更新模式下的各節點的ID所對應的包發送序號和存儲模塊編寫次數賦初始值O ; c2:固件更新模式下的各節點的ID對應的包發送序號均加1,對應的包下發次數復位; c3:下發包序號與包發送序號相同的固件更新包,固件更新模式下的各節點的ID所對應的包下發次數加I ; c4:接收固件更新模式下的節點回復的ACK,發送該ACK的節點的ID所對應的存儲模塊編寫次數加I ; c5:到更新時隙時,對于固件更新模式下的每個節點的ID,分別比較該ID對應的包發送序號和其自身對應的存儲模塊編寫次數是否相等,如果各比較結果均為相等,返回步驟c2 ;如果存在不相等的比較結果,執行步驟c6 ; c6:判斷所述不相等的比較結果對應的ID所對應的包下發次數是否小于設定的重發次數,如果是,執行步驟c3 ;否則,返回步驟c7、c8 ; c7:將所述不相等的比較結果所對應的ID和返回工作模式命令寫入下一幀的同步包中,隨同步包下發; c8:確定尚存在未發送的固件更新包,返回步驟c2。進一步地,步驟C還包括:接收節點回復的狀態包,并采用收到的狀態包攜帶的固件更新模式覆蓋發送該狀態包的節點的ID在節點信息表中對應的模式字段。進一步地,所述設定的重發次數的取值范圍為,η為每秒鐘發送的固件更新包數。基于上述,本專利技術提供的,具有以下優點和特點: 1、通過監控節點進入固件更新模式狀況和傳輸固件的狀況,能及時發現更新固件失敗,即,節點未進入固件更新模式或接收固件更新包失敗,并使得節點在固件更新失敗后立即返回工作模式,進而有利于提高檢測數據的完整性和實時性; 2、通過逐秒遞減計時字段值、且僅監控大于O的計時字段值對應的模式字段來監控節點進入固件更新模式狀況,實現簡單,節省計算資源; 3、通過將下發的固件更新包包序號和各節點回復的ACK數目比較,可以跟蹤監控各節點接收固件更新包的狀況,及時發現固件更新失敗; 4、每到更新時隙,確定當前節點進入固件更新模式的狀況,一旦選中節點均進入固件更新模式即停止下發固件更新指令和各選中節點的ID,而非未超出設定時長即一直下發,減少了重復下發次數,節省傳輸資源和更新節點固件所用的時間; 5、每到更新時隙,確定對當前在發送的固件更新包的接收狀況,一旦固件更新模式下的節點均接收到該固件更新包,即開始發送下一包,而非對每包固件更新包均重發設定的重發次數,減少了固件更新包重發次數,節省傳輸資源和更新節點固件所用的時間。【附圖說明】圖1為本專利技術實施例遠程批量更新節點固件方法的流程示意圖。【具體實施方式】具體的,本專利技術實施例遠程批量更新節點固件的流程如圖1所示,包括: 步驟11:網關節點接收上位機發送的固件更新指令和各選中節點的ID ; 步驟12:網關節點持續下發接收到的固件更新指令和各選中節點的ID,直到監控到在設定時長內選中節點均進入固件更新模式時或超出設定時長時,停止下發固件更新指令和各選中節點的ID ; 步驟13:網關節點逐包廣播固件更新包,監控固件更新模式下的節點是否成功接收固件更新包,并一旦發現未能成功接收固件更新包的節點,即發送返回工作模式命令通知該節點返回工作模式。其中, 完成固件傳輸后,在節點側,本專利技術實施例還包括:節點運行該接收完成的固件。步驟11中, 選中節點的ID,是指在上位機上選擇的需要更新固件的節點的ID,所選擇的ID即為所述選中節點的ID,所選擇的ID對應的節點則為選中節點; 這里,在上位機上設置有網絡連接表,來記錄組成無線傳感網的節點狀態,包括:節點的ID字段、節點與網關節點的連接關系字段、節點的固件版本字段等;所述網絡連接表可以通過Web界面在上位機上顯示,操作員采用鍵盤、鼠標或觸屏等將通過網絡連接表選擇的需要更新固件的節點的ID輸入上位機。步驟12中, 所述持續下發固件更新指令和各選中節點的ID具體為: 網關本文檔來自技高網...
【技術保護點】
一種遠程批量更新節點固件的方法,其特征在于,該方法包括:A、網關節點接收上位機發送的固件更新指令和各選中節點的ID;B、持續下發接收到的固件更新指令和各選中節點的ID,直到監控到在設定時長內選中節點均進入固件更新模式時或超出設定時長時,停止下發固件更新指令和各選中節點的ID;C、逐包廣播固件更新包,監控固件更新模式下的節點是否成功接收固件更新包,并一旦發現未能成功接收固件更新包的節點,即發送返回工作模式命令給該節點。
【技術特征摘要】
【專利技術屬性】
技術研發人員:任俊偉,路平,
申請(專利權)人:邁銳數據北京有限公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。