一種物聯網計量儀表遠程固件升級方法及計量儀表系統與流程
2023-10-17 18:19:44
本發明涉及計量儀表技術領域,尤其涉及一種物聯網計量儀表遠程固件升級方法及計量儀表系統。
背景技術:
計量儀表指專門用來測量水、氣、電、熱、油等的壓力、流量、溫度、電能、熱能的精密設備,如:水錶、電錶、燃氣表、熱能表等。裝在用戶家裡的計量儀表,如果需要添加某些新的功能或者修復某些問題,就需要對計量儀表的微處理器進行固件升級。現有計量儀表上傳採集數據和下載固件都使用同一個伺服器,且下載固件都是在同一時間進行的,給伺服器帶來的壓力過大。
技術實現要素:
本發明的目的是克服現有物聯網計量儀表進行遠程固件升級給伺服器帶來壓力過大的技術問題,提供了一種物聯網計量儀表遠程固件升級方法及計量儀表系統,其使用專門的固件伺服器供計量儀表下載固件,安排計量儀表錯峰下載固件,大大降低了伺服器壓力。
為了解決上述問題,本發明採用以下技術方案予以實現:
本發明的一種物聯網計量儀表遠程固件升級方法,包括以下步驟:
計量儀表定期上傳採集數據到採集伺服器;
當採集伺服器中有遠程固件升級任務時,採集伺服器在計量儀表上傳採集數據時將固件伺服器信息和計量儀表被分配的升級時間發送給計量儀表;
計量儀表在升級時間訪問固件伺服器,從固件伺服器下載需要升級的新固件,新固件下載完成後進行固件升級。
在本技術方案中,採集伺服器用於存儲計量儀表上傳的採集數據,管理遠程固件升級任務。固件伺服器存儲固件,供計量儀表下載固件。固件伺服器與採集伺服器分離,減少採集伺服器的壓力,確保採集伺服器的正常運行,不影響物聯網計量儀表的核心功能。
當需要計量儀表升級固件時,在固件伺服器存儲用於升級的新固件,在採集伺服器觸發一個遠程固件升級任務。計量儀表有預設的採集數據上傳周期,當到達採集數據上傳時間時,計量儀表的微處理器啟動遠程通信模塊,計量儀表通過遠程通信模塊與採集伺服器建立通信,上傳採集數據,同時,採集伺服器將固件伺服器信息和該計量儀表被分配的升級時間發送給計量儀表。
當計量儀表的內部時鐘到達升級時間時,計量儀表根據採集伺服器發送的固件伺服器信息訪問固件伺服器,從固件伺服器下載需要升級的新固件。每臺表的升級時間由採集伺服器自動設置,這樣可以有效解決固件伺服器的並發壓力問題。新固件下載完成後,計量儀表進行固件升級。
如果計量儀表在下載固件過程中斷網,固件伺服器記錄計量儀表下載的斷點位置,計量儀表下次連接固件伺服器時從斷點位置開始下載。
作為優選,計量儀表上傳採集數據到採集伺服器時,還將自身信息上傳到採集伺服器。計量儀表自身信息包括計量儀表的ID、狀態、位置等。
作為優選,採集伺服器根據每個計量儀表上傳採集數據的時間給每個計量儀表分配不同的升級時間。越早上傳採集數據的計量儀表分配到的升級時間越早,計量儀表錯峰下載固件,避免給固件伺服器造成太大負荷,有效解決固件伺服器的並發壓力問題。
作為優選,計量儀表從固件伺服器下載的新固件存儲在計量儀表的固件存儲模塊中。
作為優選,計量儀表從固件伺服器下載新固件完成後,在固件存儲模塊設置待升級標誌。
作為優選,所述計量儀表進行固定升級包括以下步驟:判斷固件存儲模塊中是否有待升級標誌,如果有待升級標誌,則讀取並校驗存儲在固件存儲模塊中的新固件,校驗通過後把新固件寫入計量儀表的微處理器,接著讀取並校驗存儲在微處理器中新固件,校驗通過後微處理器運行新固件,同時清除固件存儲模塊中的待升級標誌。
作為優選,計量儀表進行固件升級成功後,發送固件升級成功信息到採集伺服器。
本發明的一種物聯網計量儀表系統,使用上述的一種物聯網計量儀表遠程固件升級方法,包括計量儀表、採集伺服器和固件伺服器,所述計量儀表能夠與採集伺服器、固件伺服器遠程通信。
作為優選,所述計量儀表包括計量儀表基表和控制器,所述控制器包括微處理器、電源模塊、遠程通信模塊、存儲器模塊和採集計量儀表基表數據的數據採集模塊,存儲器模塊包括數據存儲模塊和固件存儲模塊,所述微處理器分別與電源模塊、遠程通信模塊、存儲器模塊和數據採集模塊電連接。
計量儀表基表為水錶、電錶、燃氣表或熱能表的基表。電源模塊給控制器供電。遠程通信模塊是指可通過第三方移動運營商的設備訪問網際網路的模塊,包括但不限於GPRS模塊、CDMA模塊、NB-IOT模塊、4G模塊。數據採集模塊可採集計量儀表基表的計量信息,數據採集模塊包括但不限於幹簧管、霍爾傳感器、光電直讀模塊等。
作為優選,所述控制器還包括人機互動模塊,所述人機互動模塊與微處理器電連接,所述人機互動模塊包括顯示模塊或輸入模塊。人機互動模塊可提示用戶計量儀表升級的狀態,包括但不限於LED、液晶、鍵盤。
本發明的有益效果是:(1)採集伺服器管理遠程固件升級,無需人為幹預。(2)固件伺服器與採集伺服器分離,固件伺服器專門供計量儀表下載固件,減少了採集伺服器的壓力。(3)錯峰下載固件,減少了固件伺服器的壓力。
附圖說明
圖1是本發明的遠程固件升級方法的流程圖;
圖2是本發明的計量儀表升級固件的流程圖;
圖3是本發明的物聯網計量儀表系統的結構示意圖。
圖中:1、採集伺服器,2、固件伺服器,3、人機互動模塊,4、控制器,5、微處理器,6、電源模塊,7、遠程通信模塊,8、存儲器模塊,9、數據採集模塊。
具體實施方式
下面通過實施例,並結合附圖,對本發明的技術方案作進一步具體的說明。
實施例:本實施例的一種物聯網計量儀表遠程固件升級方法,如圖1所示,包括以下步驟:
計量儀表定期上傳採集數據到採集伺服器;
當採集伺服器中有遠程固件升級任務時,採集伺服器在計量儀表上傳採集數據時將固件伺服器信息和計量儀表被分配的升級時間發送給計量儀表;
計量儀表在升級時間訪問固件伺服器,從固件伺服器下載需要升級的新固件存儲在計量儀表的固件存儲模塊中,新固件下載完成後,在固件存儲模塊設置待升級標誌,接著進行固件升級,固件升級成功後,發送固件升級成功信息到採集伺服器。
計量儀表上傳採集數據到採集伺服器時,還將自身信息上傳到採集伺服器。計量儀表自身信息包括計量儀表的ID、狀態、位置等。
採集伺服器用於存儲計量儀表上傳的採集數據,管理遠程固件升級任務。固件伺服器存儲固件,供計量儀表下載固件。固件伺服器與採集伺服器分離,減少採集伺服器的壓力,確保採集伺服器的正常運行,不影響物聯網計量儀表的核心功能。
當需要計量儀表升級固件時,在固件伺服器存儲用於升級的新固件,在採集伺服器觸發一個遠程固件升級任務。計量儀表有預設的採集數據上傳周期,當到達採集數據上傳時間時,計量儀表的微處理器啟動遠程通信模塊,計量儀表通過遠程通信模塊與採集伺服器建立通信,上傳採集數據,同時,採集伺服器將固件伺服器信息和該計量儀表被分配的升級時間發送給計量儀表。
當計量儀表的內部時鐘到達升級時間時,計量儀表根據採集伺服器發送的固件伺服器信息訪問固件伺服器,從固件伺服器下載需要升級的新固件。每臺表的升級時間由採集伺服器自動設置,這樣可以有效解決固件伺服器的並發壓力問題。新固件下載完成後,計量儀表進行固件升級。
如果計量儀表在下載固件過程中斷網,固件伺服器記錄計量儀表下載的斷點位置,計量儀表下次連接固件伺服器時從斷點位置開始下載。
採集伺服器根據每個計量儀表上傳採集數據的時間給每個計量儀表分配不同的升級時間。越早上傳採集數據的計量儀表分配到的升級時間越早,計量儀表錯峰下載固件,避免給固件伺服器造成太大負荷,有效解決固件伺服器的並發壓力問題。
如圖2所示,計量儀表進行固定升級包括以下步驟:
N1:計量儀表自動復位後進入BOOTLOAD程序;
N2:計量儀表BOOTLOAD程序檢測固件存儲模塊中是否有待升級標誌,如果有則執行步驟N3,否則步驟N7;
N3:讀取並校驗固件存儲模塊中的新固件,如果校驗通過則執行步驟N4,否則執行步驟N8;
N4:將新固件寫入計量儀表的微處理器;
N5:讀取並校驗存儲在微處理器中的新固件,如果校驗通過則執行步驟N6,否則執行步驟N9;
N6:微處理器運行新固件,結束;
N7:微處理器運行舊固件,結束;
N8:從固件存儲模塊讀取新固件失敗次數加1,如果失敗次數超過設定值,則執行步驟N7,否則執行步驟N3;
N9:從微處理器讀取新固件失敗次數加1,如果失敗次數超過設定值,則執行步驟N7,否則執行步驟N5。
本實施例的一種物聯網計量儀表系統,使用上述的一種物聯網計量儀表遠程固件升級方法,如圖3所示,包括計量儀表、採集伺服器1和固件伺服器2,計量儀表能夠與採集伺服器1、固件伺服器2遠程通信。
計量儀表包括計量儀表基表和控制器4,控制器4包括微處理器5、電源模塊6、遠程通信模塊7、存儲器模塊8、人機互動模塊3和採集計量儀表基表數據的數據採集模塊9,存儲器模塊8包括數據存儲模塊和固件存儲模塊,微處理器5分別與電源模塊6、遠程通信模塊7、存儲器模塊8、人機互動模塊3和數據採集模塊9電連接,人機互動模塊3包括顯示模塊或輸入模塊。
計量儀表基表為水錶、電錶、燃氣表或熱能表的基表。電源模塊給控制器供電。遠程通信模塊是指可通過第三方移動運營商的設備訪問網際網路的模塊,包括但不限於GPRS模塊、CDMA模塊、NB-IOT模塊、4G模塊。數據採集模塊可採集計量儀表基表的計量信息,數據採集模塊包括但不限於幹簧管、霍爾傳感器、光電直讀模塊等。
人機互動模塊可提示用戶計量儀表升級的狀態,包括但不限於LED、液晶、鍵盤。數據存儲模塊用來保存固件伺服器、採集器伺服器的信息以及計量儀表採集的數據;固件存儲模塊用於存儲待升級的固件及升級狀態的固件,包括但不限於FLASH晶片、EEPROM、SD卡等。電源模塊包括主電源和備用電源,主電源包括鹼性電池,備用電源包括鋰電池。備用電源在主要電源缺失或電量低的情況下,為計量儀表供電。