农田中大范围的环境信息监测已成为网络应用范围重点之一。针对农田布线不便的特点,ZigBee无线节点网络成为农田信息采集系统的首选,可对其所分布区域内的各种环境和检测对象的信息进行实时的监控[1]。然而,控制下层整个网络状态的核心是上位机ARM处理器,而且上位机与下位机通信大多以串口模式来实现[2-3]。但串口通信模式存在串口传输速率低(波特率双方一致)、传送距离短[4]、数据冗余差(数据校验)以及设计串口协议繁琐(帧格式)等不足。因此本文研究了ZigBee在ARM9内核中的协调器字符驱动,利用I/O传输数据,控制具有协调器驱动的设备在农田任何位置即可组网,以减少协调器的布局,实现方便快捷的动态数据监测。
1 田间监测系统的要求
因监测节点需要零散分布在田间,以监测田间的空气和地表的温度,因此,田间监测系统所需要的技术指标应满足:(1)低功耗。田间采电受到布线限制,因此节点模块的耗电量应尽可能低。(2)低成本。田间需要大量布局节点,投资成本成为广泛实施的制约因素。(3)低复杂度和高可靠性。田间节点开发设备应采用结构简单、采集数据尽可能精确又廉价的设计。综合上述特点,ZigBee可以作为田间无线协议首选。
ZigBee协议是基于IEEE802.15.4标准的低功耗、低速率、低复杂度的双向通信技术。它可工作在国际上免授权的2.4 GHz,具有250 Kb/s的最高数据传输速率和10~75 m的可靠传输距离。ZigBee支持星型、树型、对等和混合型网络拓扑结构,网络中的从设备高达254个。根据如图1所示的节点在网络分布的特点,节点在网络中可实现多条数据链路通信,以选择最佳的路径进行传输,提高了网络通信的可靠性。
协调器是整个网络的核心部分,负责完成整个网络的无线接入和组建,是维持路由器和终端节点之间的数据通信的关键。在田间固定放置协调器节点会浪费大量的资源,若动态地测量田间任意位置的数据,把协调器作为移动设备动态地测量数据则是最好的选择,并且可以减少田间协调器的放置,降低设计难度的成本。
2 嵌入式Linux驱动开发环境的搭建
Linux操作系统环境的搭建如图2所示。
2.1 Bootloader的移植
Bootloader是操作系统内核运行之前运行的一小段程序,它为加载内核提供合适的硬件环境。Bootloader分成Stage1和Stage2两个阶段,具体实现框图如图3所示。