系统的软件设计工作主要包括ZigBee协议栈的实现和传感器节点的程序设计,在ZigBee簇状网络中,协调器和传感器节点在网络中的功能、地位不同,因而普通传感器节点与网络协调器节点的软件设计又有所不同。在本节讲述的系统设计中,使用C语言编写实现了ZigBee协议栈,同时使用处理器自带的程序存储器来存储可配置的MAC 地址、网络表和绑定表。根据ZigBee规范的定义将协议栈在逻辑分为多个层,实现每个层的代码位于一个独立的源文件中,而服务和应用程序接口(API)则在头文件中进行定义。
①传感器节点的程序设计
传感器节点主要负责采集传感器数据并将这些数据传送给网络协调器,同时接收来自网络协调器的数据并根据这些数据进行相关操作。传感器节点上电后首先对MCU 初始化,然后加载SPI驱动来初始化无线通信模块CC2420,初始化成功后扫描所有可用信道来寻找临近的网络协调器,并申请加入此网络。由于传感器节点采用电池供电方式,必须要保证终端节点的低功耗,因此在本节讲述的系统中采用被动唤醒的方式连接网络协调器接收或发送数据。其他时间则转入低功耗模式,这样节点功耗可降到最低。传感器节点的软件流程图如图8.7所示。
②网络协调器的程序设计
作为网络中的协调器,要承担网络的创建与管理、数据传输两个重要功能。网络创建与管理功能主要是指负责组建ZigBee网络,分配网络地址及维护绑定表。网络协调器通过扫描一个空信道来创建一个新网络,维护一个目前连接设备的列表,且支持独立扫描程序,以确保以前的连接设备能够重新加入网络。数据传输功能主要是指充当传感器节点的数据传送给无线网关,或将监测中心服务器的监测指令发送给传感器节点。网络协调器的软件流程图如图8.8所示。(www.xing528.com)
图8.7 传感器节点的软件流程图
无线传感器网络在环境监测、生态监控等领域的应用日益广泛,尤其是在艰苦或恶劣环境条件下,具有传统监测技术不可比拟的优势。本节讲述的系统设计将基于ZigBee的无线传感器网络技术应用于精准农业环境测控,利用无线传感器网络对作物现场信息进行采集,设计了簇状的无线传感器监测网络组网方案,完成了传感器节点的硬件设计和软件设计。这种无线测控的方式相对于传统农业来说,其优点在于网络组建简单,一次性构建成本低,扩展性强,灵活性大,能有效地改善现有的农业生产管理模式,并极大地提高农业生产效率。
图8.8 网络协调器的软件流程图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。