兼容多种通信方式的智能网关软件设计
2014-07-18桂健蔡声镇谢燕辉
桂健 蔡声镇 谢燕辉
摘 要: 为解决异构测控网络的以太网接入问题,以ARM9处理器S3C2440A和多个功能模块组成硬件平台,在移植嵌入式操作系统Linux和嵌入式数据库SQLite3的基础上,设计了多线程网关服务程序,实现了兼容无线数传、通用串口、WiFi等通信方式的以太网接入。测试结果表明:该网关具有成本低,兼容性强,使用方便等特点。
关键词: 嵌入式操作系统; 网关; ARM9; Linux; SQLite3
中图分类号: TN911?34; TP27 文献标识码: A 文章编号: 1004?373X(2014)11?0007?04
Abstract: In order to solve the problem of Ethernet access in heterogeneous measurement and control network, by taking ARM9 processor S3C2440A and several functional modules to form the hardware platform, a multithread service program for gateway was designed, and Ethernet access compatible with the multiple communication modes such as WSN, universal serial port and WIFI was realized based on transplantion of the embedded operation system Linux and embedded database SQLite3. The test results show that this gateway has the characteristics of low cost, strong compatibility and convenient application.
Keywords: embedded operation system; gateway; ARM9; Linux; SQLite3
0 引 言
在大型分布式测控或监测(以下简称测控)系统中,通常需要根据工程的实际需求,由若干个局部测控网络(以下简称测控网络)构成,每个测控网络分布区域内的现场终端经网关通过Internet与测控中心服务器通信,实现整个系统的集中监测与控制。其中各个测控网络采用的通信技术,往往需要根据实际工程环境、具体的测控对象和运行成本择优确定,有时甚至需要在一个测控网络中采用多种通信方式才能满足用户需求,因此,兼容多种通信方式的网关成为大型测控系统的关键技术之一。本文结合面向集群应用的可再生能源应用工程(如风力发电场、太阳能路灯、集群应用的太阳能中央热水器等)监测与管理系统的实际需求,设计兼容多种通信方式的嵌入式智能网关,实现现场测控终端延伸网络与接入网络的协议转换以及局域与广域的互联,以适应不同测控环境对网关的兼容性需求。
1 嵌入式网关系统设计
网关是整个测控网络中最大的数据汇聚点,用于实现不同网络之间的无缝融合。网关通过多种通信方式采集工程现场测控终端传输回来的数据,并对数据进行必要的解析、重组和存储后,通过以太网上传至高端服务器。本文的嵌入式网关的结构如图1所示,其中选用ARM9微处理器S3C2440A和外部存储器NandFLASH,是为了满足网关的数据处理能力和存储容量需求[1]。考虑到测控现场通信条件和环境条件的多样性,在网关与现场测控网络节点和网关与高端服务器之间,均设计了有线和无线两种通信接口,前者是图1中的串口通信模块和无线数传模块,后者是图1中的以太网模块和GPRS模块,这样用户可根据需求灵活选择通信方式,达到降低构建通信网络的复杂度和施工成本的目的。现场操作应用移动终端通过WiFi与网关交互,使网关在测控现场的安装位置几乎不受限制,结合网关的无线通信接口,对于构建无线数传网络更具灵活性。
2 嵌入式网关软件设计
2.1 嵌入式操作系统移植
Linux是一种性能优良、源码公开的操作系统,具备现代Unix系统所具备的全部特征,其中包括真正的多任务、虚拟内存、共享库、需求装载、内存管理以及支持TCP/IP网络等,被广泛应用于现代嵌入式系统[2]。
一般的Linux系统包括内核、文件系统、用户应用程序和Bootloader等,其中Bootloader是内核加载程序,用于将设备初始化和建立存储空间的映射机制[3]。本文使用Uboot作为引导程序,系统启动后把NandFLASH上的操作系统加载到SDRAM中运行,对Uboot启动程序进行修改并进行交叉编译生成u?boot.bin文件,以适应系统的硬件环境;内核移植使用Linux?2.6.30版本进行配置和裁剪,驱动程序采用模块加载的方式,更利于控制内核的大小,再交叉编译成uImage文件;文件系统采用yaffs2,首先下载busybox,配置后进行交叉编译,安装到本地一个文件夹,将需要用到的C库动态链接文件拷贝到该文件夹下的lib文件夹,然后使用mkyaffs2image工具制作成yaffs2格式映像文件。最后,将生成好的Uboot、内核、文件系统映像文件按照预先设好的分区地址烧写到NandFLASH里,即完成了嵌入式操作系统的移植。
2.2 多线程服务程序
网关主程序是基于多线程的服务器程序设计的。Linux下的线程可以看作是轻量级的进程,相比于多进程服务器,多线程的服务器有很多优点[4]。程序初始化后首先创建关键子线程并分别处理不同的任务,最后进入定时器程序,通过定时控制不同任务的标识位,以达到控制子线程运行周期的目的,软件架构如图2所示。
网关多线程服务程序主要由串口服务线程、网络通信服务线程和数据同步服务线程构成,其中串口服务线程负责与测控网络节点的串口通信,包括接收数据和下发命令;网络通信线程通过socket编程实现移动终端与嵌入式网关的网络通信,对移动终端发出的数据库操作命令进行解析与数据的返回;数据同步线程实现了现场数据同远程高端服务器的数据同步功能,网关通过实时和定时两种方式将嵌入式数据库里的最新数据和未同步的历史数据上传到高端服务器,供因特网用户浏览。
2.3 兼容多种通信方式的方法
由图1可知,网关在测控系统中处于承上启下的地位,是数据传输的中枢节点,需要具备分别与现场测控终端和高端服务器的有线和无线通信功能,同时支持基于移动终端的人机交互功能。上述涉及的通信方式均有成熟的技术支持,下面结合面向集群应用的太阳能热水工程控制与管理系统,重点讨论如何实现多种通信方式的控制与管理方法。
2.3.1 网关与测控网络节点间的通信
在面向集群应用的太阳能热水工程控制和管理系统中,企业端服务器通过分布在各个工程现场的网关对每一个太阳能中央热水器进行测控与管理。其中每个网关通过现场测控网络(含有线和无线)与各个网络节点(这里是太阳能中央热水器)进行通信。
任何设备间的数据通信都必须在物理链路上建立逻辑连接,网关的物理链路包括串行口和以太网接口等,相应的逻辑连接就是串行通信协议和TCP/IP协议等;在逻辑链路的基础上,各种设备再定义自己的应用层协议。网关数据的协议转换是基于各个服务子线程对嵌入式数据库内数据进行协议帧封装与解析的操作,各个网络节点数据封装成测控网络数据传输通信协议数据帧格式后通过现场测控网络传输至网关,网关对数据进行解析处理后将传感网络数据(如温度、水位等)存入数据库SQLite中,实现网关对测控网络通信协议的兼容,测控网络数据传输通信协议数据帧格式如表1所示[5]。当用户进行实时查询或网关定时上传数据操作时,数据同步服务线程从嵌入式数据库中取出数据,对数据进行重新封装,为数据添加TCP头和IP头,构造TCP/IP协议帧格式,再通过以太网传输至高端服务器,从而实现网关对以太网数据传输协议的兼容,接收以太网数据和上传数据过程中TCP/IP协议帧解析与封装流程图如图3所示。
2.3.2 网关与高端服务器间的通信
高端服务器通过Internet(含有线和无线)与每个网关通信,实现控制指令的下传和现场终端数据的汇聚。其中网关与高端服务器间的通信可视为两者之间的数据同步过程,即实现各个网关内的测控数据分别与高端服务器的相应数据一致。在现有的数据同步技术中,DCOM,CORBA或数据库自带的同步程序,都要求两端为同构数据库,而且都受到防火墙的限制,无法使用特定端口进行通信;即使采用Socket通信技术也同样受防火墙限制[6]。本文采用基于XML和HTTP的Web Service数据同步技术,它融合了DCOM,CORBA 和Web等技术的优点,既具有较强的数据处理能力,同时又是一种与语言、平台和对象无关的模型,而且大多数企业都会开放用于HTTP的80端口,因此不受防火墙的限制[7]。由高端服务器提供数据同步Web 服务,网关通过gSOAP软件调用Web服务[8],实现网关和高端服务器数据库的数据同步。
2.3.3 网关与移动终端间的通信
网关使用移动终端进行现场数据的配置和查询,为了便于用户操作,网关通过WiFi连接的方式与移动终端通信,使用socket编程实现网关与移动终端间的通信功能。网关与移动终端间的通信数据采用JSON格式对数据进行组包再送入信道。JSON作为一种轻量级的数据传输格式,易于阅读和编码,且它是JavaScript规范的子集,能被支持JavaScript浏览器的移动终端所解析,这些特性使JSON成为理想的数据交换语言,使网络传输更有效率[9]。
3 系统测试
3.1 测试环境
为了测试网关的功能和在不同环境下的性能,分别把网关安装在实验室和工程现场两种环境进行测试。实验室环境良好,便于布线,网关可以安装在任意房间,通过有线方式进行通信。工程现场环境较差,不便于布线,网关采用无线方式进行通信。
3.2 测试方法
实验室环境有线方式:使用RS 485总线进行数据采集与存储,使用网线直连以太网接口接入Internet进行数据上传与同步;工程现场环境无线方式:使用无线数传模块与测控网络节点通信,使用GPRS接入Internet与高端服务器通信。分别测试网关与测控网络节点距离约为50 m时通过高端服务器向网关每发送2 000个数据包的丢包数和平均延时。
3.3 测试数据
3.3.1 功能测试数据
将嵌入式网关接入工程现场进行测试,网关存储用户的配置数据和底层采集系统上传过来的监测数据,定时上传至企业端服务器。通过高端服务器数据库可以查看当前所有正常运行系统同步上来的数据,如图4所示,同时通过串口工具登陆网关系统也可以查询当前数据,如图5所示。高端服务器数据库和网关内数据库数据相同,为同一时间数据,网关实现了同步数据的功能。
3.3.2 性能测试数据
为验证嵌入式网关在测控系统里的实时性能,对网关在不同环境下两种通信方式的两个指标进行比较:实验室环境有线方式和工程现场环境无线方式的丢包数和平均延时[10]。测试结果如图6,图7所示。
3.4 测试结果分析
图6中,横坐标值依次代表10次实验,每次实验接收数据2 000条。纵坐标代表丢包数,单位是个。可看出每2 000个数据包无线方式平均丢包率为0.7‰,有线方式丢包率为0;图7中无线方式平均延时在9 ms上下浮动,有线方式平均延时在6.5 ms上下;两种方式的丢包率和平均延时都符合应用要求。由比较也可看出有线方式比无线方式的实时性能有明显优势,但无线方式安装方便,便于施工。两种方式各有自己的优势,在实际工程应用中可根据需要进行选择。
4 结 语
本文介绍了一种嵌入式网络网关软件部分的设计与实现方法,使用多种通信方式实现工程现场数据采集和同步上传的功能,解决了实际工程中不同通信网络间的融合问题。经现场测试,该嵌入式网关响应速度快,运行良好,经过适当的修改和完善,可用于智能家居、工业控制等领域,具有很好的应用推广价值。
参考文献
[1] 万书芹,魏斌,陈子逢,等.一种无线传感网网关的设计[J].电子与封装,2012,12(4):38?41.
[2] 杨宗德,吕光宏,刘雍.Linux高级程序设计[M].3版.北京:人民邮电出版社,2012.
[3] 杜廷龙,李国朋,谢青松.基于嵌入式Linux的无线网关设计[J].电脑知识与技术,2011,31(7):7613?7614.
[4] 刘仕筠,盛志伟,黄健.Linux环境并发服务器设计技术研究[J].成都信息工程学院学报,2006,21(5):630?634.
[5] 林霞.集群型太阳能热水工程集控与管理系统的设计[D].福州:福建师范大学,2011.
[6] 徐国华,冯哲.基于Web Service 的异构数据库简易同步系统设计[J].商场现代化,2006(27):129?130.
[7] 丁国峰.基于80端口的内外网数据通信[J].计算机应用与软件,2009,26(5):192?194.
[8] 李永,俞辉.基于Embedded Linux的gSOAP的移植和裁剪[J]. 微型电脑应用,2011,27(1):40?43.
[9] 高静,段会川.JSON数据传输效率研究[J].计算机工程与设计,2011,32(7):2267?2270.
[10] 孙红兵,陈沫,蔡一兵,等.IPv4/IPv6转换网关性能测试方法研究[J].计算机工程,2006,32(24):93?95.
网关多线程服务程序主要由串口服务线程、网络通信服务线程和数据同步服务线程构成,其中串口服务线程负责与测控网络节点的串口通信,包括接收数据和下发命令;网络通信线程通过socket编程实现移动终端与嵌入式网关的网络通信,对移动终端发出的数据库操作命令进行解析与数据的返回;数据同步线程实现了现场数据同远程高端服务器的数据同步功能,网关通过实时和定时两种方式将嵌入式数据库里的最新数据和未同步的历史数据上传到高端服务器,供因特网用户浏览。
2.3 兼容多种通信方式的方法
由图1可知,网关在测控系统中处于承上启下的地位,是数据传输的中枢节点,需要具备分别与现场测控终端和高端服务器的有线和无线通信功能,同时支持基于移动终端的人机交互功能。上述涉及的通信方式均有成熟的技术支持,下面结合面向集群应用的太阳能热水工程控制与管理系统,重点讨论如何实现多种通信方式的控制与管理方法。
2.3.1 网关与测控网络节点间的通信
在面向集群应用的太阳能热水工程控制和管理系统中,企业端服务器通过分布在各个工程现场的网关对每一个太阳能中央热水器进行测控与管理。其中每个网关通过现场测控网络(含有线和无线)与各个网络节点(这里是太阳能中央热水器)进行通信。
任何设备间的数据通信都必须在物理链路上建立逻辑连接,网关的物理链路包括串行口和以太网接口等,相应的逻辑连接就是串行通信协议和TCP/IP协议等;在逻辑链路的基础上,各种设备再定义自己的应用层协议。网关数据的协议转换是基于各个服务子线程对嵌入式数据库内数据进行协议帧封装与解析的操作,各个网络节点数据封装成测控网络数据传输通信协议数据帧格式后通过现场测控网络传输至网关,网关对数据进行解析处理后将传感网络数据(如温度、水位等)存入数据库SQLite中,实现网关对测控网络通信协议的兼容,测控网络数据传输通信协议数据帧格式如表1所示[5]。当用户进行实时查询或网关定时上传数据操作时,数据同步服务线程从嵌入式数据库中取出数据,对数据进行重新封装,为数据添加TCP头和IP头,构造TCP/IP协议帧格式,再通过以太网传输至高端服务器,从而实现网关对以太网数据传输协议的兼容,接收以太网数据和上传数据过程中TCP/IP协议帧解析与封装流程图如图3所示。
2.3.2 网关与高端服务器间的通信
高端服务器通过Internet(含有线和无线)与每个网关通信,实现控制指令的下传和现场终端数据的汇聚。其中网关与高端服务器间的通信可视为两者之间的数据同步过程,即实现各个网关内的测控数据分别与高端服务器的相应数据一致。在现有的数据同步技术中,DCOM,CORBA或数据库自带的同步程序,都要求两端为同构数据库,而且都受到防火墙的限制,无法使用特定端口进行通信;即使采用Socket通信技术也同样受防火墙限制[6]。本文采用基于XML和HTTP的Web Service数据同步技术,它融合了DCOM,CORBA 和Web等技术的优点,既具有较强的数据处理能力,同时又是一种与语言、平台和对象无关的模型,而且大多数企业都会开放用于HTTP的80端口,因此不受防火墙的限制[7]。由高端服务器提供数据同步Web 服务,网关通过gSOAP软件调用Web服务[8],实现网关和高端服务器数据库的数据同步。
2.3.3 网关与移动终端间的通信
网关使用移动终端进行现场数据的配置和查询,为了便于用户操作,网关通过WiFi连接的方式与移动终端通信,使用socket编程实现网关与移动终端间的通信功能。网关与移动终端间的通信数据采用JSON格式对数据进行组包再送入信道。JSON作为一种轻量级的数据传输格式,易于阅读和编码,且它是JavaScript规范的子集,能被支持JavaScript浏览器的移动终端所解析,这些特性使JSON成为理想的数据交换语言,使网络传输更有效率[9]。
3 系统测试
3.1 测试环境
为了测试网关的功能和在不同环境下的性能,分别把网关安装在实验室和工程现场两种环境进行测试。实验室环境良好,便于布线,网关可以安装在任意房间,通过有线方式进行通信。工程现场环境较差,不便于布线,网关采用无线方式进行通信。
3.2 测试方法
实验室环境有线方式:使用RS 485总线进行数据采集与存储,使用网线直连以太网接口接入Internet进行数据上传与同步;工程现场环境无线方式:使用无线数传模块与测控网络节点通信,使用GPRS接入Internet与高端服务器通信。分别测试网关与测控网络节点距离约为50 m时通过高端服务器向网关每发送2 000个数据包的丢包数和平均延时。
3.3 测试数据
3.3.1 功能测试数据
将嵌入式网关接入工程现场进行测试,网关存储用户的配置数据和底层采集系统上传过来的监测数据,定时上传至企业端服务器。通过高端服务器数据库可以查看当前所有正常运行系统同步上来的数据,如图4所示,同时通过串口工具登陆网关系统也可以查询当前数据,如图5所示。高端服务器数据库和网关内数据库数据相同,为同一时间数据,网关实现了同步数据的功能。
3.3.2 性能测试数据
为验证嵌入式网关在测控系统里的实时性能,对网关在不同环境下两种通信方式的两个指标进行比较:实验室环境有线方式和工程现场环境无线方式的丢包数和平均延时[10]。测试结果如图6,图7所示。
3.4 测试结果分析
图6中,横坐标值依次代表10次实验,每次实验接收数据2 000条。纵坐标代表丢包数,单位是个。可看出每2 000个数据包无线方式平均丢包率为0.7‰,有线方式丢包率为0;图7中无线方式平均延时在9 ms上下浮动,有线方式平均延时在6.5 ms上下;两种方式的丢包率和平均延时都符合应用要求。由比较也可看出有线方式比无线方式的实时性能有明显优势,但无线方式安装方便,便于施工。两种方式各有自己的优势,在实际工程应用中可根据需要进行选择。
4 结 语
本文介绍了一种嵌入式网络网关软件部分的设计与实现方法,使用多种通信方式实现工程现场数据采集和同步上传的功能,解决了实际工程中不同通信网络间的融合问题。经现场测试,该嵌入式网关响应速度快,运行良好,经过适当的修改和完善,可用于智能家居、工业控制等领域,具有很好的应用推广价值。
参考文献
[1] 万书芹,魏斌,陈子逢,等.一种无线传感网网关的设计[J].电子与封装,2012,12(4):38?41.
[2] 杨宗德,吕光宏,刘雍.Linux高级程序设计[M].3版.北京:人民邮电出版社,2012.
[3] 杜廷龙,李国朋,谢青松.基于嵌入式Linux的无线网关设计[J].电脑知识与技术,2011,31(7):7613?7614.
[4] 刘仕筠,盛志伟,黄健.Linux环境并发服务器设计技术研究[J].成都信息工程学院学报,2006,21(5):630?634.
[5] 林霞.集群型太阳能热水工程集控与管理系统的设计[D].福州:福建师范大学,2011.
[6] 徐国华,冯哲.基于Web Service 的异构数据库简易同步系统设计[J].商场现代化,2006(27):129?130.
[7] 丁国峰.基于80端口的内外网数据通信[J].计算机应用与软件,2009,26(5):192?194.
[8] 李永,俞辉.基于Embedded Linux的gSOAP的移植和裁剪[J]. 微型电脑应用,2011,27(1):40?43.
[9] 高静,段会川.JSON数据传输效率研究[J].计算机工程与设计,2011,32(7):2267?2270.
[10] 孙红兵,陈沫,蔡一兵,等.IPv4/IPv6转换网关性能测试方法研究[J].计算机工程,2006,32(24):93?95.
网关多线程服务程序主要由串口服务线程、网络通信服务线程和数据同步服务线程构成,其中串口服务线程负责与测控网络节点的串口通信,包括接收数据和下发命令;网络通信线程通过socket编程实现移动终端与嵌入式网关的网络通信,对移动终端发出的数据库操作命令进行解析与数据的返回;数据同步线程实现了现场数据同远程高端服务器的数据同步功能,网关通过实时和定时两种方式将嵌入式数据库里的最新数据和未同步的历史数据上传到高端服务器,供因特网用户浏览。
2.3 兼容多种通信方式的方法
由图1可知,网关在测控系统中处于承上启下的地位,是数据传输的中枢节点,需要具备分别与现场测控终端和高端服务器的有线和无线通信功能,同时支持基于移动终端的人机交互功能。上述涉及的通信方式均有成熟的技术支持,下面结合面向集群应用的太阳能热水工程控制与管理系统,重点讨论如何实现多种通信方式的控制与管理方法。
2.3.1 网关与测控网络节点间的通信
在面向集群应用的太阳能热水工程控制和管理系统中,企业端服务器通过分布在各个工程现场的网关对每一个太阳能中央热水器进行测控与管理。其中每个网关通过现场测控网络(含有线和无线)与各个网络节点(这里是太阳能中央热水器)进行通信。
任何设备间的数据通信都必须在物理链路上建立逻辑连接,网关的物理链路包括串行口和以太网接口等,相应的逻辑连接就是串行通信协议和TCP/IP协议等;在逻辑链路的基础上,各种设备再定义自己的应用层协议。网关数据的协议转换是基于各个服务子线程对嵌入式数据库内数据进行协议帧封装与解析的操作,各个网络节点数据封装成测控网络数据传输通信协议数据帧格式后通过现场测控网络传输至网关,网关对数据进行解析处理后将传感网络数据(如温度、水位等)存入数据库SQLite中,实现网关对测控网络通信协议的兼容,测控网络数据传输通信协议数据帧格式如表1所示[5]。当用户进行实时查询或网关定时上传数据操作时,数据同步服务线程从嵌入式数据库中取出数据,对数据进行重新封装,为数据添加TCP头和IP头,构造TCP/IP协议帧格式,再通过以太网传输至高端服务器,从而实现网关对以太网数据传输协议的兼容,接收以太网数据和上传数据过程中TCP/IP协议帧解析与封装流程图如图3所示。
2.3.2 网关与高端服务器间的通信
高端服务器通过Internet(含有线和无线)与每个网关通信,实现控制指令的下传和现场终端数据的汇聚。其中网关与高端服务器间的通信可视为两者之间的数据同步过程,即实现各个网关内的测控数据分别与高端服务器的相应数据一致。在现有的数据同步技术中,DCOM,CORBA或数据库自带的同步程序,都要求两端为同构数据库,而且都受到防火墙的限制,无法使用特定端口进行通信;即使采用Socket通信技术也同样受防火墙限制[6]。本文采用基于XML和HTTP的Web Service数据同步技术,它融合了DCOM,CORBA 和Web等技术的优点,既具有较强的数据处理能力,同时又是一种与语言、平台和对象无关的模型,而且大多数企业都会开放用于HTTP的80端口,因此不受防火墙的限制[7]。由高端服务器提供数据同步Web 服务,网关通过gSOAP软件调用Web服务[8],实现网关和高端服务器数据库的数据同步。
2.3.3 网关与移动终端间的通信
网关使用移动终端进行现场数据的配置和查询,为了便于用户操作,网关通过WiFi连接的方式与移动终端通信,使用socket编程实现网关与移动终端间的通信功能。网关与移动终端间的通信数据采用JSON格式对数据进行组包再送入信道。JSON作为一种轻量级的数据传输格式,易于阅读和编码,且它是JavaScript规范的子集,能被支持JavaScript浏览器的移动终端所解析,这些特性使JSON成为理想的数据交换语言,使网络传输更有效率[9]。
3 系统测试
3.1 测试环境
为了测试网关的功能和在不同环境下的性能,分别把网关安装在实验室和工程现场两种环境进行测试。实验室环境良好,便于布线,网关可以安装在任意房间,通过有线方式进行通信。工程现场环境较差,不便于布线,网关采用无线方式进行通信。
3.2 测试方法
实验室环境有线方式:使用RS 485总线进行数据采集与存储,使用网线直连以太网接口接入Internet进行数据上传与同步;工程现场环境无线方式:使用无线数传模块与测控网络节点通信,使用GPRS接入Internet与高端服务器通信。分别测试网关与测控网络节点距离约为50 m时通过高端服务器向网关每发送2 000个数据包的丢包数和平均延时。
3.3 测试数据
3.3.1 功能测试数据
将嵌入式网关接入工程现场进行测试,网关存储用户的配置数据和底层采集系统上传过来的监测数据,定时上传至企业端服务器。通过高端服务器数据库可以查看当前所有正常运行系统同步上来的数据,如图4所示,同时通过串口工具登陆网关系统也可以查询当前数据,如图5所示。高端服务器数据库和网关内数据库数据相同,为同一时间数据,网关实现了同步数据的功能。
3.3.2 性能测试数据
为验证嵌入式网关在测控系统里的实时性能,对网关在不同环境下两种通信方式的两个指标进行比较:实验室环境有线方式和工程现场环境无线方式的丢包数和平均延时[10]。测试结果如图6,图7所示。
3.4 测试结果分析
图6中,横坐标值依次代表10次实验,每次实验接收数据2 000条。纵坐标代表丢包数,单位是个。可看出每2 000个数据包无线方式平均丢包率为0.7‰,有线方式丢包率为0;图7中无线方式平均延时在9 ms上下浮动,有线方式平均延时在6.5 ms上下;两种方式的丢包率和平均延时都符合应用要求。由比较也可看出有线方式比无线方式的实时性能有明显优势,但无线方式安装方便,便于施工。两种方式各有自己的优势,在实际工程应用中可根据需要进行选择。
4 结 语
本文介绍了一种嵌入式网络网关软件部分的设计与实现方法,使用多种通信方式实现工程现场数据采集和同步上传的功能,解决了实际工程中不同通信网络间的融合问题。经现场测试,该嵌入式网关响应速度快,运行良好,经过适当的修改和完善,可用于智能家居、工业控制等领域,具有很好的应用推广价值。
参考文献
[1] 万书芹,魏斌,陈子逢,等.一种无线传感网网关的设计[J].电子与封装,2012,12(4):38?41.
[2] 杨宗德,吕光宏,刘雍.Linux高级程序设计[M].3版.北京:人民邮电出版社,2012.
[3] 杜廷龙,李国朋,谢青松.基于嵌入式Linux的无线网关设计[J].电脑知识与技术,2011,31(7):7613?7614.
[4] 刘仕筠,盛志伟,黄健.Linux环境并发服务器设计技术研究[J].成都信息工程学院学报,2006,21(5):630?634.
[5] 林霞.集群型太阳能热水工程集控与管理系统的设计[D].福州:福建师范大学,2011.
[6] 徐国华,冯哲.基于Web Service 的异构数据库简易同步系统设计[J].商场现代化,2006(27):129?130.
[7] 丁国峰.基于80端口的内外网数据通信[J].计算机应用与软件,2009,26(5):192?194.
[8] 李永,俞辉.基于Embedded Linux的gSOAP的移植和裁剪[J]. 微型电脑应用,2011,27(1):40?43.
[9] 高静,段会川.JSON数据传输效率研究[J].计算机工程与设计,2011,32(7):2267?2270.
[10] 孙红兵,陈沫,蔡一兵,等.IPv4/IPv6转换网关性能测试方法研究[J].计算机工程,2006,32(24):93?95.