国机集团科学技术研究院有限公司 郑源滨
近年来,随着移动通信网络与物联网技术的不断发展和融合,基于“3G物联网云端平台”的产品方案在不断被提出和实现。其中,使用传感器技术、射频识别技术、网络通信技术、嵌入式开发技术的网络产品,越来越广泛地应用于工业生产、轨道交通、智能家居、环境监控等各个领域中。
3G技术(第三代移动通信)是融合了多媒体告诉通信的新一代移动网络系统技术,其升级的软硬件设备支持高速的数据传输,目前存在四种标准:CDMA2000,WCDMA,TD-SCDMA,WiMAX。
Zigbee是一种短距离、低速率的无线传感器网络技术,基于IEEE 802.15.4无线标准,使用免费的2.4GHz通信频段,具有自诊断、自组织网络、自动路由、网络自愈等功能和优点[1]。
GAE(Google App Engine)是一个Google管理中心用于Web应用程序开发和托管的云平台,支持Google云计算和互联网服务引擎操作,并具有专有数据库,提供稳定免费的网站空间[2]。
为了使得物联网和移动通信网能够结合,发挥信息网络IT技术更大的作用,本文基于“Zigbee传感网”和“3G互联网”技术,以智能仪表无线抄表为背景,设计了一种新型智能电表数据采集系统。并且在上位机服务器中,使用GAE服务引擎开发互联网应用程序,实现服务型网站的基础功能。
智能电表数据采集系统总体设计如图1所示。
智能电表数据采集系统由三层结构组成,第一层使用Zigbee智能电表作为数据终端;第二层使用3G无线集中器网关作为连接设备,集中器利用3G上网方式进入Internet,访问服务器网站。第三层使用服务器网站作为管理中心平台,对集中器进行远程的响应和操作,方便电力公司和其他专业公司的应用。系统主要实现了电表无线自动抄表和信息管理等功能,核心组件由以下三部分构成。
图1 系统总体设计框图
图2 电表数据采集电路
图3 无线zigbee接口电路
图4 集中器总体设计框图
图5 SIM5218模块接口电路
基于Zigbee技术设计的智能电表,兼容了无线抄表的功能。它利用CC2430单片机,接收电能计量模块ADE7755的脉冲量信号,利用Zigbee无线网络通信方式,可将测量数据定时上传,中断响应上位机实时抄表、命令下载执行等功能[3]。
集中器网关的功能在于建立电表与管理系统的异构网络互联。网关通过Zigbee网络从智能电表中采集数据,将采集信息通过3G网络上传至网络服务器,同时应答服务器的相关命令。集中器带有SIM卡接口和人机界面,支持网络运营商提供的其他3G相关业务。
图6 总体程序流程图
图7 集中器通信程序流程图
管理系统网站是上位机服务器管理中心,提供扩展的信息管理业务。它利用Google的软硬件平台,提供良好的运行环境。网站基于Spring MVC框架,使用异步JavaScript和XML技术开发网页,优化用户界面,提高服务器性能。另外,GAE提供丰富的资源如E-Mail接口,方便用户开发扩展功能。
系统硬件设计的核心是Zigbee智能电表和无线3G集中器网关的硬件设计。
相比于传统的支持DL/T645-2007规约RS-485总线型电表,Zigbee智能电表功耗低、布置方便、
克服远程布线带来的缺陷,还兼容抄表器的功能。
Zigbee智能电表以CC2430作为核心控制芯片。CC2430作为支持SoC片上系统解决方案的控制芯片,支持Zigbee基础的2.4GHz ISM波段应用。内置的8051内核可以方便ADE7755单相表计量芯片与51单片机之间的硬件设计的移植,并支持软件的一致性设计。其中,ADE7755电能计量数据采集电路原理如图2所示。
在实现Zigbee基本节点的功能之后,为了使节点能够在多变的环境下稳定通信,需要加大网络节点的通信距离和收发功率。其中,CC2591是一款2.4GHz频段无线应用的高效RF前端,它能够通过功率放大器提升至高达22dBm的输出功率从而增长通信距离以及通信稳定性[4]。由于CC2430与CC2591具有良好的兼容性,两者的连接并不需要复杂的外围电路,电路原理如图3所示。
原理图中,RF_N,RF_P引脚分别与CC2430的对应引脚相连,RXTX引脚与TXRX_SWICTH相连,即实现了传输信号的连接。为了提高高频电路电源的稳定性,在AVDD_PA1,AVDD_PA2,AVDD_LNA放大器的供电电源端口,均并联2个解耦电容,用来高频解耦与低频解耦。BIAS引脚连接4.7k精确偏置电阻,提供参考电流。ANT引脚则外接单端天线。集中器网关的硬件中也采用了该电路作为Zigbee无线网络的接口。
图8 网站与集中器网关通信基本流程
无线3G集中器网关具有Zigbee和3G网络接口,实现局域网和广域网的互联功能。按照模块化设计的方法,总体设计框图如图4所示。
集中器网关的硬件设计主要分以下部分:
(1)选择ARM9微控制器芯片S3C2440,设计Nor FLASH、Nand FLASH、SDRAM、EERPROM和SD卡存储器电路。(2)设计无线Zigbee接口电路,使用CC2430+CC2591芯片,与S3C2440串口连接。集中器的CC2430作为Zigbee网络的主站,控制Zigbee网络节点的数据传输。(3)设计无线3G接口电路,S3C2440以USB的方式连接SIM5218专用模块,可满足无线数据速率的要求。(4)其他外围电路:如外部看门狗、LED指示灯、拨码开关、串行总线、以太网、JTAG调试接口等。
集中器网关选用SIMCom SIM5218模块,它是一款四频GSM/GPRS/EDGE WCDMA和GPS的组合模块,接口丰富。
控制器SC32440通过USB接口与SIM5218进行通信。SIM5218模块接口电路原理如图5所示。原理图将SIM5218芯片的基本功能引脚引出,包括高速USB接口引脚:USB_D+、USB_D-;串行数据接口引脚:UART_TXD、UART_RXD;SIM卡接口引脚:CARD_CLK、CARD_V、CARD_RST、CARD_DATA;以及音频引脚MIC_N、MIC_P、MIC_IN。原理图使用了SIM5218普通I/O引脚,GPIO1:输出信号,控制三极管Q1,导通/关闭LED,越来指示3G通信网络的状态。GPIO3:输入信号,作为控制器的请求信号量REQ_IT,当输入有效时,说明控制器已准备好数据传输。GPIO5:输出信号,作为SIM5218的请求信号量S_RTS,当输出有效时,说明SIM5218已准备好数据传输。
嵌入式软件设计主要包括Zigbee智能电表固件和无线3G集中器网关固件设计。本文重点阐述集中器网关的软件设计。
集中器网关应用了嵌入式Linux操作系统作为开发平台。Linux内核驱动程序主要为USB驱动、USB转串口驱动和PPP拨号驱动程序。由于Linux内核提供了USB core子系统来处理USB设备大部分的复杂工作,主要工作在于驱动程序和USB core的接口设计,以设备的接口提供的功能为基础进行USB驱动程序的编写。在完成函数调用后,将相应的USB驱动提交给设备模型,添加到USB总线的驱动链表里即可。
在完成内核驱动程序设计之后,集中器Linux系统启动3G拨号上网程序,将自身IP注册到运营商服务器其中,之后定时启动socket套接字 通信任务,按照已经注册的IP和端口号,建立基于TCP的可靠性连接,完成与服务器的握手。由于SIM5218自动支持7.2Mbps的下行速度及5.76Mbps的上行速度服务,因此传输速率不是限制系统通信效率的因素。
集中器在与管理系统完成握手连接之后,启动应用程序,之后执行中断处理程序,主要包括:Zigbee串口中断处理服务程序、3G中断处理服务程序和设备中断处理服务程序分别完成,分别完成Zigbee电表节点数据采集、3G数据发送与接收、人机界面操作与显示的功能。应用程序的总体设计框图,如图6所示。Linux环境下中断服务程序设计面向对象,只要确定中断触发条件,并将中断服务程序注册到系统中即可。
3G数据通信由集中器网关发起,以定时器中断的方式进行。每隔一段时间(可设置),集中器开启Zigbee网络,轮询节点电表的电量信息,并与原有的记录进行对比,若发生变化,首先分析其变化范围是否合理,若在计算算法的合理范围内,则将历史记录修改,并启动3G通信数据传输过程。
集中器网关完整的数据通信流程如下图7所示。此为基于客户端的通信程序流程图,其中,网络服务器地址是固定的,由管理系统统一分配。
管理系统网站可以设置在电力公司大楼或小区物业管理中心,除了完成无线抄表功能外,还可以作为一个宣传、加强公司客户沟通的平台。用户可以通过各种终端设备登陆网站获取想要的信息。
基于服务器端的网站基本数据通信流程如下图8所示。通信数据格式采用HTTP报文协议。当集中器定时发起3G数据传输时,网络服务器接收集中器发来的数据,首先进行数据来源验证,其次拆包数据进行校验,若通过则将数据记录在对应的数据实体,并保存至数据库中,最后返回一个状态代码,该状态代码流程基于W3C标准HTTP协议状态代码实现。
服务器系统处理动作如下:(1)当网址不存在、服务器存在错误时,系统结束通信并返回错误状态代码;(2)当服务器对报文数据校验出错、服务器保存出错、报文请求超时,系统要求集中器重传;(3)当集中器成功上传数据并通过验证和校验时,系统结束并返回准确状态代码,数据更新至后台数据库中;(4)当服务器收到报文请求,但身份验证信息不正确,系统报告服务器出错设备ID。
集中器设备采用HTTP协议传输数据,数据内容采用json方式,并存储到HTTP报文中。数据校验采用CRC(Cyclic Redundancy Check,循环冗余校验码)方式,确保数据正确传输。集中器设备使用REST方式访问接口,通过一般Response答复机制,查看代码中异常处理返回值的状态。
本文重点研究了基于Zigbee和3G技术的无线智能电表数据采集系统,研发了Zigbee无线智能电表、具有3G网络接口和Zigbee网络接口的集中器设备及其管理系统网站。该系统结合自定义的智能电表串口接入协议,采用嵌入式Linux操作系统作为开发平台,主要实现集中器数据采集、拨号上网和与网络服务器的3G数据通信功能。
管理系统设计采用Spring技术作为主框架,GAE作为系统引擎;采用Cron技术实现邮件传递,GWT及Spring MVC技术完成界面显示,并使用JCache提高页面访问速度。通过整合GWT和XMPP通信模块,扩展了管理系统的功能,可实现论坛、微博以及在线用户聊天等功能。
[1]李文仲,段朝玉.Zigbee 2006无线网络与无线定位实战[M].北京航空航天大学出版社,2008:5-7.
[2]胡泉,胡金柱,谢芳.基于GAE的专业服务网信息获取技术研究[J].电信科学,2011(12):21-22.
[3]周军,史兴才,徐超.基于ZigBee的多用户智能电表设计[J].电测与仪表,2010(01):57-58.
[4]黄玉立,童玲,田雨.基于CC2531+CC2591的WSN节点通信模块设计[J].单片机与嵌入式系统应用,2011(01):71-72.