农田无线传感器网络及其数据采集方法 【技术领域】
本发明属于无线传感技术领域, 尤其涉及一种农田无线传感器网络及其数据采集方法。 背景技术 农田信息的实时监测是精细农业的基础, 对农田管理有着非常重要的意义。随着 农业信息化的发展, 精准农田数据的实时感知和采集已经成为决定农业信息系统成败的关 键。针对农田数据采集和处理的特殊性, 将无线技术与传感技术相结合是较为理想的解决 方案。目前, 应用在农业中的多传感器数据信息采集仪器有 PM111 植物生理生态监测仪, 能 够检测作物信息和土壤水分、 温度、 环境温湿度等信息。但是每个传感器都有个专门的外 壳, 通过有线方式和电脑相连, 比较庞大不利于携带。
一些研究机构和高校也开发了一些有针对性的无线传感器网络的研究, 但只有很 小一部分能够实现田间实时测量的要求。 而即便这小部分可以在现场进行测量的检测仪器 结构也较复杂, 体积和重量都较大, 通过固定在田间的信息汇聚点转发给上位机。 由于传感 器多采用定时休眠机制, 所以不便于用户再次对异常点信息的按需实时采集。
发明内容 为解决上述技术问题, 本发明提供了一种农田无线传感器网络及与适用于该网 络的数据采集方法, 其特征在于, 所述网络包括集成于农田手持 PDA 中的 ZigBee 协调器、 与 ZigBee 协调器通过无线方式连接的无线传感器节点以及与无线传感器节点相连的传感 器;
所述无线传感器节点内的无线 MCU 模块和传感器接口部分通过不同的电源供电, 所述无线 MCU 模块一直保持工作状态, 仅当其接收到 ZigBee 协调器发送的数据信息采集请 求时才开启传感器供电电源, 否则传感器供电电源关闭。
所述网络为无线传感器节点分配固定节点地址。
所述无线传感器节点之间构成 MESH 型网络拓扑结构。
所述 ZigBee 协调器通过 RS232 串口与农田手持 PDA 3 的核心芯片相连。
所述传感器包括土壤水分传感器、 土壤电导率传感器、 土壤温度传感器以及环境 温湿度传感器。
所述农田无线传感器网络的数据采集方法, 其特征在于, 包括以下步骤 :
步骤 1 : ZigBee 协调器发出数据采集命令 ;
步骤 2 : 相应的无线传感器节点响应命令, 开启传感器的电源, 检测传感器的状 态; 进行传感器初始化, 并准备采集数据 ;
步骤 3 : 无线传感器节点进行数据采集 ;
步骤 4 : 无线传感器节点将采集到的数据发送至 ZigBee 协调器 ;
步骤 5 : 关闭传感器电源 ;
步骤 6 : ZigBee 协调器接收数据。
所述步骤 3 及步骤 4 中无线传感器节点进行数据采集并发送至 ZigBee 协调器的 过程进行多次循环。
本发明的无线传感器节点间采用 ZigBee 数据传输技术自组织为稳定可靠的网状 网, 适用于各种尺度农田的节点数据采集。 通过自定义协调器和节点间的通信协议, 能够将 全部节点的准确数据采集上来, 具有数据量小, 简单灵活, 稳定可靠的特点。 此外, 本发明采 用技术手段固定节点地址, 无论用户需要采集哪个节点的信息, 都可以通过协调器向相应 的准确节点发送命令, 再次采集。 本发明解决了传感器功耗问题, 能够维持传感器正常工作 较长时间。 附图说明
下面结合附图对本发明作详细说明 :
图 1 为根据本发明实施例的农田无线传感器网络的结构 ;
图 2 为无线传感器节点的结构 ;
图 3 为无线传感器节点无线 MCU 模块供电电路图 ;
图 4 为 DS18B20 操作流程图 ; 图 5a 为环境温湿度传感器接口电路 ; 图 5b 为土壤电导率传感器接口电路 ; 图 5c 为土壤温度传感器接口电路 ; 图 6 为 5V 传感器供电电路图 ; 图 7 为 3V 传感器供电电路图 ; 图 8 为传输开始时序 ; 图 9 为环境温湿度传感器的状态转移图 ; 图 10 为复位和存在脉冲 ; 图 11a 为写时序图 ; 图 11b 为读时序图 ; 图 12a 土壤温度采集空闲状态时的流程图 ; 图 12b 土壤温度采集正在转化状态时的流程图 ; 图 13 为 AD 采集状态转移图 ; 图 14 为路由节点的操作流程。 附图标记 : 1- 无线传感器节点、 2-ZigBee 协调器、 3- 农田手持 PDA ; 4- 土壤水分传感器、 5- 土壤电导率传感器、 6- 土壤温度传感器、 7- 环境温湿度传感器。具体实施方式
下面结合具体实施例, 对本发明所提的技术方案作进一步的描述。
如图 1 所示, 根据本发明实施例的农田无线传感器网络包含一个集成于农田手持 PDA 3 中的 ZigBee 协调器 2, 以及五个无线传感器节点 1, 其中 ZigBee 协调器 2 通过 RS232串口与农田手持 PDA 3 的核心芯片相连。每个无线传感器节点 1 又各自连接四个传感器, 分别是土壤水分传感器 4、 土壤电导率传感器 5、 土壤温度传感器 6 以及环境温湿度传感器 7。
无线传感器节点 1 的结构如图 2 所示。 无线传感器节点 1 主要包括无线 MCU 模块、 传感器接口 ( 土壤水分传感器, 土壤温度传感器, 土壤电导率传感器, 环境温湿度传感器 ) 以及传感器供电电源模块。优选地, 本实施例中采用英国 JENNIC 公司生产的内含 32bits 处理器的 JN5139-M01, 该无线 MCU 模块具有强大的组网能力, 可以构成星型、 树型和 MESH 型 网络拓扑结构, 网络节点容量理论上能够达到 65535 个。
无线 MCU 模块和传感器接口部分通过不同的电源供电, 无线 MCU 模块一直处于工 作状态, 以保证其能实时接收 ZigBee 协调器 2 传来的命令, 而传感器供电电源则只在无线 MCU 模块接收到 ZigBee 协调器 2 发送来的数据信息采集请求时才开启, 否则传感器供电电 源关闭。
农田手持 PDA3 安装 Windows Mobile 6.0 操作系统。采集到的数据可以文本文档 的形式存储到 PDA 的 NAND FLASH 中或者 SD 卡中。
ZigBee 协调器 2 负责建立网络, 与多个无线传感器节点 1 进行无线连接, 并对接收 到的每个无线传感器节点的数据进行处理、 显示、 存储。
无线传感器节点 1 的主要功能是响应 ZigBee 协调器 2 的命令, 负责对土壤温度、 土壤水分、 土壤电导率、 环境温度、 环境湿度进行采集和发送, 同时对节点工作进行智能化 管理。无线传感器节点 1 和 ZigBee 协调器 2 的电路除了传感器接口部分不同之外, 其他大 致相同。
无 线 MCU 模 块 采 用 3.7V/1320mAh 的 锂 电 池 供 电, 因 此 需 要 采 用 LDO 芯 片 SP6201-3.0 进行降压, 其供电电路如图 3 所示。
传感器接口
优选地, 土壤水分传感器采用中国农业大学信息与电气工程学院精细农业中心自 主研发的 FD 传感器。其输出信号为模拟量, 经过信号调理后由 JN5139 无线模块自带的 AD 进行转换, 再经过标定可以得到相应的土壤体积含水率。该传感器的输入电压范围为 5-12V, 输出电压范围为 0-1.5V。
优选地, 土壤电导率传感器采用中国农业大学信息与电气工程学院精细农业中心 自主研发的基于电压电流四端法原理的传感器。其输出信号为模拟量, 经过信号调理后由 JN5139 无线模块自带的 AD 进行转换, 再经过标定可以得到相应的土壤电导率值。
优选地, 土壤温度传感器采用 DS18B20 为核心芯片的传感器, DS18B20 是 DALLAS 公司生产的一线式数字温度传感器, JN5139 无线模块只需一根端口线就能与 DS 18B20 通 信, 无需标定。其测量范围为 -10℃~ +85℃时精度为 ±0.4℃, 供电范围为 3-5.5V, 量程 为 -55℃~ +125℃。
DS18B20 数 字 传 感 器 数 据 的 读 取, 根 据 相 应 的 手 册, 通 过 codeblocks 软 件 对 JN5139 无线模块编程实现模拟通信协议。DS18B20 的操作流程图如图 4 所示。
优选地, 环境温湿度传感器采用瑞士盛世瑞恩公司的 SHT10 芯片, 通过二线串行 数字接口和 JN5139 进行通信, 无需标定。在软件设计中, 需要用 DIO 口模拟通信协议。因 为选用的是 SHT10 芯片, 精度范围为 : 相对湿度 ±4.5%, 温度 ±0.5℃。如果想要更高的精度可以换用其它芯片, 如 SHT71, 精度范围达到 : 相对湿度 ±1.8%, 温度 ±0.3℃。供电范 围为 2.4V-5.5V。温度量程为 : -40℃~ 123.8℃, 相对湿度量程为 0 ~ 100% RH。更换更高 精度的 SHTxx 系列的芯片, 其电路和程序可以通用。
芯片 SCK 端用于 JN5139 与环境温湿度传感器之间的通讯同步, DATA 三态门用于 数据的读取。数据传输期间, 在 SCK 时钟高电平时, DATA 必须保持稳定。DATA 数据线上传 输的数据只有在 SCK 为高电平时有效, 此时 DATA 数据线上的电平保持不变。串行数据线需 要一个外部的上拉电阻 10kΩ, 将信号提拉至高电平。在 VCC3V 和地间应该接个 0.1μF 的 滤波去耦电容。SCK、 DATA 分别和 JN5139 的 DIO9、 DIO10 相连, 其中 DATA 通过 10kΩ 上拉 电阻连至 3V。
根据相应的手册, 通过 codeblocks 软件对 JN5139 编程实现传感器数据采集。
相对湿度的转换公式为
式中, SORH 为传感器的输出, 通过公式 (1) 可以将传感器输出转换成真实的相对湿 则相应的转化公式变度值。根据 V3 版本的温度转化系数, 选用 8bit 测量湿度, 忽略 为:
RHlinear = -4.0000+0.6480·SORH(% RH) (2)
在 JN5139 编程时, 由于 JN5139 不支持小数, 因此需要进行数据处理才能得到实际 精度的测量值。本发明中将公式 (2) 变为 :
RHlinear = (-8192+SORH*1327) >> 11(% RH) (3)
若选用 12bit 测量湿度, 相应的转化公式变为 :
RHlinear = -4.0000+0.0405·SORH(% RH) (4)
在 JN5139 编程时, 将公式 (4) 变为 :
RHlinear = (-8192+SORH*83) >> 11(% RH) (5)
而温度可以选用 12bit 或 14bit, 不同供电条件下的温度转化系数不同。
在 3V 供电, 12bit 条件下, 温度的转化公式为 :
T = -39.60+0.04·SOT (6)
在 JN5139 编程时, 公式 (6) 转成 :
T = (-40550+41*SOT) >> 10 (7)
而在 3V 供电, 14bit 条件下, 温度的转化公式为 :
T = -39.60+0.01·SOT (8)
在 JN5139 编程时, 公式 (8) 转成 :
T = (-40550+10*SOT) >> 10 (9)
为了适应在高速和低功率场合的应用, 选择 3V 供电, 8bit 测量湿度, 12bit 测量温 度。各传感器的接口电路分别如图 5a ~ c 所示。
传感器包括 3V 供电的数字传感器和 5V 供电的模拟传感器。由 8.4V 镍氢电池通 过 LM2596 开关电源芯片降压成 5V 供给土壤水分传感器和土壤电导率传感器使用。 5V 传感 器的供电电路如图 6 所示。
5V 传感器电源使能端与 JN5139 的 DIO14 相连, 当 JN5139 不传送传感器信息给协 调器时, 通过控制与 JN5139 相连的 DIO14 的高低电平控制传感器的电源通断。5V 降压成 3V 的电源芯片选用低压差 LDO 芯片 SP6201-3.0。其供电电路如图 7 所 无线传感器节点控制程序 - 环境温湿度传感器采集程序设计 环境温湿度传感器测量时序如表 1 所示。 表1示。
先发出传输开始命令, 紧接着是由三位地址位 (000) 和五位命令位组成的后续命 令, 然后等待数据读取完成, 接着读取高字节数据, 然后是低字节数据, 低位在后。最后是 CRC 校验, 可省略。
TS(Transmission Start) 传输开始时序如图 8 所示。通电后传感器需要 11ms 进 行休眠, 在此之前不允许发送命令。
后续命令由三位地址位 (000) 和五位命令位组成。命令清单如表 2 所示。
表 2 SHT10 命令清单
命令 保留 测量温度 测量相对湿度 读状态寄存器 写状态寄存 保留 软件复位, 复位接口, 清除状态寄存器到默 认值, 在下一命令前等至少 11ms代码 0000x 00011 00101 00111 00110 0101x-1110x 11110SHT1X 会在第 8 个 SCK 时钟的下降沿之后, 将 DATA 下拉为低电平 (ACK 位 )。在第 9 个 SCK 时钟的下降沿之后, 释放 DATA( 恢复高电平 ) 来表示已接收正确的命令。
图 9 为环境温湿度传感器的状态转移图。
- 土壤温度传感器采集程序设计
土壤温度传感器的复位和存在脉冲设计如图 10 所示。复位脉冲, 即为 JN5139 拉 低总线 480μs-960μs, 存在脉冲是土壤温度传感器 (DS18B20) 拉低总线 60-240μs 产生的。 读 / 写时间片如图 11 所示。通过使用时间片来读出、 写入 DS18B20 的数据。时间 片用来处理数据位和指定进行何种操作的命令字。如图 11a 所示, 写 “0” 时, JN5139 拉低 总线 60 ~ 120μs, 写 “1” 时, 电阻上拉 15 ~ 40μs。JN5139 读 “0” 或 “1” 时, 先拉低总线 15μs, 再采样, 读完后释放总线, 由上拉电阻上拉至 VCC。如图 11b 所示, 在采样时, 如果总 线为高电平, 则读出 “1” , 低电平, 则读出 “0” 。因为与 JN5139 的连接采用外部电源方式, 而 不是寄生电源方式, 所以相应的上拉时间可以不用考虑。
相应的采集土壤温度可分为三个状态 : 空闲、 正在转化、 转化完成。其中空闲和正 在转化状态下执行程序的流程框图如图 12 所示, 图 12a 为空闲状态时执行的流程, 图 12b 为正在转化状态下执行的流程。
- 模拟传感器采集程序设计
JN5139 的 ADC 为 12-bit, 输入范围是 0 至参考电压或两倍参考电压。在供电电压 范围为 2.2 ~ 3.6V, 参考电压为 1.2V 时, 输入电压范围为 0 ~ 1.2V 或 0 ~ 2.4V。当输入 电压范围调至输入参考电压的两倍时, 内部电压通过一个电压因子 0.666 降压降至 ADC 输 入电压范围内。因为输入电压为 0 ~ 2.4V, 所以 1bit 的变化近似于 2.4V/212 = 2.4V/4096 = 586uV。 而内部电压由于乘以分压因子 0.666 才变成 ADC 通道输入电压范围内的电压, 所 以通过 ADC 读取的电压应该乘以 1.5, 才是内部电压值。即 :
U 内部= UADC*1.5 = UADC+UADC >> 1
因为 JN5139 不支持小数, 同时其 ADC1-ADC4 通道则没有分压, 因此程序中对数据 进行了移位处理程序。
在 ADC 转化期间, 选择的通道以一个固定周期采样并保持, 这里采样时钟设为 2MHZ, 采样周期设为两个时钟周期, 则转化速率为 ( 采样间隔 *2)+( 时钟周期 *14) = (2*2)+14 = 18 个时钟周期= 18*0.5μs = 9μs。AD 采集流程状态转移如图 13 所示。
节点的软件设计
网络中的节点负责实时与协调器对话和应答, 因而采用路由设计。同时它还负责 采集土壤水分传感器、 土壤电导率传感器、 土壤温度传感器、 环境温湿度传感器、 3V 和 5V 传 感器供电电压、 JN5139 模块供电电压等信息, 并将其传送到协调器。节点上电时, 首先进行 初始化操作, 包括 ZigBee 堆栈的初始化及硬件外设的初始化 ; 接着进行信道查询, 选择合 适的网络等待加入 ; 然后向该网络的协调器发送加入请求 ; 最后, 在收到允许加入的确认 之后加入网络, 读取传感器数据, 发送十次到协调器后, 自动关闭传感器供电电源, 直至接 收到由 PDA 经协调器发送的再次采集命令, 才重新打开相应的传感器供电电源。图 14 为无 线传感器节点的流程图。
在实际工作过程中, 集成在手持农田 PDA 中的协调器通过自定义通讯协议, 向无 线传感器节点发送数据采集命令, 完成各种传感器的信息采集, 并最终将数据保存到 PDA 中, 也可将 PDA 中的数据上传至 PC 机上, 完成大量数据的处理、 存档、 分析和农田决策。以 采集某个特定节点数据的过程为例对无线传感节点工作过程进一步说明。
①协调器发出命令。在农田 PDA 应用系统相关界面中输入 287b01, 该命令即由协 调器传送至相应节点。其中, 287b 为节点短地址, 01 为当前网络标志。节点短地址固化在 每个节点的 ROM 中, 以保证网络中每个节点每次启动时都是确定的而且是可识别的 ; 网络
标志有效地防备了邻近网络的干扰, 使得该网络中的每个节点都能够正确地找到管理网络 的中枢——协调器。
②无线网络节点响应命令。短地址为 287b 的无线网络节点在检测到数据请求信 号, 开启各传感器的电源, 检测各传感器的状态 ; 各传感器作初始化, 准备采集数据。
③节点数据采集。节点无线模块读取各个传感器的数据, 针对不同的传感器作延 时处理, 以保证数据的稳定性和真实性。 采集数据按照定制的方式进行, 依次采集该节点的 各个传感器及其工作状态信息。
④节点数据传送。 节点将采集到的数据发送至协调器后, 重复步骤③→④, 这样循 环 10 次发送数据后, 本次采集数据动作完毕。
⑤关闭传感器电源。节点确认数据发送完成后即关闭该节点上所有传感器的电 源, 以节省能量, 保证传感器尽可能长地正常工作。路由节点继续工作。无线传感器路由节 点继续监测来自协调器的数据采集命令, 以备实时响应。 同时, 它也为其他节点的数据采集 搭建传输通道, 保障整个无线传感器网络的顺利工作。
⑥协调器接收数据。协调器接收来自特定节点的相关信息, 将其上传至农田 PDA 应用系统中显示, 或者保存为 *.txt 文件。表 3 为农田 PDA 接收到的模块信息。
表 3 农田 PDA 接收到的模块信息
以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本领域的技 术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则之内, 所作的任何修 改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。