高速公路门架数据采集终端设计

2021-03-24 09:56姚杰森彭来湖史伟民
软件工程 2021年3期
关键词:数据采集

姚杰森 彭来湖 史伟民

摘  要:根据国内高速公路不停车收费系统ETC(Electronic Toll Collection)建设要求,本文以嵌入式ARM(Advanced RISC Machine)系统STM32作为开发平台,采用C语言开发一种用于高速公路ETC门架的基于HTTP协议的现场数据采集服务终端,提出总体设计概论,介绍终端系统各模块功能、相关技术及相关工作流程,进行终端系统设计与实现。与常见的数采系统相比,本系统通过HTTP嵌入式移植,利用多Socket连接技术进行以太网传输,以满足ETC系统建设的边缘处理要求,使高速公路ETC门架现场数采更加方便高效。

关键词:HTTP协议;数据采集;Socket连接

中图分类号:TP311.1     文献标识码:A

Abstract: This paper proposes to develop a data acquisition terminal based on HTTP (Hyper Text Transfer Protocol) on expressway ETC (Electronic Toll Collection) gantry site according to construction requirements of domestic expressway toll collection system ETC. The proposed terminal uses embedded ARM (Advanced RISC Machine) system STM32 (SGS-THOMSON Microelectronics 32) as development platform and C programming language. This paper puts forward an overview of overall design, introduces module functions of the terminal system, related technologies and work flow, and carries out design and implementation of the terminal system. Compared with other data acquisition systems, this system uses HTTP embedded transplantation and multiple Socket connection technology for Ethernet transmission, so to meet edge processing requirements of ETC system construction and improve convenience and efficiency of data acquisition on expressway ETC gantry site.

Keywords: HTTP protocol; data acquisition; Socket connection

1   引言(Introduction)

近年来,国内高速公路逐渐取消省界收费站,逐步全面实现电子不停车收费系统。为更好地满足基于高速公路ETC门架供电智能监测系统的户外一体化机柜日常维护要求,各省级高速公路监控中心均先后提出针对高速公路ETC门架现场数据采集的要求[1]。现场数据采集终端作用对象分为现场动力与环境,高速公路ETC门架数据采集终端实时将户外一体化机柜工作运行状况上传到收费站监控中心,便于维护管理。

目前高速公路ETC门架数据采集终端上传数据方式调试工作量大,不便于后续的系统更新维护,局限性大[2]。本文针对此问题提出了一个设计方案,以嵌入式ARM系统为基础,通过嵌入式移植HTTP协议,设计适用于高速公路ETC门架系统的数据采集服务终端,减少调试工作量并加快终端系统的开发速度。该数据采集服务终端能够同时作为客户端与服务端,将现场数据提供到不同管理层面,便于高速公路ETC建设总监控系统进行边缘管理。

2  终端系统总体方案设计(Overall design of terminal system)

ETC门架供电智能监测系统涉及多种设备,包括交换机、防火墙、安全网关、天线接收设备、车道控制器、机柜专用空调、充电模块、不间断电源、智能管理模块等[3,4]。为保证ETC门架供电智能监测系统内设备处于正常工作环境,对系统工作现场动力环境进行监控就显得至关重要。

ETC门架供电智能监测系统总体结构如图1所示。

基于HTTP协议的ETC門架数据采集服务终端可分为三层结构,具体为:数据收发层、解析处理层、网络应用层。数据采集服务终端整体框架如图2所示。

数据收发层包含对各动力与环境设备工作状态及工作参数的采集与控制,并与解析处理层通过系统寄存器进行数据交互;解析处理层对整个系统的数据进行解析处理,接收数据收发层上发的原始数据并进行数据的转码处理,提供统一的数据格式到网络应用层以实现不同的显示需求;网络应用层开启双Socket通道,通过以TCP/IP协议为基础的HTTP协议传输数据包[5]。对于来自本地监控室浏览器的请求,网络应用层将终端系统切换到HTTP-WEB服务端模式,将对应的数据包反馈到浏览器。当与总监控系统通讯时,现场数采终端优先处理现场数据后,将终端系统切换到HTTP客户端模式,与远程总监控系统后台服务器建立连接后,通过HTTP协议主动上传现场实时数据json包,便于总监控系统后台服务器进行汇总管理,满足边缘处理要求。

3   硬件系統设计(Hardware system design)

基于HTTP协议的数据采集服务终端以嵌入式ARM系列的STM32F103VET6芯片为核心,结合高速公路ETC门架供电智能监测系统现场要求对各硬件电路模块协调工作。系统总体硬件结构框图如图3所示。

进行现场数据采集的主要设备以数据参数方式划分,主要分为两类:包括精密空调、不间断电源UPS、蓄电池、温湿度传感器、配电单元等在内的以RS485总线通信的设备,通过终端系统硬件RS485电路传输设备工作与运行传输;包括烟雾传感器、漏水感应器、门锁行程开关等在内的以干接点作为开关量状态指示的设备,通过终端系统硬件开关量输入电路将设备状态信息反馈到终端系统。继电器电路、开关量输出电路用于终端系统对现场声光报警器、照明灯等设备进行智能控制。

数据采集服务终端采用W5500以太网通讯芯片,使网络功能灵活,可操作性大。W5500以太网通讯芯片内部安装相对简单的TCP/IP协议,实现了软件硬化[6],利用内置的多Socket通道功能,支持基于HTTP协议的数据采集服务终端进行不同场合的网络应用。

4   软件系统设计(Software system design)

4.1   数据收发与处理设计

为保证数据采集服务终端对设备数据采集的实时性,将现场数据准确地通过以太网传输到本地监控室与总监控中心,终端系统数据收发模块程序需做到实时响应。对于干接点设备,仅需读取终端系统开关量输入口电平的高低变化情况,即可判断设备是否产生异常报警信号;基于RS485总线通讯的设备则需根据对应设备协议(如MODBUS协议、机械指令协议等)读取设备数据后将正常格式的数据保存。数据收发层以轮询模式发送请求指令读取设备数据,以接收中断模式存储并解析数据。

数据采集服务终端从各设备处采集到的原始数据经过解析处理后,才能封装成相应的网络传输格式。对于干接点设备,直接将对应设备的状态字写入对应寄存器;对于基于总线协议通讯的设备,终端系统根据对应设备通讯协议判断原始数据是否正确后,根据对应设备通讯协议对原始数据进行大端小端调换、ASCII码转换、数学运算等,最后将处理完成的数据存储到对应的系统寄存器,交由网络传输调用。

4.2   HTTP协议嵌入式移植

HTTP协议是一个基于TCP/IP通讯协议来传递数据(HTML文件、图片文件、查询信息等)的协议。对HTTP协议的嵌入式移植即在对TCP/IP通讯协议移植的基础上,以HTTP/1.1协议规定的json格式将数据封装后进行网络传输。

HTTP协议嵌入式移植包括硬件移植与软件移植,本设计的终端系统通过W5500以太网通讯芯片扩展以太网功能,即HTTP协议硬件嵌入式移植本质上是对W5500芯片驱动移植,包括对应GPIO寄存器配置、SPI总线寄存器配置、W5500芯片初始化、打开网络通信Socket通道等[7]。HTTP协议软件嵌入式移植是对网络传输信息的解析与封装,对于接收到的外界数据信息,通过数据分割将数据信息划分成不同数据组,并进行对比判断以确定有效信息;对于将要传输到外界的数据信息,按照HTTP/1.1协议json格式将报文头与报文体打包封装成即将进行传输的json数据包。HTTP协议嵌入式移植与配置流程如图4所示。

4.3   数据采集服务终端作为WEB服务端

当数据采集服务终端作为HTTP-WEB服务端时,即本地监控室浏览器作为HTTP客户端通过URL向WEB服务端发送GET请求,WEB服务端根据收到的请求向客户端发送响应信息,将参数显示和监控功能通过统一网页界面呈现给客户,只需通过运行浏览器来调用分散在各个ETC门架的数据采集服务终端中的WEB服务端信息,即能达到监控现场数据的目的。

嵌入式WEB服务器工作任务如图5所示。

嵌入式WEB服务端以应答方式进行数据传输,主要包含两大模块:WEB服务端接收处理浏览器命令模块和WEB服务端向浏览器发送命令模块。

嵌入式WEB服务端接收处理浏览器命令模块将接收到的请求命令保存到临时存储器中,解析HTTP协议数据包,从中划分出不同数据组以确定此命令类型。嵌入式WEB服务端向浏览器发送命令模块根据不同的命令将对应的数据包反馈到浏览器中[8,9]。命令类型分为三类:静态网页、设备参数、控制操作。若请求命令为静态网页HTML请求命令,响应浏览器请求将已保存在FLASH存储器中的静态网页HTML以HTTP协议格式封装并反馈回浏览器;若请求命令为设备参数命令,读取系统寄存器中保存的设备参数,并以json格式封装后响应上传到浏览器;若请求命令为远程控制操作命令,即执行CGI程序,根据解析HTTP协议数据包得到的CGI程序具体控制操作命令,将对应控制操作信息交付解析处理层处理以满足远程控制要求。

WEB服务端具体工作流程如图6所示。

4.4   数据采集服务终端作为HTTP客户端

当数据采集服务终端作为HTTP客户端时,主要是将设备实时信息作为一种POST请求上传到总监控中心服务器[10]。完整的POST请求包括请求行、请求报文头、空行和请求报文体,请求报文头包含描述本次请求的URL值、时间戳、请求报文体长度、域名等信息;请求报文体为json数据格式,包含所有需要上传的现场数据实时信息。现场数采HTTP服务终端POST请求上传现场数据实时信息后,若收到反馈接收成功信息,即表示本次发送成功,HTTP客户端断开连接并等待下一次发送,否则重新整合POST请求信息并重新发送。

HTTP客户端具体工作流程如图7所示。

4.5   MD5加密处理机制

为确保实时数据传输的安全性,对现场数据实时信息json包进行MD5加密。MD5实际上是一种不可逆加密散列算法(哈希算法),把任意数据转换为定长(或限制长度)数据,再通过加密算法运算得到哈希值标识码[11]。现场数采HTTP服务终端作为HTTP客户端上传现场数据实时信息时,通过哈希算法将请求报文体加密得到对应的哈希值,并置于请求报文头中一并上传到总监控中心服务器。总监控中心服务器接收到POST请求的报文体后,进行MD5加密运算得到哈希值,通过两组哈希值对比,一致则表明本次现场数据实时信息在传输过程中无误[12]。

MD5加密运算首先对原文长度进行处理,使得长度为512×N+448,不足位补零,其后64位为记录原文长度值,组成处理后的信息,长度M为512×(N+1)。初始化MD5哈希值后进行数据循环加工,每512位原文数据分为一组,即循环次数为处理后的信息长度M/512,每组循环内各有64次子循环,F(B,C,D)为四种形式的非线性函数统称,Mj为32位的处理后的数据片段,Ki值为232×abs(sin(i))的整数部分,其中i与j的取值范围从1到16。F(B,C,D)、Mj、Ki三者在64次子循环里每16次循环采用一组。其中。循环加工完成后将四个新哈希值abcd拼接得到MD5哈希值[13]。数据包MD5处理流程图如图8所示。

5   系统实现(System implementation)

通过使用IE浏览器地址栏输入数据采集服务终端IP地址,浏览器通过URL向WEB服务端发送GET请求指令请求网页数据包,WEB服务端接收到相应命令后,向浏览器响应对应数据包。当浏览器对现场设备进行控制操作时,浏览器通过URL向WEB服务端发送POST请求指令,数据采集服务终端接收到请求指令后,对相应的现场设备发送控制指令并将成功与否信息反馈回浏览器。

当数据采集服务终端作为HTTP客户端,现场数据实时信息在等待发送POST请求到总监控中心管理系统时,HTTP客户端与总监控中心断开连接;当需要传输现场数据实时信息时才开始建立连接,随后发送POST请求提交json数据包,在接收到反馈信息后断开连接,等待下一次发送。

浏览器中显示WEB服务端响应网页界面如图9所示。

6   结论(Conclusion)

在物联网时代,根据各地高速公路要求,实现电子不停车收费系统为高速公路建设的重心。本文设计的基于HTTP协议的数据采集服务终端利用多Socket通道,以嵌入式ARM系统为平台的基础,向本地监控室提供监控网页的同时,提供便于汇总处理的实时数据到总监控中心。本终端系统是高速公路ETC总系统边缘处理的一部分。作为边缘端,本终端系统有利于减轻高速公路ETC总系统的数据处理工作量,使高速公路ETC门架供电智能监测系统现场数采与监控更加方便、高效,为高速公路ETC建设提供一种可靠的解决方案。

参考文献(References)

[1] 刘鲲.通信机房动力设备及环境集中监控系统在高速公路行业的应用[J].中国交通信息产业,2006(03):106-107.

[2] 曹辰,张国强,张翠文.电力信通站点动环监控标准化建设的研究[J].通信电源技术,2019,36(04):27-28.

[3] 宋艳,陈少波,郝自飞,等.电力信通站点动环监控标准化建设[J].电子技术与软件工程,2017(20):42-43.

[4] 吴永峰.动力环境集中监控系统在通信基站维护中的应用[J].电子技术与软件工程,2014(15):65.

[5] 梁曦捷.嵌入式Web服务器的设计与實现[D].广州:暨南大学,2006.

[6] 李慧静,李东敬.基于嵌入式Web服务器的远程监控系统设计与实现[J].电脑知识与技术,2018,14(11):249-251.

[7] 何婧媛.基于嵌入式Web服务器的远程控制系统研究[J].信息技术,2017(07):139-141.

[8] 楚卉佳.基于嵌入式web服务器的远程监控系统的研究与应用[D].大连:大连海事大学,2016.

[9] 王振华.HTTP协议(服务端)在嵌入式系统上的实现[D].北京:中国地质大学北京,2006.

[10] 江小平.基于ARM和TCP/IP协议的网络测控系统的研究与设计[D].苏州:苏州大学,2007.

[11] 靳燕.基于MD5算法的文件完整性检测系统分析及设计[J].网络安全技术与应用,2019(11):36-38.

[12] Wang Xijin, Fan Linxiu. The Application Research of MD5 Encryption Algorithm in DCT Digital Watermarking[J]. Physics Procedia, 2012(25):1264-1269.

[13] Ekta Chauhan. AES Encryption and MD5 Hash Function along with Steganography to Make Secure Money Transaction[J]. Research Cell: An International Journal of Engineering Sciences, 2016, 18(1):87-99.

作者简介:

姚杰森(1996-),男,硕士生.研究领域:机械电子工程.

彭来湖(1980-),男,博士,副教授.研究领域:智能装备与嵌入式控制技术,工业互联网通信.

史伟民(1965-),男,博士,教授.研究领域:纺织机械自动控制.

猜你喜欢
数据采集
Web网络大数据分类系统的设计与改进
CAN总线通信技术在电梯监控系统中的应用
基于大型嵌入式系统的污水检测系统设计
基于AVR单片机的SPI接口设计与实现
CS5463在植栽用电子镇流器老化监控系统中的应用
大数据时代高校数据管理的思考
基于开源系统的综合业务数据采集系统的开发研究
大数据时代的管理会计