基于Zigbee的嵌入式自动抄表系统的研究
同有不同的供电方式,在终端设备节点上,电源由两节 1.5V 碱性电池组成,协调器的电源是用USB 供电或者交流电供电。
协调器上有 LCD,可以用来显示收发的命令和节点状态。按键可以用来控制绑定以及 发送命令。在协调器上还有RS-232 串口,与监控主机通讯。如图3 所示。
4 软件设计
软件设计可分为三层:底层硬件驱动程序,协议栈程序,用户应用程序。程序采用模块 化分层结构,不同层之间留出调用接口,采用直接调用程序的方式完成各层之间的通信。
4.1 CC241O 底层硬件驱动程序设计
(1)OLED 显示模块驱动
在 OLED 驱动程序initoled.c 中,首先初始化串行1/0 接口,完成控制OLED 模块的CC241O 的相应端口的配置,再对SSD13O3 控制寄存器进行设置,包括行 列显示控制、起始行等属性的配置,然后调用Smbsend 函数把配置信息发送到 OLED 模块,最后调用清屏函数,流程图如图5 所示。
(2)键盘驱动
键盘驱动程序initKey.。流程图如图6 所示。
图 6 键盘模块初始化流程图
4.2 zigBee 协议栈的使用
要建立一个单独的任务,必须先将 osalTaskAdd()函数所需要的参数条件定义好,这些 参数分别是初始化函数wxLesexamPle--Init,任务处理函数wXLesexamPle--event_foop 和任 务优先级。任务初始化函数的功能是将该任务需要完成的功能的功能部件初始化,在每一个 任务的初始化函数中,必须完成的功能是要得到设置任务的任务ID。任务处理函数是对任 务发生后的事件进行处理,一般包括网络状态的判断(判断设备的类型,是协调器还是路由 器或者是终端设备)和接收到信息后的处理。任务优先级[5]则是按照1 一256 排列,优先级 高的排在前面。
所以协议栈的使用流程是:
4.3zigBee 用户应用程序
根据节点功能的不同,需要设计相应的用户应用程序。如果程序是在协调器上运行,那 么LRW 队 NCOORD 俐ATOR 预定义必须在头文件中定义;如果程序是在路由节点上运行, 那么LRW 队 NROUTER 预定义必须在头文件中定义;如果这两个预定义都没有定义则程序 在RFD 节点上运行。下面本系统中使用的电表采集节点和协调器节点上的用户应用程序的 架构。
(1)协调器节点
对协调器节点来说[6],程序是在它接收到远程控制中心的指令后从组建网络开始的,协 调器节点再向其通信范围内的电表采集节点发送唤醒指令,同时等待新节点的入网请求。系 统启动后,首先初始化所有的硬件和软件,并设定网络参数,然后初始化协议栈,网络建立 成功后即进入中断的循环检测和处理过程。UARTI 是由远程控制中心下达指令引起的中断, 协调器节点通过uARTI 和GPRs 连接,远程控制中心通过GPRS 下达的指令的到来就会引 起UARTI 终端事件的发生。协调器节点对接到的指令进行解析后执行相应的命令。定时器 中断主要用来向远程控制中心发送ZigBee 网络采集到的电表数据,向电表采集节点发送采 集数据指令及更新路由表。
(2)电表采集节点
电表采集节点在程序启动后[7],也是会首先初始化所有硬件和软件,初始化协议栈,并 试图加入网络,如果加入网络不成功,则进入休眠状态,由一个定时器定时唤醒电表采集节 点重新加入网络。如果加入网络成功,则按照其收到的终端类型进行相应的处理。网络中电 表采集节点通过发送KVP 帧与协调器进行数据交互,协调器主要发送采集电量指令和对时 指令到电表采集节点,电表采集节点再根据数据的属性进行相应处理。程序流程图如8 所示。
图 8 电表采集节点程序处理流程图
5 小结
根据自动抄表系统的特性和需求和ZigBee 技术的不断发展,本文研究并设计了基于 ZigBee 技术的自动抄表系统。ZigBee 作为一个成本低、功耗低、组网容易的无线通信技术, 是目前最适合应用于自动抄表系统的短距离无线通信技术。无线传感器网络技术是未来一个重要的研究方向,结合具体的应用情况,研究相关组网技术,路由算法,完成无线传感器网 络各种拓扑结构的构建。
参考文献:
[1].PC datasheethttp://www.dzsc.com/datasheet/PC+_2043275.html.
[2].DEVICE datasheethttp://www.dzsc.com/datasheet/DEVICE+_1397784.html.
[3].TTL datasheethttp://www.dzsc.com/datasheet/TTL+_1174409.html.
[4].RS-232 datasheethttp://www.dzsc.com/datasheet/RS-232+_584855.html.
- 浅析基于MG2455微处理器Zigbee的汽车无线黑匣子实现(08-29)
- 基于ZigBee的城市照明监控系统网关节点的软硬件设计(01-15)
- 基于RSSI测距的定位算法的研究(01-15)
- 基于GPRS和ZigBee的远程油阀控制系统(01-17)
- 基于ZigBee无线网络的嵌入式智能家居监控系统(03-18)
- 设计实例:森林火灾实时监测与预警系统(03-18)