摘 要:文章對水表集抄設(shè)備的遠程升級進行了研究,由于水表集抄設(shè)備的應(yīng)用環(huán)境和應(yīng)用場景比較惡劣,通常安裝于用戶不易接觸的位置使集抄設(shè)備的遠程升級和維護變得非常困難。針對上述難題,提出一種基于多種網(wǎng)絡(luò)通信功能的遠程升級方法,系統(tǒng)將遠程升級服務(wù)器部署于云服務(wù)器上,用于保存集抄設(shè)備的升級程序文件,并且將當前存儲的最新升級文件信息通過多種網(wǎng)絡(luò)方式主動推送給在線的集抄設(shè)備進行更新。該方法可以完全自主實現(xiàn)程序更新和維護功能,無須維護人員親自到達現(xiàn)場操作設(shè)備,能夠有效緩解在現(xiàn)有技術(shù)中對水表集抄設(shè)備升級效率低下的問題。
關(guān)鍵詞:集抄設(shè)備;遠程升級;遠程通信模塊;云服務(wù)器
中圖分類號: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 引 言
現(xiàn)如今,物聯(lián)網(wǎng)技術(shù)正在快速發(fā)展,智能化管理系統(tǒng)在水務(wù)行業(yè)中的應(yīng)用已成為趨勢,隨著城市用水量需求的不斷增加,傳統(tǒng)的人工抄表方式的弊端已經(jīng)越來越明顯,不僅效率低下,而且還容易出現(xiàn)人為錯誤和數(shù)據(jù)偏差,為了提高水表數(shù)據(jù)的準確性和效率,水務(wù)管理部門引入了水表集抄設(shè)備,而水表集抄設(shè)備的遠程升級是當前智能水表管理系統(tǒng)中的重要一環(huán)。
由于水表是計量水流量的器具,其安裝環(huán)境通常是濕度較高的地下井、地下管道等位置,一旦由于設(shè)計失誤或因特定現(xiàn)場環(huán)境干擾而引起軟件出現(xiàn)異常問題,則需要專業(yè)的維護人員去安裝現(xiàn)場,進入井下對集抄設(shè)備逐臺進行程序更新,這樣不僅危險而且難度高、工作量大。針對現(xiàn)有技術(shù)的缺陷,提出一種水表集抄設(shè)備的遠程升級方法和系統(tǒng),本文使用了一種無線通信技術(shù),實現(xiàn)遠程升級集抄設(shè)備內(nèi)部程序的方法,并設(shè)計了相應(yīng)的遠程升級裝置[1-3]。
遠程升級系統(tǒng)可以在不需要維護人員親自到設(shè)備安裝地點操作的情況下,將指定的升級程序替換到需要升級程序的指定水表集抄設(shè)備中,修復(fù)原有功能缺陷或?qū)λ砑O(shè)備進行更新升級,更加方便了水表集抄設(shè)備在安裝現(xiàn)場的升級和維護[4],幫助水務(wù)部門更好地管理用水情況。
1 遠程升級系統(tǒng)總體設(shè)計方案
水表集抄設(shè)備的遠程升級方案主要基于物聯(lián)網(wǎng)技術(shù),通過在水表集抄設(shè)備上安裝傳感器和通信模塊與遠程升級服務(wù)器相連。圖1為遠程升級系統(tǒng)通信完整結(jié)構(gòu),其核心原理是將服務(wù)器當前存儲的最新升級文件信息通過遠程通信模塊主動推送給在線的集抄設(shè)備,遠程升級服務(wù)器可以根據(jù)不同設(shè)備的不同請求指令回復(fù)合適的數(shù)據(jù)信息,在集抄設(shè)備確認升級后,將升級文件信息存放在存儲器中開始進行升級。
集抄設(shè)備的程序包括升級程序和應(yīng)用程序兩段具有獨立運行能力的完整代碼,其中升級程序存放于Flash空間前端,應(yīng)用程序存放于升級程序后端并且兩段程序互不重疊且均可獨立運行,在滿足相應(yīng)的設(shè)定條件之后,兩段程序可以相互跳轉(zhuǎn)。其中升級程序占據(jù)Flash空間相對較小僅包含升級功能,升級程序在正常工作電壓下可擦除和寫入指定地址的代碼片段。應(yīng)用程序占據(jù)Flash空間較大,包含了集抄設(shè)備的完整業(yè)務(wù)功能,在應(yīng)用程序中設(shè)有存儲升級軟件的版本信息的存儲器,能夠?qū)崟r監(jiān)控設(shè)備升級情況,在升級過程中如若出現(xiàn)異常,工作人員能夠及時發(fā)現(xiàn)并進行處理,在故障排出后,遠程升級系統(tǒng)進行初始化,重新進行集抄設(shè)備升級[5]。
當集抄設(shè)備需要上報數(shù)據(jù)時,則按照約定的數(shù)據(jù)格式,將數(shù)據(jù)通過遠程通信模塊傳輸至表計管理平臺,實現(xiàn)集抄設(shè)備的正常抄表上報功能。同時發(fā)送查詢升級文件的指令到遠程升級服務(wù)器中,查詢當前是否需要升級。如果遠程通信模塊所維持的網(wǎng)絡(luò)連接中,有任意IP將數(shù)據(jù)傳輸至遠程通信模塊時,遠程通信模塊按照約定的數(shù)據(jù)格式分別包裝來自不同IP的數(shù)據(jù),并將這些數(shù)直接傳輸給集抄設(shè)備主體。
2 集抄設(shè)備的硬件設(shè)計
2.1 集抄設(shè)備的硬件結(jié)構(gòu)
遠程升級系統(tǒng)主要由遠程升級模塊、遠程升級服務(wù)器和水表集抄設(shè)備三部分組成,其中遠程升級服務(wù)器通過遠程通信模塊與水表集抄設(shè)備連接,能夠同時實現(xiàn)數(shù)據(jù)交互,并且模塊本身是由多種遠程通信方式結(jié)合成的整合模塊,可以兼容多種網(wǎng)絡(luò)模組,如4G模組、NB模組等。使用多種網(wǎng)絡(luò)模組的好處在于,在集抄設(shè)備升級過程中,可以按順序選擇使用網(wǎng)絡(luò),在當前網(wǎng)絡(luò)信號受阻或是出現(xiàn)斷網(wǎng)的問題時,可以及時停止數(shù)據(jù)傳輸,可以選擇另一條網(wǎng)絡(luò)信道重新進行數(shù)據(jù)傳輸。
集抄設(shè)備主體主要由微處理器電路、通信模塊電路、程序接收存儲器電路和液晶顯示電路組成。如圖2所示,集抄設(shè)備主體主控芯片分為BOOT區(qū)、APP區(qū)和下載程序存儲區(qū)三部分。
其中,微處理器電路使用STM32F106作為主控芯片,其優(yōu)點為擁有強大的處理能力。它采用ARM Cortex-M3內(nèi)核,具有高達72 MHz的時鐘頻率和豐富的外圍接口,包括多路ADC、多路定時器、SPI、I2C等,能夠滿足各種復(fù)雜的應(yīng)用需求。相比于傳統(tǒng)的8位或16位微處理器,STM32F106的32位架構(gòu)能夠大幅提升系統(tǒng)的運算速度和數(shù)據(jù)處理能力,從而提高整體性能。
程序接收存儲器電路使用W25Q64芯片保存升級程序,W25Q64閃存芯片擁有出色的讀寫性能。其讀取速度可達104 MHz,寫入速度最高可達66 MHz。這種極高的存儲訪問速度,不僅能夠有效縮短系統(tǒng)的啟動時間,還能確保程序的實時響應(yīng)性,最大限度地提高嵌入式系統(tǒng)的運行效率。程序存儲器主要接收集抄設(shè)備抄收的實時數(shù)據(jù)、日凍結(jié)數(shù)據(jù)和月凍結(jié)數(shù)據(jù)等設(shè)備殘留數(shù)據(jù),除此之外在升級過程中存儲器還會接收服務(wù)器下發(fā)的升級文件信息、升級包、幀序列號等有效信息[6]。
2.2 遠程通信模塊的硬件設(shè)計
遠程通信模塊作為集抄設(shè)備與服務(wù)器之間溝通的橋梁,具備管理并行多IP的功能,在測試過程中,可以將遠程通信模塊設(shè)置為并行雙IP模式,雙IP模式遵循主從關(guān)系,其中主IP配置為集抄設(shè)備的表計管理平臺,用于集抄設(shè)備的正常業(yè)務(wù)數(shù)據(jù)上報,從IP配置為遠程升級服務(wù)器,用于集抄設(shè)備遠程升級更新。而遠程通信模塊可以同時維持兩個IP的網(wǎng)絡(luò)連接,然后與集抄設(shè)備主體約定好特定的數(shù)據(jù)格式,可以實現(xiàn)將不同格式的數(shù)據(jù)傳輸至不同的IP上,例如在集抄設(shè)備上報表計數(shù)據(jù)到表計管理平臺的同時也可以將查詢升級文件的指令發(fā)送到遠程升級服務(wù)器中。遠程通信模塊的最大可并行IP數(shù)量可自行定義,通過自行定義最大并行IP數(shù)量,可以更好地適應(yīng)設(shè)備的實際應(yīng)用場景,提高設(shè)備的通信效率和性能表現(xiàn)。
模塊內(nèi)部由多個部分組成,主要由MCU單元、無線收發(fā)單元、串口通信單元和電源管理單元組成。其中MCU單元主要控制整個遠程通信模塊內(nèi)部不同單元的運行以及對數(shù)據(jù)進行存儲和處理;無線收發(fā)單元負責(zé)將數(shù)字信號轉(zhuǎn)換為無線信號進行傳輸,并完成無線信號的接收和轉(zhuǎn)換為數(shù)字信號;串口通信單元主要用于和服務(wù)器實現(xiàn)通信,完成串口數(shù)據(jù)的接收與傳輸;電源管理單元負責(zé)為遠程通信模塊供電,在多種單元相互協(xié)同工作下能夠保證集抄設(shè)備在不同環(huán)境、不同地點都能夠進行正常工作。
3 集抄設(shè)備的軟件設(shè)計
3.1 集抄設(shè)備程序設(shè)計
集抄設(shè)備遠程升級基本流程如圖3所示,在集抄設(shè)備正常工作情況下,設(shè)備運行應(yīng)用程序開始對數(shù)據(jù)進行采集,并且把采集到的數(shù)據(jù)傳輸至服務(wù)器中,也可以通過接收工作人員發(fā)出的短信來獲取信息。集抄設(shè)備與服務(wù)器之間以全雙工傳輸方式進行數(shù)據(jù)傳輸,終端既可以將現(xiàn)場采集到的數(shù)據(jù)傳輸至服務(wù)器,也可以隨時接收服務(wù)器下發(fā)的命令繼續(xù)工作。
在集抄設(shè)備上電后進行芯片復(fù)位首先會進入升級程序,升級程序首先從存儲器中讀取程序待升級標識,如果程序待升級標識符合升級條件,則繼續(xù)停留在升級程序,服務(wù)器將升級文件信息通過遠程通信模塊發(fā)送給集抄設(shè)備進行后續(xù)的程序升級操作,否則,直接跳轉(zhuǎn)到應(yīng)用程序,開始執(zhí)行設(shè)備的業(yè)務(wù)代碼。在應(yīng)用程序中需要自定義一條升級指令,當該升級指令被觸發(fā)時,應(yīng)用程序則在存儲中設(shè)置程序待升級標識,使之符合升級條件,然后令芯片復(fù)位,進而停留在升級程序中,開始升級。
其中遠程升級系統(tǒng)主要包括以下幾種功能[7]:1)在遠程升級服務(wù)器上可以更改主站的IP和端口;2)能夠在服務(wù)器上選擇不同的通信方式;3)能夠遠程控制水表集抄設(shè)備的工作狀態(tài),能夠有效降低設(shè)備使用的功耗;4)在遠程升級服務(wù)器上能夠連接多個集抄設(shè)備,可以遠程監(jiān)控多個終端設(shè)備的升級情況和完成進度;5)集抄設(shè)備可以周期性的訪問升級IP,查詢升級文件信息。
遠程升級服務(wù)器將升級文件信息傳輸至集抄設(shè)備中,需要將傳輸?shù)奈募畔⒎指畛蓭男问?,以幀形式發(fā)送數(shù)據(jù)能夠?qū)?shù)據(jù)劃分為較小的單元,以便于傳輸和處理,而且將數(shù)據(jù)分割成幀可以提高傳輸效率,并且能夠在數(shù)據(jù)傳輸過程中提供更好的容錯性和可靠性。
下面是確實幀格式和對接收的數(shù)據(jù)進行處理的代碼:
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) //數(shù)據(jù)域在范圍內(nèi)
{
if (add8Sum((uint8_t *) head, len + 1) == head-gt;data[len - 5]) //校驗和正確
{
result = near_msg_handle(head, port); //收到數(shù)據(jù)處理
recv_len -= len + 3; //跳過已處理的幀
index += len + 3;
continue;
}
}
}
recv_len--;
index++;
}
return result;
}
通過將數(shù)據(jù)分割成幀的形式發(fā)送,在遠程升級系統(tǒng)中可以更好地控制和管理數(shù)據(jù)的傳輸過程,從而提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性和安全性。
3.2 集抄設(shè)備遠程升級設(shè)計
由于該方案的網(wǎng)絡(luò)可保持長時間連接,其遠程升級的實時性更高,集抄設(shè)備或遠程升級服務(wù)器均可主動發(fā)起遠程升級流程??蓪崿F(xiàn)任意時間、任意設(shè)備的遠程升級,并且可支持指定設(shè)備的升級、批量設(shè)備的同時升級,可以大幅提高升級的精準性及升級效率[8]。集抄設(shè)備遠程升級基本流程如圖4所示。
維護人員通過服務(wù)器將更新好的升級文件信息下發(fā)至集抄設(shè)備;當集抄設(shè)備對比自身版本低于升級文件版本后發(fā)送升級請求;服務(wù)器收到請求后將升級文件分解成若干個小片段并回復(fù)集抄設(shè)備允許升級應(yīng)答信號;集抄設(shè)備接收應(yīng)答后,解析應(yīng)答信息中包含的升級文件信息并置位待升級條件,再通過復(fù)位集抄設(shè)備主體的主控芯片,停留在升級程序中,準備開始升級;集抄設(shè)備按順序請求升級文件的分片包,服務(wù)器接收分片包后,查詢經(jīng)過處理后的升級文件,并將升級文件中對應(yīng)的分片包下發(fā)給集抄設(shè)備,集抄設(shè)備將分片包存放于下載程序存儲區(qū)后,繼續(xù)請求下一包升級文件的分片包直到所有的升級文件均下載完畢,開始檢驗所有的分片包數(shù)據(jù)直至校驗成功,回復(fù)服務(wù)器升級成功信息,然后擦除原應(yīng)用程序,將下載程序存儲區(qū)的升級文件寫入到原應(yīng)用程序的Flash空間中;如果校驗失敗,停止升級,繼續(xù)執(zhí)行原應(yīng)用程序。
通過將升級文件分解成分片包的形式讓集抄設(shè)備分別請求能夠確保數(shù)據(jù)的完整性和準確性,提高數(shù)據(jù)傳輸效率,同時簡化管理和控制,有助于順利完成設(shè)備升級的過程。在集抄設(shè)備升級成功后,集抄設(shè)備從升級程序跳轉(zhuǎn)至新應(yīng)用程序中,開始運行新的應(yīng)用程序,本次升級完畢。
3.3 遠程升級出現(xiàn)異常情況的處理方式
集抄設(shè)備在正常運行狀態(tài)下可以將采集到的數(shù)據(jù)發(fā)送到服務(wù)器并且可以接收命令和升級文件對設(shè)備進行升級,但是集抄設(shè)備在升級過程中出現(xiàn)了異常狀態(tài)則會非常影響設(shè)備的工作效率。為了避免設(shè)備在運行過程中出現(xiàn)異常情況并且無法及時進行人工處理,本次系統(tǒng)設(shè)計了一套為集抄設(shè)備升級過程中出現(xiàn)異常狀態(tài)時的處理方案,如圖5所示。
集抄設(shè)備在開始上電使用時會先配置遠程通信模塊的并行IP參數(shù),再進行建立遠程通信連接,如果連接失敗,設(shè)備則進入初始化階段并重新開始建立連接,若多次連接直至超出預(yù)設(shè)次數(shù),設(shè)備將直接結(jié)束系統(tǒng)升級進程并進入待機狀態(tài)等待接收服務(wù)器下發(fā)新一輪指令;在遠程通信成功連接后,服務(wù)器主動將升級文件下發(fā)給集抄設(shè)備[9];在集抄設(shè)備接收到升級文件后就會開始進行版本號對比,如果升級文件的版本比設(shè)備本身版本高則開始請求升級,在收到升級指令后服務(wù)器開始校驗存儲的文件并將文件分解成若干個小片段下發(fā)給集抄設(shè)備,如果在文件傳輸中出現(xiàn)一個或多個數(shù)據(jù)片段傳輸異常則重新請求,在多次請求未應(yīng)答后服務(wù)器結(jié)束進程;在文件傳輸成功后集抄設(shè)備校驗服務(wù)器下發(fā)的升級文件,在校驗成功后開始升級,如果升級成功則繼續(xù)執(zhí)行新程序運行,否則清除升級文件,保持原程序等待一段時間,準備重新開始升級直至升級成功。遠程升級對異常情況的處理方案可以使維修人員遠程訪問設(shè)備系統(tǒng),實時診斷問題所在,并通過遠程升級的方式進行軟硬件更新與修復(fù)。這不僅縮短了設(shè)備恢復(fù)正常運行的時間,也大大降低了維修成本,提高了故障響應(yīng)效率。
4 應(yīng)用舉例
集抄設(shè)備遠程升級方式如圖6所示,集抄設(shè)備在升級過程中,可以在遠程升級服務(wù)器軟件平臺上直觀地看到集抄設(shè)備的升級進度,而在本次設(shè)計方案中,集抄設(shè)備的遠程升級方式十分的便利和簡單,只需將升級文件信息上傳至服務(wù)器上再確認升級就可以對多個設(shè)備進行升級,而且平臺上也能夠顯示升級文件的硬件版本和軟件版本等信息,能夠有效幫助用戶及時獲取所需信息[10]。
軟件平臺對集抄設(shè)備的遠程升級設(shè)計如圖7所示,主站工作人員將數(shù)據(jù)上傳至服務(wù)器并通過服務(wù)器下發(fā)至集抄設(shè)備,通過軟件平臺能夠確認終端的通信信道、升級文件的上傳時間和上傳文件等信息,并且在升級過程中,如果出現(xiàn)網(wǎng)絡(luò)異?;蚴墙K端斷電等異常情況使得升級過程中斷,也可以直接顯示在平臺上以供工作人員查看異常原因,從而進一步對設(shè)備升級進行改進,這樣能夠使得升級順利進行,而且還可以測試集抄設(shè)備是否出現(xiàn)故障,能夠有效增加遠程升級的便利性和安全性。
5 結(jié) 論
與現(xiàn)有技術(shù)相比,本次設(shè)計提出一種遠程升級系統(tǒng),將最新的升級程序存儲于遠程升級服務(wù)器中,通過遠程通信模塊與設(shè)備連接,能夠有效處理集抄設(shè)備因環(huán)境問題而導(dǎo)致的升級和維護困難,若集抄設(shè)備安裝至現(xiàn)場后,出現(xiàn)無法憑借原有程序解決的問題,則可以有針對性地在遠程升級服務(wù)器上設(shè)置相應(yīng)的升級條件,通過遠程升級的方式更新集抄設(shè)備的應(yīng)用程序,能夠有效提高設(shè)備升級的效率。而且只需集抄設(shè)備在網(wǎng)絡(luò)狀態(tài)良好的場景下,設(shè)備的維護升級可以不需要人工參與,全程由設(shè)備自動進行無感式設(shè)備維護工作,極大提升了設(shè)備的穩(wěn)定性和維護效率,并且降低維護的成本和難度,具有良好的實用性能。
參考文獻:
[1] 牛軍浩,張少壯,馮怡凱,等.基于GPRS的STM32固件遠程升級系統(tǒng) [J].現(xiàn)代信息科技,2019,3(23):55-57.
[2] 張建華.遠程通信技術(shù)在計算機監(jiān)控系統(tǒng)中的應(yīng)用 [J].數(shù)字技術(shù)與應(yīng)用,2022,40(3):105-107.
[3] 高柱榮,蔣昌茂,劉洪林.物聯(lián)網(wǎng)燃氣表遠程升級的研究與實現(xiàn) [J].自動化儀表,2021,42(5):27-31.
[4] 陳勇,楊桂賢,梁耀輝,等. 一種太陽能控制器的遠程升級方法及遠程升級系統(tǒng):202010531757.9 [P].2020-06-11.
[5] 成強,周月英,周慶民,等.程序可遠程升級的數(shù)據(jù)采集終端的設(shè)計 [J].河南大學(xué)學(xué)報:自然科學(xué)版,2010,40(4):353-356.
[6] 許紅寧,徐松亮.數(shù)據(jù)采集傳輸儀的遠程升級系統(tǒng) [J].信息技術(shù)與信息化,2021(5):199-201.
[7] 郭皎,巨漢基,崔文武,等.基于USB方式的采集終端4G遠程通信模塊設(shè)計 [J].自動化與儀表,2019,34(11):56-58+63.
[8] 童世華,李毅,謝磊.無線傳感器網(wǎng)絡(luò)節(jié)點遠程升級設(shè)計與實現(xiàn) [J].電子器件,2017,40(5):1287-1291.
[9] 羅晶晶.基于4G網(wǎng)絡(luò)的嵌入式設(shè)備遠程升級系統(tǒng)設(shè)計與實現(xiàn) [D].長春:吉林大學(xué),2021.
[10] 汪芳君,童孝波,周荷玲,等.可兼容的嵌入式終端遠程升級方案設(shè)計 [J].單片機與嵌入式系統(tǒng)應(yīng)用,2019,19(9):8-11.
作者簡介:譚龍(1989—),男,漢族,河南西峽人,工程師,本科,研究方向:電子應(yīng)用技術(shù)及開發(fā)。
收稿日期:2024-07-10