APP下载

基于NRF24L01的簇状农业环境信息采集网络设计

2020-04-21杨林杰张斌陈婷婷

数字技术与应用 2020年1期
关键词:温湿度数据包成员

杨林杰 张斌 陈婷婷

摘要:针对农业物联网系统中环境信息检测采集的需求,设计了一种无线传感器网络。设计基于NRF24L01无线射频收发芯片,采用STM32C8T6单片机作为控制核心,实现了温湿度、光照度数据的采集和簇状多跳无线网络传输。描述了硬件电路的特点及实现,详细介绍了簇状网络的实现思路。相较于NRF24L01原有的一对六通信功能,通信距离更远、可实现的网络规模更大、能采集更大范围的农业环境信息。

关键词:农业;物联网;NRF24L01无线通信;传感器;STM32;簇状网络

中图分类号:TP368.12 文献标识码:A 文章编号:1007-9416(2020)01-0124-03

0 引言

我国目前的农业生产存在劳动生产率普遍低下、人均农业资源缺乏和农业资源浪费严重等问题,农业物联网技术可以实现生产的精准化管理、智能化控制[1]。农业生产智能化的实现,离不开传感器网络。

传统的传感器网络布线复杂、成本高。为了克服这些缺点,设计了基于NRF24L01无线通信模块、以STM32C8T6为控制核心的无线传感器网络,采用分层簇状的拓扑结构,簇头和各层簇成员间以逐层、多跳传输的方式通信。

NRF24L01是一款单片射频收发器,工作在世界通用的2.4- 2.5GHz ISM频段。接收模式下能同时接收六路数据[2]。但该模块的基础通信功能存在着网络规模小、通信距离短的局限性。因此本设计在其基础功能上进行拓展,设计簇状网络通信协议,以达到网络规模更大、通信距离更远的目的。

1 硬件设计

本设计由多个传感器节点组成簇状网络,单个节点硬件设计基本相同,可根据需要增减传感器数量。硬件包括:STM32C8T6单片机最小系统、NRF24L01无线通信模块、传感器模块、电源模块。单个节点结构框图如图1。

1.1 STM32与无线通信模块

STM32C8T6是基于ARM核心的32位带64K字节闪存的微控制器,工作频率为72MHz,外设资源丰富:1个USB、1个CAN、3个16位通用定时器和1个PWM定时器、2个ADC、2个IIC接口和SPI接口、37个快速I/O端口[3],完全满足本设计需求。

无线收发芯片NRF24L01可通过硬件或软件模拟SPI 接口对进行配置,能兼容无SPI外设的MCU。通过SPI配置无线收发模式、工作频道、发送输出功率、天线增益、发送和接收地址等功能,实现无线数据收发。NRF24L01功耗低,在0dBm输出功率的发送模式下,电流消耗仅为11.3mA[2],很好地满足了无线传感器网络对低功耗的需求。

NRF24L01集成了OSI模型中的物理层和数据链路层,拥有PID(包识别)、CRC校验、自动应答与自动重发功能,从而确保数据包的可靠传输,也给在此基础上的协议开发提供了方便。

1.2 传感器模块

本设计采用SHT20数字温湿度传感器进行温湿度的测量。温度的测量范围是-40到125℃,相对湿度的测量范围是0-100%RH[4]。MCU可通过IIC接口与该传感器通信,设置温湿度数据的采集模式或读取数据。

采用B-LUX-V30B低功耗环境光传感器测量光通量,测量的范围是0-200000流明,工作电流小于0.8mA,IIC数字量输出。

1.3 电源电路

本设计硬件电路统一采用3.3V电压供电,为了降低系统成本、使系统更小型、布置更方便,采用一节3.7V锂电池降压到3.3V后供电。为满足低压降稳压的需求,电源电路选用的是3.3V电压输出的三端稳压芯片XC6206P33。该芯片具有高精度、低功耗、低压降的情况下能保持较高输出电流等特点,最大输入电压为4.3V,最大输出电流200mA,应用电路如图2,图中C1、C2值为1uF[5]。

2 软件设计

2.1 簇状网络设计

本设计传感器节点的通信链路关系采用分层簇状结构[6]。每个簇由一个簇头节点和若干个簇成员节点构成。一个簇中簇头节点相对于成员节点为上级节点,成员节点相对于簇头节点为下级节点。最高级的簇头为sink节点[6]。sink节点下接若干个成员节点,这些成员节点下再进一步分支,由此形成整个簇结构。如图3所示,图形内数字表示ID,箭头上数字表示sink节点接收通道号。

将NRF24L01的6个接收通道中的通道0用于接收自动应答,通道1用于接收上级节点指令,通道2到5用于接收下级节点的数据。因此,每个节点有一个上级节点和四个下级节点。通信时,根据收到数据包的通道号即可判断数据包的来源。

本设计中每个节点都具有节点级别、节点ID、节点上级ID、本节点各通信通道地址4个属性。在程序中,定义结构体变量,该变量包含一个节点具有的各项属性:

定义结构体数组,在每个节点的结构体数组中存储网络中全部节点的属性。给每个节点分配一个ID和级别,各个节点就可以根据自己的ID和级别确定自己具有的各项属性。若共有n个节点,当簇头节点要给簇成员发送数据时,可通过查找结构体数组元素中,s_super值与自己的s_ID值相等的元素,并将发送地址设置为该元素中存储的接收通道1地址,如图4(a);当簇成员给簇头节点发送数据时,查找出s_ID与本节点的s_super值相等的元素,将发送地址设置为该元素中存储的相应接收通道地址即可,如图4(b)。

2.2 总体功能实现

系统主要实现功能为在收到包后,判断收到的包是来自下级的数据包还是来自上级的命令包。如果收到的是数据包,则将数据转发给上级;如果收到的是命令包,则先转发命令包给下级节点,再采集数据,将采集到的数据发送给上级节点。

初始状态下除sink节点外,簇状网络中的所有节点处于接收状态,sink节点周期性发出采集数据指令。sink节点初始化IO口和NRF24L01配置后,转入发送模式,发起数据采集。完成发送后转入接收模式,将采集到的数据汇总并发送到串口助手显示。流程图如图5。

成员节点初始化为接收模式,根据接收到数据的通道号判断数据来源。若是上级节点下发的指令数据,则将数据转发给下级节点;若是下级节点上发的数据,则将数据转发给自己的上级节点。如图6。

3 实验测试

制作4个无线通信节点,首先测试节点间最大通信距离:在空旷室内,测得两个节点间最大通信距离为20m。

测试整体通信功能。选用2个通信节点作为无线传感器节点,2个作为簇头节点,其中最高级的簇头为sink节点,在空旷的室内的有效通信距离范围内布置节点构成簇状网络。进行测试,测得温湿度及光照数据如表1。

4 结论

本文基于NRF24L01设计了一种簇状拓扑的网络通信协议,结合傳感器技术,设计了无线传感器节点,实现了农业环境信息的采集与无线传输。由于无须布线且簇状网络中的成员节点可作为簇头节点进一步扩展网络,具有布置简便、网络规模大、覆盖监测范围广的优点。实验证明,本文设计的无线传感器网络能够实现设计目的,进行组网、通信和信息采集,为农业物联网的监测环节提供了解决方案,同时对其他无线传感器网络的应用场景也具有一定的参考价值。

参考文献

[1] 陈晓栋,原向阳,郭平毅,等.农业物联网研究进展与前景展望[J].中国农业科技导报,2015,17(02):8-16.

[2] Nordic Semiconductor.nRF24L01 datasheet[R].[S.l.]:Nordic Semiconductor,2009.

[3] STMicroelectronics.STM32F103x8 STM32F103xB datasheet[R].[S.I.]:STMicroel-Ectronics,2015.

[4] SENSIRION.Datasheet SHT20 [R].[S.l.]:SENSIRION,2014.

[5] TOREX SEMICONDUCTOR LTD. XC6206 Series[R].[S.l.]:TOREX SEMICONDUCTOR LTD.

[6] 孙利民,张书钦,李志,等.无线传感器网络:理论及应用[M].北京:清华大学出版社,2018.

猜你喜欢

温湿度数据包成员
主编及编委会成员简介
主编及编委会成员简介
主编及编委会成员简介
主编及编委会成员简介
温湿度控制器在回收砂冷却系统中的应用
基于DSP的多路温湿度监测系统
SmartSniff
基于温湿度控制的天气预测装置
蒸发冷却温湿度独立控制空调系统的应用
视觉注意的数据包优先级排序策略研究