APP下载

基于ZigBee的低功耗蔬菜大棚 远程无线传感测控系统

2019-04-04雷建云韩峥嵘曾繁迪刘晶帖军

关键词:低功耗路由大棚

雷建云,韩峥嵘, 曾繁迪,刘晶,帖军

(中南民族大学 计算机科学学院,武汉 430074)

当前,国内关于环境监测在棉田滴灌[1]、蛋鸡舍设施数字化[2]、土壤墒情监测[3]、钾肥生产原卤井监测[4]、废水处理[5]、农田信息采集[6]和蔬菜大棚智能管控[7]等特定产景中的应用已经有了突出的成果.外文文献中也有此方面的研究[8-15]:利用ZigBee无线传感器网络技术实现温室、蔬菜大棚等环境的数据监控.在工业生产中,环境监测数据可为系统提供决策支持;在农业生产中,环境监测数据是对农作物进行各项农事活动的参考依据.因此,环境监测对工农业生产日趋重要.

在农作物生长环境监测的相关研究中,李玮瑶等人[16]根据农业种植智能化的需要,设计了基于ZigBee技术的蔬菜大棚环境监控,实现了对蔬菜大棚中空气、土壤、温湿度、二氧化碳浓度和光照强度等参数的监测,但该系统存在未做低功耗处理、远程监控能力差等问题.王军等人[17]以解决有线农业蔬菜大棚监控系统维护复杂、维护成本高等问题为目标,设计了基于ZigBee的蔬菜大棚无线监控系统,但未实现远程控制,也未对ZigBee模块做低功耗处理.也有人以低功耗为目标,设计了大棚温室环境下的超低功耗智能控制系统,但是未实现远程控制,且只实现了部分参数的自动调节功能[18].

针对以上问题,本文以蔬菜大棚为研究对象,以实现系统低功耗、高可用、易扩展为目标,以ZigBee无线传感器网络为技术手段,实现了基于ZigBee的低功耗蔬菜大棚远程无线传感测控系统.

1 系统设计

在原有的蔬菜大棚中部署各种传感器和电气设备,不仅需要对各模块的参数和性能做整体统筹,还要兼顾各个模块的使用环境和条件,因地制宜地将原有蔬菜大棚改造成低功耗智能感知蔬菜大棚.根据本系统设计目标,将蔬菜大棚分为3个模块,一是数据采集模块,完成整个蔬菜大棚的数据采集、传输和解析等功能,并实现低功耗;二是电气设备模块,作为完成电气设备远程控制的基础,此模块通过解析指令、控制继电器等设备完成远程控制功能;三是微信公众号模块,由微信公众号为用户提供友好的操作界面[19],此部分主要完成用户信息展示、采集数据展示以及可视化远程控制功能.

1.1 硬件设计

系统数据传输流程如图1所示,系统中共有3种节点:终端采集节点、路由控制节点、汇聚节点.终端采集节点主要负责数据采集工作,连接低功耗传感器(温湿度传感器DHT22,土壤湿度传感器,GY-30光照传感器[20]等).路由控制节点连接功耗较高的传感器(二氧化碳浓度传感器,风速风向传感器,人体红外探测传感器[21]等),同时由路由控制节点来控制继电器开关进而达到控制电磁门、卷帘门、窗、风机的目的.汇聚节点通过串行接口与以太网网关模块W5500、Wi-Fi模块(ESP8266)或4G/GSM模块相连,并将数据打包后传输至网关模块.

系统中网关模块完成对ZigBee协议数据进行转换,并将数据通过网络传输到服务器端,为保证数据有效传输和安全性,数据将通过TCP协议发送至服务器端[22].

图1 系统数据传输图Fig.1 System data transfer diagram

根据系统需求以及Z-stack协议栈的特点,通过对终端采集节点和路由控制节点进行策略控制,达到低功耗目的.控制策略如下:分别定义两个应用层任务:采集任务和休眠任务.在采集任务中,终端节点内部定义采集事件(设定节点为电源模式并读取传感器接口数据),打包数据并发送给汇聚节点,定时器T1秒后执行休眠任务;进入休眠任务后,节点执行睡眠事件,此时,节点为电池模式,无线接收机关闭,定时器T2秒后执行采集任务,其中T1、T2可以根据采集需要进行设置.

为了达到最低休眠功耗,将传感器的电源引脚接在高驱动输出IO引脚(P1_0和P1_1)上而不是VCC引脚上.经万用表测量,两个IO引脚的最高输出电流可达20 mA,满足温湿度传感器负载(其他针脚的最大输出电流均是4 mA).与此同时,将未使用的IO引脚设置为输入上拉,防止浮空引脚,减少电流消耗及不确定状态.

此外,需要在编译选项中加入POWER_SAVING参数,使得节点开启低功耗模式,并修改f8wConfig.cfg配置文件中的常量变量设置为如下值:

-DPOLL_RATE=0 //default 1000

-DQUEUED_POLL_RATE=0 //default 100

-DRESPONSE_POLL_RATE=0 //default 100

经过上述设置后,使得ZigBee终端节点能在低功耗模式下完成数据采集功能.

在ZigBee路由节点实现对设备的自动化控制,多路继电器是电气设备控制的核心,它与ZigBee路由节点的IO口连接,通过IO口的高低电平变化来控制多路继电器触点的通断,达到控制电气设备开启和关闭的目的.LED灯带和发热线给农作物补光升温,布线简单快捷、经济环保.风机调节大棚的二氧化碳浓度,当大棚内的二氧化碳浓度过高时,给农作物补充氧气.水箱、增压泵、电磁阀和喷嘴构成了灌溉硬件模块,与土壤湿度传感器联动.当检测到土壤湿度低于一定的阀值时,电磁阀开启,水流从喷嘴处喷出进行灌溉.整个过程无需另外架设管道,非常适于现有蔬菜大棚的改造,灌溉硬件模块与ZigBee网络直接组成一套低成本小型自动灌溉系统,系统部署如图2所示.

图2 系统部署图Fig.2 System deployment diagram

为节省成本,本系统中所有大棚构成一个局域网,每个大棚中的汇聚节点与网络模块直接进行数据传输,并通过轮询的方式实现远程反向控制功能.

1.2 软件设计

(1)ZigBee开发环境

系统中ZigBee节点的业务逻辑代码均在IAR Embedded Workbench开发环境中使用C语言开发完成,ZigBee节点间的通信协议采用基于Z-Stack-CC2530-2.5.1a版本协议栈.

(2)网关模块驱动开发

分别采用W5500以太网模块、ESP8266 WIFI模块、SIM7600CE 4G模块,使本身无法接入互联网的ZigBee网络可以使用3种方式与远程服务器通信.CC2530使用对应的SPI接口或UART接口与网关模块对接,在Z-Stack协议栈中移植相关的设备驱动即可完成ZigBee协议到互联网协议之间的转换.

(3)服务器中间件实现

服务器中间件承担了远程手机终端设备与蔬菜大棚现场设备双方数据交互的桥梁作用,同时也是系统智能化自动化控制功能中至为关键的一环.服务器端运行Python中间件的业务流程图如图3所示.

图3 服务器中间件数据传输图Fig.3 Server middleware business flow chart

(4)数据库设计

本系统中使用的数据库版本为MySQL5.5,分别创建用户信息表、数据采集结果表,分别用于验证用户身份和采集数据实时展示.

(5)微信平台开发

云服务器端使用ThinkPHP5.0.23核心版框架,通过调用微信公众号接口实现自动回复、自定义菜单、消息推送等功能.使用PHP、ECharts等技术实现前端展示页面,通过调用Python语言编写的后端接口,实现实时展示采集的环境数据和远程控制等相关功能.

2 系统实现

2.1 硬件实现

系统中ZigBee通信硬件模块使用德州仪器公司的CC2530增强型51内核单片机,与信号放大芯片RFX2401C组成的ZigBee射频模块的最小系统原理图如图4所示.

图4 CC2530+RFX2401C组成的ZigBee射频模块电路Fig.4 CC2530+RFX2401C composed ZigBee RF module circuit schematic

ZigBee终端节点、路由节点、汇聚节点(协调器)所采用的射频模块电路均相同,只在业务逻辑代码上有所区别.

终端节点在低功耗模式下运行,所有模块均可以在锂电池的工作电压下正常运行.路由节点与8路继电器连接,汇聚节点与网关模块连接并进行数据传输.各节点硬件接线实物图如图5所示.

图5 各节点接线实物图Fig.5 Physical map of each node wiring

2.2 软件实现

(1)环境数据采集与远程控制

用户打开手机上的微信公众号即可实时查看蔬菜大棚内的实时环境数据及变化趋势,并通过界面上的开关按钮远程控制风机、水泵等可控制设备,如图6(a),图6(b)所示.

(2)自动灌溉

当土壤湿度传感器监测到土壤湿度低于某一个阀值时,水泵开启,自动进行灌溉直至土壤湿度达到某一个值,以保证土壤湿度在某一个恒定的值,保证农作物生长的最佳湿度环境.

(3)消息推送

根据硬件设备的操作,会给用户推送不同消息,如自动灌溉,自动换气,自动检测是否有人靠近,以达到实时消息推送的功能,如图6(c)所示.

图6 微信公众号界面图Fig.6 WeChat public number interface map

3 实验及结果分析

ZigBee常用芯片CC2530的4种功耗模式如表1所示:

表1 CC2530的4种功耗模式Tab.1 Four power consumption modes of the CC2530

对比表1中各工作模式ZigBee节点参考电流,CC2530在PM2和PM3模式下功耗较低,因此,节点进入休眠状态时,优先选择PM2或PM3模式.由于节点进入PM3模式时,会关闭所有低频振荡器,此时无法使用定时器产生中断,在没有给予外部中断或重新上电复位的情况下,无法自主唤醒,会导致节点一直处于低功耗模式而无法执行应用层任务.因此,尽管PM3模式的电流相对于PM2模式略低,但本文选择PM2模式休眠.

在本文第2部分搭建的系统中,使用万用表测得以下数据:

(1)路由节点在带功率放大模块的全功能模式下,测得平均电流Iactive为34 mA;PM2低功耗模式下,测得平均电流Isleep为1.5 μA;唤醒时关闭接收机只发送数据测得的平均工作电流Isend为16 mA.

(2)设定路由节点休眠时低功耗模式的工作周期tsleep为3 s,全功能模式时间tactive为50 ms,唤醒时关闭接收机只发送数据的工作时间tsend为5 s.

(3)使用2节5号电池给路由节点供电,单节5号电池的容量为1200 mAh,路由节点的工作电压U为3.3 V.

在等待唤醒指令时,路由节点的能量损耗为:

(1)

接收到外部唤醒指令后,发送数据包的过程中,路由节点的能量损耗为:

(2)

路由节点在未采用休眠唤醒策略时的能量损耗为:

(3)

其中tnormal为总的工作时长,因此,本系统中路由节点的总能耗计算公式为:

Wtotal=Wactive+Wsleep+Wsend=

(4)

节点工作时长ttotal计算公式为:

(5)

其中Nbattery,Wbatiery分别表示使用的电池数量以及每节电池电量,T表示数据采集的时间间隔.

根据公式(1)~(5)及测量到的数据可计算出在使用2节5号电池下,路由节点在不使用低功耗休眠唤醒策略以及在不同数据采集间隔下的路由节点的理论工作时长,结果如表2所示.

表2 路由节点在不同数据采集间隔下的工作时长Tab.2 Working time of routing nodes under different data collection intervals

由表2可知,在不同数据采集间隔下节点的工作时长随着采集时间间隔的增加而增加,而当节点不使用低功耗唤醒策略时,节点理论工作时长仅为3d,因此,比传统的未使用低功耗休眠唤醒策略有更高的使用价值,可以有效延长节点使用寿命.

4 结语

本文实现了ZigBee无线传感器网络与微信公众平台在蔬菜大棚中的应用.借助智能物联网系统实现对蔬菜大棚内设备的自动控制,在设定的环境参数内自动作业,大幅提高了对环境条件的精准控制,同时也减少了对人的依赖,减轻了技术压力[23].本文主要从以下几个方面突出了该智能监测控制系统的实用性与创新性.

(1)低成本、低功耗

终端节点采用电池供电,进行环境数据采集,减少了传统数据采集的各种电线、网线布线过程,并使用低功耗算法大大降低了耗能,经测试与计算,单节电池大约可以使用一年以上而无需更换.现有的智能农业大棚造价动辄100元/m2以上,而使用本文中的初期方案已经可以实现环境数据采集与自动灌溉等基本功能,整体成本约在几百元内,后期扩展其他的功能模块所需的开销也只是其他智能大棚成本的1/10不到.因此非常适用于预算比较有限的农业生产地区;

(2)操作简单、可靠性高

针对多数农业从业人员的知识素养特点,简化了设备操作难度,系统界面亲和力高,同时用户在微信平台上使用本系统增强了用户粘性.系统具有硬件冗余,可根据实际部署施工的难度,有选择性地通过以太网、Wi-Fi、4G/GSM三种方式接入互联网,在条件苛刻的山区可以使用太阳能风能配合蓄电池给硬件模块供电,使得系统在极端环境下也能正常运行;

(3)扩展能力强

系统提供了丰富的软硬件接口,扩展能力强,低功耗采集模块得到的环境数据参考价值高,为以后进行农产品追溯、平台推广提供了丰富的数据基础.

猜你喜欢

低功耗路由大棚
大棚妹子
大棚换茬季 肥料怎么选
谨防大棚房死灰复燃
一种高速低功耗比较器设计
原地翻建大棚 注意啥
数据通信中路由策略的匹配模式
路由选择技术对比
一种宽带低功耗四合一接收机设计
路由重分发时需要考虑的问题
低功耗便携智能翻译手套系统