基于NB-IoT温室环境远程监测系统设计

2021-04-15 07:09尹晶晶
西安航空学院学报 2021年5期
关键词:管脚照度温室

尹晶晶

(安徽国防科技职业学院 电气技术学院,安徽 六安 237011)

0 引言

研究温室环境自动监测系统对于提高温室环境控制的自动化水平和温室生产效率等具有重要意义。传统的温室环境监测系统采用有线连接方式,存在着布线复杂、成本高、设备移动性差、传感器节点扩展性差等问题。将无线传感器网络应用于温室环境监测系统,可以克服有线监控网络的上述诸多缺陷。

近几年,国内外许多研究者已尝试将无线传感器网络应用于温室小气候环境监测。在众多相关研究中,ZigBee技术是应用最多的无线通信技术[1-8]。ZigBee技术是一种近距离、低功耗、低速率、低成本的双向无线通讯技术,工作于ISM频段。相关研究中所采用的ZigBee技术大多工作于2.4 GHz频段。除ZigBee技术之外,也有不少学者采用TinyOS操作系统以开发温室环境无线监测系统[9-14]。TinyOS操作系统是加州大学伯克利分校开发的开放源代码操作系统,专为嵌入式无线传感网络设计。基于TinyOS操作系统的无线通信技术大多工作于433 MHz频段。基于ZigBee协议栈和TinyOS操作系统而开发的短距离无线监测系统具有低功耗、易开发等优点,但传输距离有限,无线传输的可靠性也有待提高。窄带物联网(Narrow Band Internet of Things,NB-IoT)是近两年兴起的无线通信技术[15]。与现有网络相比,窄带物联网的优势表现在以下四点:(1) 依靠移动通信基站,NB-IoT的覆盖面极其广泛;(2) 在同样的频段下,NB-IoT比现有网络增益20 dB,相当于提升了100倍覆盖区域的能力;(3) NB-IoT属于准5G通信,因此具有良好的无线通信质量;(4) NB-IoT功耗很低,其终端模块的待机时间可长达10年。

温室小气候环境包括室内空气温度、相对湿度、二氧化碳气体浓度和照度等多个环境因子。因此,从所监测的室内环境因子来看,温室小气候环境监测可以分为单因子监测和多因子监测。在单因子监测中,室内空气温度是关注度最高的环境因子[16],因为在众多室内环境因子当中,温度条件因昼夜、季节和地区的不同而发生变化的范围很大,最容易出现不满足作物生长条件的状况。当然,也有少数文献关注温室内其它环境因子的监测,如二氧化碳浓度[17]等。在多因子监测中,大多关注温室内空气温度和相对湿度,而同时关注室内空气温度、相对湿度、二氧化碳气体浓度和照度等四个或更多环境因子的研究则较少。这是由于温室环境因子之间的相互耦合特性及其控制的相互冲突性所决定的。不过,从应用的角度考虑,温室小气候环境监测与控制确实需要同时考虑这些重要的室内环境因子。基于以上考虑,本文将采用NB-IoT技术设计面向温室环境多因子的远程监测系统。

1 系统硬件设计

基于NB-IoT的温室环境远程监测系统架构如图1所示。该系统架构包括三个层次:最底层为感知层,在该层布设若干传感器节点,用于实时监测温室内的环境因子,并以无线方式把数据发送至NB-IoT基站;中间层为传输层,主要由NB-IoT基站和云服务器构成,实现数据的远距离传输;最上层为应用层,用户在该层使用各种终端设备与云服务器相连,以便远程查看温室环境数据。

图1 基于NB-IoT的温室环境远程监测系统架构

1.1 传感器节点硬件电路设计

在该系统中,开发者的重点工作是开发底层的无线传感器节点。传感器节点的硬件结构如图2所示。考虑到本系统中需要采集的环境因子较多,需要较多的I/O接口,因此选择了STM32单片机。该系列单片机采用了ARM的Cortex架构,I/O接口众多,功能强大。关于NB-IoT模块,则是选择了市场上应用最广泛的BC35-G型号NB模块。由于一般温室内都有多种电气设备,因此取电方便,使用交流220 V转直流5 V的模块给传感器节点中的各个模块供电。

图2 传感器节点的硬件结构

1.2 温湿度传感器

由于空气温度和空气相对湿度之间具有很强的耦合性,因此许多传感器元件可以同时测量温度和相对湿度,常见的有SHT系列和DHT系列。现行的国家行业标准《JB-T10306-2013温室控制系统设计规范》给出了连栋温室环境温湿度、照度和CO2气体浓度等的测量要求,连栋温室测量内容、测量范围和准确度如表1所示[18]。

表1 连栋温室测量内容、测量范围和准确度

根据表1的要求,选择SHT30数字温湿度传感器。该传感器的温度测量范围为-40~+125 ℃,测量精度为±0.3 ℃,湿度测量范围为0~100%RH,测量精度为±2.0%,完全满足行业标准中的测量要求。SHT30传感器及其接口电路如图3所示。该传感器共有四个管脚,依次为电源(VCC)、地(GND)、串行时钟(SCL)和串行数据传输(SDA),其中,SCL和SDA分别与STM32单片机的PB7和PB6相连接。

(a) SHT30传感器

1.3 照度传感器

根据表1所给出的测量要求,可知现在广泛应用的TSL2561型号和BH1750型号的照度传感器并不能应用于温室环境照度监测,因为它们的量程仅为0~65535 lx。为此,选择了型号为B-LUX-V30B的照度传感器,该传感器为数字传感器,其量程可达20万lx,能够满足测量要求。B-LUX-V30B型照度传感器及其接口电路如图4所示,该传感器元件的接口共有五个管脚,除了电源和地线之外,还有串行时钟、串行数据传输和使能管脚。使能管脚(EN)可以悬空,表示该器件一直处于使能状态。照度传感器的串行时钟(SCL)和串行数据传输(SDA)分别连接单片机的PB8和PB9引脚。

(a) B-LUX-V30B型照度传感器

1.4 CO2传感器

根据表1所给出的测量要求,可知现行的行业标准要求温室CO2浓度的测量范围为10~2500 ppm,为此,选择了JX-CO2-102型号的CO2气体传感器。该传感器为数字传感器,其量程为0~5000 ppm,满足测量要求。JX-CO2-102型传感器及其接口电路如图5所示。JX-CO2-102型传感器的管脚定义如表2所示。可见,该传感器可以以多种形式来输出CO2浓度信号。在本系统的节点电路设计中,采用了PWM输出方式,在硬件结构上,PWM只占用单片机一个管脚,该管脚与单片机的PA1管脚相连接。

(a) JX-CO2-102型传感器

表2 JX-CO2-102型传感器的管脚定义

2 系统软件开发

2.1 节点软件开发

节点软件开发是采用Keil软件而实现的。主程序的主要功能描述如下:首先,进行系统初始化及NB模块的初始化;然后,NB模块通过基站尝试接入云服务器;最后,开始采集温湿度、照度和CO2浓度信息。相关数据可以在本地显示,同时也发送至云服务器端。定时器用于设置数据采集和发送的周期。节点的主程序流程如图6所示。

图6 节点的主程序流程

微处理器和SHT30温湿度传感器通信采用串行二线接口SCL和SDA,其中:SCL用于同步微控制器和传感器之间的通信,时钟频率可以在0~1000 kHz之间自由选择,支持按I2C标准进行时钟扩展的命令;SDA引脚用于向传感器传递数据和从传感器传递数据,从传感器说明书可知,测量数据总是以16位值(无符号整数)传输,这些数值已经线性化,并补偿了温度和电源电压的影响。假设单片机从SHT30传感器中读取到的温湿度数值分别记为ST和SRH,那么可以根据式(1)和式(2)直接计算出温湿度值。温湿度的测量精度分别为±0.3 ℃和±2.0%。

微处理器和B-LUX-V30B照度传感器通信也采用串行二线接口SCL和SDA。传感器通过 SDA 发送数据,与主机产生的 SCL 脉冲同步,主机在接收到每个字节数据后对其进行应答。总线空闲时,SDA和SCL的空闲状态为高电平。主机通过发送START条件启动通信,START条件是:SCL为高电平时,SDA由高到低的跳变;STOP条件是:SCL为高电平时,SDA由低到高的跳变。来自主机的START条件通知传感器开始传输,主机通过发送STOP条件终止传输,并释放总线。该型号照度传感器模块出厂时已经进行校正。单片机读取32位的测量数据SI之后,依据式(3)进行计算实际的光照度I。

I=1.4(SI÷1000) (3)

其中,1.4为本模块照度传感器上方的透明外壳对光线衰减的校正系数。

微处理器和JX-CO2-102红外吸收二氧化碳传感器之间的通信有DA输出模式(模拟电压信号)、PWM输出模式和串口输出模式等。经过比较,PWM模式输出只占用单片机一个I/O管脚,直接输出数字信号,且输出值与所检测到浓度值之间的换算关系非常简单,故采用了PWM输出模式。传感器的使用说明书给出了通过 PWM脉冲宽度以获得当前 CO2浓度值C的计算公式:

C=5(正向脉冲宽度-2) (4)

其中,5表示每毫秒所对应的CO2气体浓度值。

2.2 云端软件及手机App开发

单片机和NB模块通过MQTT协议,把所采集到的环境数据上传到OneNET物联网云平台。该协议工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。MQTT协议主要有以下几个特性:使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;对负载内容屏蔽的消息传输;使用 TCP/IP 提供网络连接;有三种消息发布服务质量。云端设计主要分以下几个步骤:

第一步:登录OneNET服务器。先注册账号,登录完成后,进入开发者中心,找到物联网平台,进入后点击“多协议接入”即可。

第二步:添加MQTT产品。选择 MQTT(旧版)协议,选择“添加产品”“产品名称”和“产品简介”按自己的要求填写即可,“产品行业”和“产品类型”自由选择,“接入协议”选择“MQTT”,在确定添加产品后,就可以添加设备了。双击“设备”列表,选择“添加设备”即可。

第三步:编辑应用。首先,选择“应用管理”后选择“添加应用”;然后,新增加应用,按自己的要求填写带*的即可,写完后点“新增”;最后,编辑应用,双击以下生成的应用后,选择“编辑应用”。

手机App借助了OneNET 平台提供的App设备云。它的功能是数据监测,且具有数据存储功能,与云平台相通,可以实时观看数据动态变化,以及查看任何一种环境因子的详细数据。这里不再详细介绍。

3 测试实验

把传感器节点放置在校园草坪上,测量环境参数,以检验传感器节点的测量结果,测试中的传感器节点如图7所示。数据采集周期为10 min,测试时间为2021年5月27日9:00-17:00,共8 h。手机端以仪表盘的形式进行实时显示,手机端的数据显示如图8所示。该时段内环境因子监测数据如图9所示。从测量结果看,该传感器节点能够实现四个环境参数的实时采集、传输和显示,表明该系统能够稳定工作。四种环境因子的监测均采用了数字式传感器,且具有自动校验功能,从而保证了一定的测量精度。同时,数字式传感器还具有低功耗的特点,有利于采用太阳能供电或电池供电方式,为所设计的传感器节点应用于温室环境监测和大田农业环境监测奠定了基础。

图7 测试中的传感器节点

图8 手机端的数据显示

(a)空气温度测量数据

4 结论

本文采用NB-IoT技术设计了温室环境远程监测系统。在简要介绍监测系统架构的基础上,首先重点介绍了传感器节点的硬件设计;然后,依次介绍了节点的软件设计、云端软件及手机App开发等;最后,对所设计的传感器节点进行了测试检验,能够实现数据的远程无线传输,且无线通信质量稳定。研究结果为该检测系统进一步应用于农业温室环境监测和其它领域环境监测等奠定了基础。

猜你喜欢
管脚照度温室
面向DSP+FPGA通用处理架构检测的硬件系统设计
苍松温室 苍松灌溉
苍松温室 苍松灌溉
地铁车辆照度试验方法和均匀性分析
苍松温室 苍松灌溉
一种异步FIFO的Read/Write Data Flow Through功能测试方法∗
可以避免一个温室化的地球吗?
略谈如何利用三极管管脚间电阻值判断其型号及管脚