摘 要:文章对水表集抄设备的远程升级进行了研究,由于水表集抄设备的应用环境和应用场景比较恶劣,通常安装于用户不易接触的位置使集抄设备的远程升级和维护变得非常困难。针对上述难题,提出一种基于多种网络通信功能的远程升级方法,系统将远程升级服务器部署于云服务器上,用于保存集抄设备的升级程序文件,并且将当前存储的最新升级文件信息通过多种网络方式主动推送给在线的集抄设备进行更新。该方法可以完全自主实现程序更新和维护功能,无须维护人员亲自到达现场操作设备,能够有效缓解在现有技术中对水表集抄设备升级效率低下的问题。
关键词:集抄设备;远程升级;远程通信模块;云服务器
中图分类号: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