3.2 系统结构 系统拓扑结构图本系统由ZigBee 传感网络模块、嵌入式web 服务器模块和web 前端模块组 成。ZigBee 传感网络模块由ZigBee 终端节点和ZigBee 协调器搭建而成,每个 终端节点都是集成了传感器和ZigBee 模块的多功能开发环境,负责完成数据的 采集和传输;嵌入式web 服务器由微控制器Arduino Mega2560 和W5100 网络模 块搭建而成,负责完成传输层与感知层和应用层之间的通信,即通过串口与 ZigBee 传感网络完成数据通信、通过 TCP/IP 协议与信息终端实现远程网络通 信;web 前端模块则搭建在计算机或其他信息终端,以网页的形式提供远程管 理平台,实现实时监测功能。 3.3系统流程 整个系统完成了将数据从感知层传输到应用层的过程:在大棚内的关键位 置布置多个传感节点,通过这些ZigBee 终端节点来获取蔬菜大棚内的空气温湿 度、土壤温湿度、光照强度等环境数据,再由ZigBee 自组织网络进行区域内无 线通信,将终端节点采集到的数据汇聚至ZigBee 协调器,然后通过串口通信将 ZigBee 协调器所接收到的数据发送至服务器,这些数据被解析后会按照一定的 格式存储在服务器上,当服务器收到前端发送来的数据请求时,服务器便会执 行数据查找、数据封装、数据发送等一系列命令,这个过程中,微控制器会执 行主控程序,控制周围硬件和网络接口完成数据查找、数据封装、数据发送等 事件,而当信息终端接收到来自服务器的响应后,前端便会对接收到的相关数 据进行处理并反馈至web 页面,至此,大棚管理人员也就获得了监测信息。 3.2.1 ZigBee 传感网络构建流程 蔬菜大棚内的 ZigBee 传感网络采用网状拓扑结构构建,而一个完整的 ZigBee 网状网络包括网络初始化、节点加入网络两个步骤。其构建流程如图 网络初始化:确定网络协调器。首先判断节点是否是 FFD 节点,接着判断此 FFD 节点是 否在该网络或者其它网络已经存在协调器。通过主动扫描,发送一个信标请求 命令,然后设置一个扫描期限,如果在扫描期限内都没有检测到信标,那么就 认为该FFD 节点没有协调器,此时就可以建立自己的ZigBee 网络,并且作为这 个网络的协调器不断地产生信标并广播出去 [16] 进行信道扫描过程。包括能量扫描和主动扫描:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰;以递增的方式对所测量的能量值 进行信道排序,选择可允许能量水平的信道并标注这些信道是可用信道;接着 进行主动扫描,搜索节点通信半径内的网络信息;这些信息以信标帧的形式在 网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后通过记录的结 果选择一个存在最少ZigBee 网络的信道 [17] 设置网络ID。找到合适的信道后,协调器将为网络选定一个唯一的网络标 识符,这个ID 不能和其他ZigBee 网络冲突,并且不能为广播地址。 节点加入网络:查找网络协调器。节点会主动扫描查找周围网络的协调器,如果在扫描期 限内检测到信标,将会获得协调器的有关信息,这时就向协调器发出连接请求; 在节点选择合适的网络之后,上层将请求mac 层对物理层和mac 层的PIB 属性 进行相应的设置,如果没有检测到,间隔一段时间后,节点重新发起扫描 [18] ZigBee传感网络构建流程图 发送关联请求命令。节点将关联请求命令发送给协调器,协调器收到后立 即回复一个确认帧 ACK,同时向它的上层发送连接指示原语,表示已经收到节 点的连接请求。当协调器的mac 层的上层接收到连接指示原语后,将根据自己 的存储空间和能量决定是否同意此节点的加入请求,然后给节点的 mac 层发送 响应。 等待协调器处理。当节点收到协调器加入请求命令的 ACK 后,节点 mac 等待一段时间,接受协调器的连接响应。在预定的时间内,如果接收到连接响应,它将这个响应向它的上层通告。而协调器给节点的 mac 层发送响应时会设 置一个等待响应时间来等待协调器对其加入请求命令的处理。 发送数据请求命令。如果协调器在响应时间内同意节点加入,那么节点将 产生关联响应命令并将其存储。响应后,节点发送数据请求命令给协调器,协 调器收到后立即回复 ACK,然后将存储的关联响应命令发给节点。如果协调器 没有在响应时间内应答,那么节点将试图从协调器的信标帧中提取关联响应命 令,提取成功后可以入网,否则重新发送请求信息直到入网成功。 回复。节点收到关联响应命令后,立即向协调器回复一个确认帧 ACK,以 确认接收到连接响应命令,此时节点将保存协调器的短地址和扩展地址,并且 通告关联加入成功的信息。 3.2.2 嵌入式Web 服务器控制流程 嵌入式web服务器控制流程图 当服务器程序运行时,首先对硬件和TCP/IP协议栈进行初始化,这时系统 处于等待状态,直到监听到有请求数据帧到达。当网络接口接收完数据帧后开 始执行解析数据帧命令:首先去除帧头,然后判断该数据帧的报文是否为 ARP 包,若是,则进行ARP 数据包处理,若不是,则检查数据报头,看IP 数据包的 报文是否为ICMP 数据包,若是ICMP 数据包,则转到ICMP 数据处理子程序。若 不是ICMP 数据包,就继续进行判断,若为TCP 数据包则转入TCP 数据处理子程 序,若此时即不是ICMP 数据包也不是TCP 数据包,则将该包丢弃。完成数据解 析处理后,判断请求数据中是否有硬件控制命令,若有则执行控制命令并范围 web 数据,若没有,则返回指定页面数据。 详细设计4.1 ZigBee 传感网络的设计与实现 4.1.1 功能特性 ZigBee 是基于 IEEE802.15.4 标准的局域网协议,具有低成本,低功耗, 低速度,高可靠,高安全的特点,实现了自动化和远程控制应用的目标。相较 于蓝牙,Wi-Fi,超宽带等无线网络协议,ZigBee 虽然传输速率较慢但传输容 量却很大,这个特点使其比其他网线网络协议在特殊的环境下更有使用价值。 ZigBee 无线传感节点由ZigBee 模块和传感器组成,本系统使用多个ZigBee 传感节点,采用网状拓扑结构组成了ZigBee 无线传感网络,将其用于感知、采 集和传递信息,特点是自组织、高精度、高容错、灵活、并且成本低。ZigBee 传感网络运用于蔬菜大棚的环境信息监测,能够克服因大棚构造带来的各种限 制,比如大棚内环境相对封闭、需要监测的关键位置较多、监测范围较小、不 适合人为干涉、需长期实时采集数据等,而ZigBee 传感网络由于自身高精度、 低功耗、传输容量大等特点,特别适用于需要长期采集高精度数据的无人区, 并且其自组织的特性能够在网络发生变化或者节点被破坏时快速地完成自我恢 复,重新建立起信息采集通道,为大棚环境监测提供可靠的数据传输。 4.1.2 硬件介绍 本次设计采用TI 公司的以CC2530 芯片为核心设计的ZigBee 传感器节点。 CC2530 是用于 2.4-GHz IEEE 802.15.4、ZigBee RF4CE应用的一个真正的 片上系统(SoC)解决方案,它能够以非常低的材料成本建立强大的网络节点。 CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系 统内可编程闪存,8-KB RAM 和许多其它强大的功能 [19] 。CC2530 有四种不同的 闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的 转换时间短进一步确保了低能源消耗。CC2530 集成单片机、ADC、无线通信模块于一体,很大程度上加强了单片 机与无线通信模块在组合时的可靠程度,同时也减小了节点的体积与质量。它 还支持较新的ZigBee 协议栈,使得运用CC2530 设计出来的节点能够实现更远 距离的通信和更稳定可靠的组网性能。 4.1.3 具体实现 ZigBee传感网络拓扑结构图 ZigBee 支持星型、树型和网状拓扑结构,如图6 所示,本系统中的ZigBee 传感网络采用星型和网状拓扑,其中,ZigBee 协调器负责启动和选择某些关键 网络参数,在网络中增加路由器,通过路由分层策略移动数据和控制信息。 ZigBee 终端节点负责采集温湿度、光照强度、PH 值等数据,实现方法为在 Z-STACK 中添加用户传感器采集功能,并传输到指定设备。 基于Z-STACK 的开发过程如下: 在OSAL系统抽象层的系统事件处理表中添加自定义的任务事件; 协议栈中的OSAL 系统抽象层根据触发的事件找到相应的处理函数对事 件进行处理。 添加自定义任务事件是指在App 目录下的 OSAL_MonitorApp.c 文件中的 osalInitTasks()函数中添加任务初始化函数GenericApp_Init(),这个函数主 要是完成了对该节点的事件任务、端口等初始化,再调用afRegister()函数对 该节点的端口进行注册,这样才能够使用OSAL 系统抽象层提供的接口服务。除 此之外,还需要在 App 目录下的 OSAL_GenericApp.c 文件里的 const pTaskEventHandlerFn tasksArr[] GenericApp_ProcessTask(),当事件被触发时就会来调用这个函数进行相应的处理。 本课题中自定义传感器数据的采集任务包括高精度温湿度的采集、光照强 度的采集等。本次设计选用型号为 SHT10 的高精度温湿度传感器和光敏传感器 分别对环境信息进行采集;SHT10 属于 Sensirion 温湿度传感器家族中的贴片 封装系列,传感器将传感元件和信号处理电路集成在一块微型电路板上,输出 完全标定的数字信号。传感器采用专利的 CMOSens 技术,确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、 一个用能隙材料制成的测温元件,并在同一芯片上,与14 转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、响应迅速、抗干 扰能力强、性价比高等优点;而光敏传感器则直接选用光敏电阻作为光照检测 器件,当感应光强度不同时,光敏探头内的电阻值就会有变化。