





摘 要:文章對水表集抄設備的遠程升級進行了研究,由于水表集抄設備的應用環境和應用場景比較惡劣,通常安裝于用戶不易接觸的位置使集抄設備的遠程升級和維護變得非常困難。針對上述難題,提出一種基于多種網絡通信功能的遠程升級方法,系統將遠程升級服務器部署于云服務器上,用于保存集抄設備的升級程序文件,并且將當前存儲的最新升級文件信息通過多種網絡方式主動推送給在線的集抄設備進行更新。該方法可以完全自主實現程序更新和維護功能,無須維護人員親自到達現場操作設備,能夠有效緩解在現有技術中對水表集抄設備升級效率低下的問題。
關鍵詞:集抄設備;遠程升級;遠程通信模塊;云服務器
中圖分類號:TP274;TN91 文獻標識碼:A 文章編號:2096-4706(2025)02-0125-06
Remote Upgrade Method and Remote Upgrade System for Water Meter Centralized Reading Equipment
TAN Long, CHEN Xiangrui, DENG Liang, WANG Fangjun, JIN Kai
(Ningbo Water Meter (Group) Co., Ltd., Ningbo 315032 , China)
Abstract: The paper studies the remote upgrade of water meter centralized reading equipment. Due to the harsh application environment and scenarios of water meter centralized reading equipment, it is usually installed in a location that is not easily accessible to users, making remote upgrade and maintenance of centralized reading equipment very difficult. A remote upgrade method based on multiple network communication functions is proposed to address the above problems. The system deploys the remote upgrade server on a cloud server, which is used to save the upgrade program files of the centralized reading equipment, and actively pushes the latest stored upgrade file information to the online centralized reading equipment for updates through various network methods. This method can fully autonomously implement program update and maintenance functions, without the need for maintenance personnel to personally operate the equipment on site. It can effectively alleviate the problem of low efficiency in upgrading water meter centralized reading equipment in existing technologies.
Keywords: centralized reading equipment; remote upgrade; remote communication module; cloud server
DOI:10.19850/j.cnki.2096-4706.2025.02.023
0 引 言
現如今,物聯網技術正在快速發展,智能化管理系統在水務行業中的應用已成為趨勢,隨著城市用水量需求的不斷增加,傳統的人工抄表方式的弊端已經越來越明顯,不僅效率低下,而且還容易出現人為錯誤和數據偏差,為了提高水表數據的準確性和效率,水務管理部門引入了水表集抄設備,而水表集抄設備的遠程升級是當前智能水表管理系統中的重要一環。
由于水表是計量水流量的器具,其安裝環境通常是濕度較高的地下井、地下管道等位置,一旦由于設計失誤或因特定現場環境干擾而引起軟件出現異常問題,則需要專業的維護人員去安裝現場,進入井下對集抄設備逐臺進行程序更新,這樣不僅危險而且難度高、工作量大。針對現有技術的缺陷,提出一種水表集抄設備的遠程升級方法和系統,本文使用了一種無線通信技術,實現遠程升級集抄設備內部程序的方法,并設計了相應的遠程升級裝置[1-3]。
遠程升級系統可以在不需要維護人員親自到設備安裝地點操作的情況下,將指定的升級程序替換到需要升級程序的指定水表集抄設備中,修復原有功能缺陷或對水表集抄設備進行更新升級,更加方便了水表集抄設備在安裝現場的升級和維護[4],幫助水務部門更好地管理用水情況。
1 遠程升級系統總體設計方案
水表集抄設備的遠程升級方案主要基于物聯網技術,通過在水表集抄設備上安裝傳感器和通信模塊與遠程升級服務器相連。圖1為遠程升級系統通信完整結構,其核心原理是將服務器當前存儲的最新升級文件信息通過遠程通信模塊主動推送給在線的集抄設備,遠程升級服務器可以根據不同設備的不同請求指令回復合適的數據信息,在集抄設備確認升級后,將升級文件信息存放在存儲器中開始進行升級。
集抄設備的程序包括升級程序和應用程序兩段具有獨立運行能力的完整代碼,其中升級程序存放于Flash空間前端,應用程序存放于升級程序后端并且兩段程序互不重疊且均可獨立運行,在滿足相應的設定條件之后,兩段程序可以相互跳轉。其中升級程序占據Flash空間相對較小僅包含升級功能,升級程序在正常工作電壓下可擦除和寫入指定地址的代碼片段。應用程序占據Flash空間較大,包含了集抄設備的完整業務功能,在應用程序中設有存儲升級軟件的版本信息的存儲器,能夠實時監控設備升級情況,在升級過程中如若出現異常,工作人員能夠及時發現并進行處理,在故障排出后,遠程升級系統進行初始化,重新進行集抄設備升級[5]。
當集抄設備需要上報數據時,則按照約定的數據格式,將數據通過遠程通信模塊傳輸至表計管理平臺,實現集抄設備的正常抄表上報功能。同時發送查詢升級文件的指令到遠程升級服務器中,查詢當前是否需要升級。如果遠程通信模塊所維持的網絡連接中,有任意IP將數據傳輸至遠程通信模塊時,遠程通信模塊按照約定的數據格式分別包裝來自不同IP的數據,并將這些數直接傳輸給集抄設備主體。
2 集抄設備的硬件設計
2.1 集抄設備的硬件結構
遠程升級系統主要由遠程升級模塊、遠程升級服務器和水表集抄設備三部分組成,其中遠程升級服務器通過遠程通信模塊與水表集抄設備連接,能夠同時實現數據交互,并且模塊本身是由多種遠程通信方式結合成的整合模塊,可以兼容多種網絡模組,如4G模組、NB模組等。使用多種網絡模組的好處在于,在集抄設備升級過程中,可以按順序選擇使用網絡,在當前網絡信號受阻或是出現斷網的問題時,可以及時停止數據傳輸,可以選擇另一條網絡信道重新進行數據傳輸。
集抄設備主體主要由微處理器電路、通信模塊電路、程序接收存儲器電路和液晶顯示電路組成。如圖2所示,集抄設備主體主控芯片分為BOOT區、APP區和下載程序存儲區三部分。
其中,微處理器電路使用STM32F106作為主控芯片,其優點為擁有強大的處理能力。它采用ARM Cortex-M3內核,具有高達72 MHz的時鐘頻率和豐富的外圍接口,包括多路ADC、多路定時器、SPI、I2C等,能夠滿足各種復雜的應用需求。相比于傳統的8位或16位微處理器,STM32F106的32位架構能夠大幅提升系統的運算速度和數據處理能力,從而提高整體性能。
程序接收存儲器電路使用W25Q64芯片保存升級程序,W25Q64閃存芯片擁有出色的讀寫性能。其讀取速度可達104 MHz,寫入速度最高可達66 MHz。這種極高的存儲訪問速度,不僅能夠有效縮短系統的啟動時間,還能確保程序的實時響應性,最大限度地提高嵌入式系統的運行效率。程序存儲器主要接收集抄設備抄收的實時數據、日凍結數據和月凍結數據等設備殘留數據,除此之外在升級過程中存儲器還會接收服務器下發的升級文件信息、升級包、幀序列號等有效信息[6]。
2.2 遠程通信模塊的硬件設計
遠程通信模塊作為集抄設備與服務器之間溝通的橋梁,具備管理并行多IP的功能,在測試過程中,可以將遠程通信模塊設置為并行雙IP模式,雙IP模式遵循主從關系,其中主IP配置為集抄設備的表計管理平臺,用于集抄設備的正常業務數據上報,從IP配置為遠程升級服務器,用于集抄設備遠程升級更新。而遠程通信模塊可以同時維持兩個IP的網絡連接,然后與集抄設備主體約定好特定的數據格式,可以實現將不同格式的數據傳輸至不同的IP上,例如在集抄設備上報表計數據到表計管理平臺的同時也可以將查詢升級文件的指令發送到遠程升級服務器中。遠程通信模塊的最大可并行IP數量可自行定義,通過自行定義最大并行IP數量,可以更好地適應設備的實際應用場景,提高設備的通信效率和性能表現。
模塊內部由多個部分組成,主要由MCU單元、無線收發單元、串口通信單元和電源管理單元組成。其中MCU單元主要控制整個遠程通信模塊內部不同單元的運行以及對數據進行存儲和處理;無線收發單元負責將數字信號轉換為無線信號進行傳輸,并完成無線信號的接收和轉換為數字信號;串口通信單元主要用于和服務器實現通信,完成串口數據的接收與傳輸;電源管理單元負責為遠程通信模塊供電,在多種單元相互協同工作下能夠保證集抄設備在不同環境、不同地點都能夠進行正常工作。
3 集抄設備的軟件設計
3.1 集抄設備程序設計
集抄設備遠程升級基本流程如圖3所示,在集抄設備正常工作情況下,設備運行應用程序開始對數據進行采集,并且把采集到的數據傳輸至服務器中,也可以通過接收工作人員發出的短信來獲取信息。集抄設備與服務器之間以全雙工傳輸方式進行數據傳輸,終端既可以將現場采集到的數據傳輸至服務器,也可以隨時接收服務器下發的命令繼續工作。
在集抄設備上電后進行芯片復位首先會進入升級程序,升級程序首先從存儲器中讀取程序待升級標識,如果程序待升級標識符合升級條件,則繼續停留在升級程序,服務器將升級文件信息通過遠程通信模塊發送給集抄設備進行后續的程序升級操作,否則,直接跳轉到應用程序,開始執行設備的業務代碼。在應用程序中需要自定義一條升級指令,當該升級指令被觸發時,應用程序則在存儲中設置程序待升級標識,使之符合升級條件,然后令芯片復位,進而停留在升級程序中,開始升級。
其中遠程升級系統主要包括以下幾種功能[7]:1)在遠程升級服務器上可以更改主站的IP和端口;2)能夠在服務器上選擇不同的通信方式;3)能夠遠程控制水表集抄設備的工作狀態,能夠有效降低設備使用的功耗;4)在遠程升級服務器上能夠連接多個集抄設備,可以遠程監控多個終端設備的升級情況和完成進度;5)集抄設備可以周期性的訪問升級IP,查詢升級文件信息。
遠程升級服務器將升級文件信息傳輸至集抄設備中,需要將傳輸的文件信息分割成幀的形式,以幀形式發送數據能夠將數據劃分為較小的單元,以便于傳輸和處理,而且將數據分割成幀可以提高傳輸效率,并且能夠在數據傳輸過程中提供更好的容錯性和可靠性。
下面是確實幀格式和對接收的數據進行處理的代碼:
while (recv_len gt;= sizeof(near_head) + 2)
{
head = (near_head *)amp;rx_buf[index];
if (head-gt;sof1 == 0x69 amp;amp; head-gt;sof2 == 0x69) //起始符正確
{
len = head-gt;len;
if (len + 3 lt;= recv_len amp;amp; head-gt;data[len - 4] == 0x17) //數據域在范圍內
{
if (add8Sum((uint8_t *) head, len + 1) == head-gt;data[len - 5]) //校驗和正確
{
result = near_msg_handle(head, port); //收到數據處理
recv_len -= len + 3; //跳過已處理的幀
index += len + 3;
continue;
}
}
}
recv_len--;
index++;
}
return result;
}
通過將數據分割成幀的形式發送,在遠程升級系統中可以更好地控制和管理數據的傳輸過程,從而提高數據傳輸的穩定性和安全性。
3.2 集抄設備遠程升級設計
由于該方案的網絡可保持長時間連接,其遠程升級的實時性更高,集抄設備或遠程升級服務器均可主動發起遠程升級流程。可實現任意時間、任意設備的遠程升級,并且可支持指定設備的升級、批量設備的同時升級,可以大幅提高升級的精準性及升級效率[8]。集抄設備遠程升級基本流程如圖4所示。
維護人員通過服務器將更新好的升級文件信息下發至集抄設備;當集抄設備對比自身版本低于升級文件版本后發送升級請求;服務器收到請求后將升級文件分解成若干個小片段并回復集抄設備允許升級應答信號;集抄設備接收應答后,解析應答信息中包含的升級文件信息并置位待升級條件,再通過復位集抄設備主體的主控芯片,停留在升級程序中,準備開始升級;集抄設備按順序請求升級文件的分片包,服務器接收分片包后,查詢經過處理后的升級文件,并將升級文件中對應的分片包下發給集抄設備,集抄設備將分片包存放于下載程序存儲區后,繼續請求下一包升級文件的分片包直到所有的升級文件均下載完畢,開始檢驗所有的分片包數據直至校驗成功,回復服務器升級成功信息,然后擦除原應用程序,將下載程序存儲區的升級文件寫入到原應用程序的Flash空間中;如果校驗失敗,停止升級,繼續執行原應用程序。
通過將升級文件分解成分片包的形式讓集抄設備分別請求能夠確保數據的完整性和準確性,提高數據傳輸效率,同時簡化管理和控制,有助于順利完成設備升級的過程。在集抄設備升級成功后,集抄設備從升級程序跳轉至新應用程序中,開始運行新的應用程序,本次升級完畢。
3.3 遠程升級出現異常情況的處理方式
集抄設備在正常運行狀態下可以將采集到的數據發送到服務器并且可以接收命令和升級文件對設備進行升級,但是集抄設備在升級過程中出現了異常狀態則會非常影響設備的工作效率。為了避免設備在運行過程中出現異常情況并且無法及時進行人工處理,本次系統設計了一套為集抄設備升級過程中出現異常狀態時的處理方案,如圖5所示。
集抄設備在開始上電使用時會先配置遠程通信模塊的并行IP參數,再進行建立遠程通信連接,如果連接失敗,設備則進入初始化階段并重新開始建立連接,若多次連接直至超出預設次數,設備將直接結束系統升級進程并進入待機狀態等待接收服務器下發新一輪指令;在遠程通信成功連接后,服務器主動將升級文件下發給集抄設備[9];在集抄設備接收到升級文件后就會開始進行版本號對比,如果升級文件的版本比設備本身版本高則開始請求升級,在收到升級指令后服務器開始校驗存儲的文件并將文件分解成若干個小片段下發給集抄設備,如果在文件傳輸中出現一個或多個數據片段傳輸異常則重新請求,在多次請求未應答后服務器結束進程;在文件傳輸成功后集抄設備校驗服務器下發的升級文件,在校驗成功后開始升級,如果升級成功則繼續執行新程序運行,否則清除升級文件,保持原程序等待一段時間,準備重新開始升級直至升級成功。遠程升級對異常情況的處理方案可以使維修人員遠程訪問設備系統,實時診斷問題所在,并通過遠程升級的方式進行軟硬件更新與修復。這不僅縮短了設備恢復正常運行的時間,也大大降低了維修成本,提高了故障響應效率。
4 應用舉例
集抄設備遠程升級方式如圖6所示,集抄設備在升級過程中,可以在遠程升級服務器軟件平臺上直觀地看到集抄設備的升級進度,而在本次設計方案中,集抄設備的遠程升級方式十分的便利和簡單,只需將升級文件信息上傳至服務器上再確認升級就可以對多個設備進行升級,而且平臺上也能夠顯示升級文件的硬件版本和軟件版本等信息,能夠有效幫助用戶及時獲取所需信息[10]。
軟件平臺對集抄設備的遠程升級設計如圖7所示,主站工作人員將數據上傳至服務器并通過服務器下發至集抄設備,通過軟件平臺能夠確認終端的通信信道、升級文件的上傳時間和上傳文件等信息,并且在升級過程中,如果出現網絡異常或是終端斷電等異常情況使得升級過程中斷,也可以直接顯示在平臺上以供工作人員查看異常原因,從而進一步對設備升級進行改進,這樣能夠使得升級順利進行,而且還可以測試集抄設備是否出現故障,能夠有效增加遠程升級的便利性和安全性。
5 結 論
與現有技術相比,本次設計提出一種遠程升級系統,將最新的升級程序存儲于遠程升級服務器中,通過遠程通信模塊與設備連接,能夠有效處理集抄設備因環境問題而導致的升級和維護困難,若集抄設備安裝至現場后,出現無法憑借原有程序解決的問題,則可以有針對性地在遠程升級服務器上設置相應的升級條件,通過遠程升級的方式更新集抄設備的應用程序,能夠有效提高設備升級的效率。而且只需集抄設備在網絡狀態良好的場景下,設備的維護升級可以不需要人工參與,全程由設備自動進行無感式設備維護工作,極大提升了設備的穩定性和維護效率,并且降低維護的成本和難度,具有良好的實用性能。
參考文獻:
[1] 牛軍浩,張少壯,馮怡凱,等.基于GPRS的STM32固件遠程升級系統 [J].現代信息科技,2019,3(23):55-57.
[2] 張建華.遠程通信技術在計算機監控系統中的應用 [J].數字技術與應用,2022,40(3):105-107.
[3] 高柱榮,蔣昌茂,劉洪林.物聯網燃氣表遠程升級的研究與實現 [J].自動化儀表,2021,42(5):27-31.
[4] 陳勇,楊桂賢,梁耀輝,等. 一種太陽能控制器的遠程升級方法及遠程升級系統:202010531757.9 [P].2020-06-11.
[5] 成強,周月英,周慶民,等.程序可遠程升級的數據采集終端的設計 [J].河南大學學報:自然科學版,2010,40(4):353-356.
[6] 許紅寧,徐松亮.數據采集傳輸儀的遠程升級系統 [J].信息技術與信息化,2021(5):199-201.
[7] 郭皎,巨漢基,崔文武,等.基于USB方式的采集終端4G遠程通信模塊設計 [J].自動化與儀表,2019,34(11):56-58+63.
[8] 童世華,李毅,謝磊.無線傳感器網絡節點遠程升級設計與實現 [J].電子器件,2017,40(5):1287-1291.
[9] 羅晶晶.基于4G網絡的嵌入式設備遠程升級系統設計與實現 [D].長春:吉林大學,2021.
[10] 汪芳君,童孝波,周荷玲,等.可兼容的嵌入式終端遠程升級方案設計 [J].單片機與嵌入式系統應用,2019,19(9):8-11.
作者簡介:譚龍(1989—),男,漢族,河南西峽人,工程師,本科,研究方向:電子應用技術及開發。
收稿日期:2024-07-10