图4 终端节点流程图
2 网关节点程序设计
网关设备是整个ZigBee网络的核心,一方面担任起网络协调器的角色,另一方面还要完成与Web服务器的通信。
首先系统开始启动,然后初始化所有的硬件和软件,并组织以自己为协调器的网络,初始化网络的深度等网络有关的信息,然后定时发送信标帧。随后进入中断的循环检测和处理过程,查看是否有中断信息的到来,如果是来自网络中某一节点发送的数据中断,则对此数据进行整理,然后发送给GPRS模块,通过GPRS网络发送到远程的服务器端,并且给网络中源节点确认信息。如果这个中断是来自网络中管理信息的中断,例如,一个节点申请加入到该网络当中,则根据整个网络的容量,给出相应的应答信息给此节点。
注意网关模块与远程服务器的通信模式:网关模块要把数据发送到远程的服务器,先是通过串口用AT命令集把数据发到GPRS模块,有GPRS模块完成数据的发送。当GPRS模块接收到数据,会通过串口,以中断的方式告知。通知控制器来处理数据。
3 服务器端接收数据
服务器从指定端口的TCP SOCKET接收电表数据,按照网关设备终端确定的应用层数据格式从各数据报中提取电表数据,最后把接收到的电表数据保存到数据库的DeviceData字段中。服务器数据库选用的是SQL Server2000。
低功耗设计
从两个方面进行了低功耗设计,即本质低功耗设计和控制低功耗设计。
本质低功耗设计是指所使用的电子元器件都采用低功耗类的元器件,其特点是低电压供电。本系统采用的CC2430、MC35i以及MC3485等都采用的是低功耗芯片。
控制低功耗设计是指在系统工作时通过控制各部分的供电来降低系统总功耗。本系统的终端节点在初始化完毕后即进入休眠状态,只有在外中断唤醒它时才进入工作状态,数据发送完毕后又进入休眠状态。网关节点由定时器控制定时发送信标帧进行网络动态管理,接收网络的中断信号进行相应的操作,除此之外的其他时间网关节点也进入休眠态。通过对程序的仔细设计,系统可以有80%以上的时间处于休眠态,因此也极大地降低了功耗。
实验原型系统测试,ZigBee网络通信成功率98.12%,电池在系统测试运行1个月后几乎没有降低,实际使用时可以保证9个月以上的寿命。
结束语
介绍了一种基于ZigBee和GPRS无线网络的远程电力抄表系统。利用ZigBee协议简单、成本低、距离近、动态组网以及GPRS网络瞬间上网、永远在线、按量计费、数据传输量大的特点,以一个楼道或一栋建筑物为单元组建一个无线局域网,再利用ZigBee/GPRS网关转换,通过GPRS网络发送给数据电力公司的抄表中心,较好地解决了现行抄表系统节点众多、布线复杂、维护不便的问题。终端节点和网关节点所选用的CC2430和MC35i均为行业最具代表性的芯片,功能强大、集成度高且均为低功耗芯片,同时在程序中注重了“休眠”低功耗设计。原型系统通信可靠、耗电极低、抗干扰能力强,其推广应用前景十分远大。