一种智能大棚的温湿度检测系统
2019-11-01金恩曼陈培余
金恩曼 陈培余
摘要:针对大棚种植中温湿度等环境参数实时检测存在的问题,笔者结合最新的窄带物联网技术,提出了一种新型的智能大棚温湿度检测系统。该系统基于STM32微处理器,选用DHT11温湿度传感器,选用华为OceanConnect作为物联网云平台,给出了整个系统的软硬件设计方案。测试表明,该系统运行稳定,数据可靠,满足智能大棚温湿度实时检测需求。
关键词:智能大棚;温湿度;NB-IoT;OceanConnect
中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2019)07-0085-03
0 引言
我国是人口大国,又是农业大国,大棚种植在农业生产中占有非常重要的地位。又随着人们生活水平的提高,对大棚种植农产品的品质提出了更高的要求。温度和湿度是影响大棚种植的关键环境因素,因此对大棚温湿度的检测具有非常重要的意义。
最早的大棚温湿度检测以人工方式为主,该方式工作量大,效率低,成本高。随着计算机技术尤其是通信技术的发展,基于自动化的实时检测系统成为主流。目前多数系统采用基于Zigbee组网通信技术的检测方式,该方式具有低功耗和组网能力强等优点,但存在通信距离短,需要大量网关开销等缺点[1]。当前,随着窄带物联网技术(NB-IoT)的不断成熟,芯片成本不断下降,NB-IoT在智慧农业中的应用成为新的发展趋势。NB-IoT具备广覆盖、大连接、低功耗和低成本等特点,非常适合点多且分散的室外应用场景[2]-[3]。本文将采用NB-IoT技术、结合传感器技术、微处理技术和移动互联技术,解决智能大棚内温湿度检测存在的布线难和不能远程监控等问题。
1 系统架构和功能
本系统是综合嵌入式软硬件技术、NB-IoT通信网络、华为OceanConnect云平台和移动APP为一体的物联网系统。如图1所示,温湿度传感器、STM32主控制器和NB-IoT模块组成信息采集端,该采集端作为独立的嵌入式系统,分布于大棚内的主要区域。主控芯片通过单总线协议采集温湿度数据,并通过NB-IoT网络上传到华为云平台。华为云平台提供基于NB-IoT通信业务的物联网终端设备的快速接入,实现温湿度信息的可视化展示和管理。云平台向信息采集端提供基于CoAP协议通信的南向接口,向应用服务器提供基于HTTP协议通信的北向接口。
2 系统硬件组成
系统硬件组成如图2所示,主要由温湿度傳感器,最小系统和NB-IoT模块及其外围电路等3大部分组成。
2.1 温度传感器
温湿度传感器采用DHT11芯片。该芯片是一款含有已校准数字信号输出的温湿度复合传感器。具有成本低、响应快、抗干扰强、精确校准等优点。该芯片具有4个引脚,分别为VDD、DATA、NC和GND。DHT11与微处理的硬件连线如图3所示,其中VDD(1 Pin)为芯片供电引脚,供电电压3V-5.5V,DATA引脚(2 Pin)为串行数据线,与主控器的GPIO口连接,实现温湿度数据的采集,NC引脚悬空,GND(4Pin)引脚接地。
2.2 最小系统
最小系统中包括主控制器、电源、晶振、复位电路和下载电路。主控制器采用STM32L431RCT6芯片,该处理器基于ARM-M4内核,32位位宽,运算速度快,处理能力强,并支持睡眠等低功耗工作模式,内部集成丰富的接口资源,是意法半导体公司针对物联网应用场景推出的一款高性能处理器[4]。晶振电路可以使用内部晶振和外部晶振,只需通过软件配置即可,本系统中,选用8MHz的外部晶振;复位电路用来使系统恢复到出事状态的电路,本系统设计中,复位引脚连接弹性按键接地,并在按键上并联一个电容;下载接口使用SWD 四线接口。
2.3 NB-IoT模块及外围电路
本系统中,NB-IoT模块采用Quectel的BC95模组。该通信模组工作在850MHz频段,支持IPv4/IPv6/UDP/CoAP通信协议,发射功率为23dB±2dB,并支持省电模式(PSM)下。主控制器以AT指令控制BC95模组,通过串口与NB-IoT模组通信。当处理器采集到温湿度数据后,由BC95模组通过射频天线发送到基站,经运营商核心网络到达华为云平台。
NB-IoT模块外围电路如图2所示,主要包括供电电路、通信接口电路、SIM卡电路、滤波天线电路。供电电源采用板载3.3V供电,电源端连接电容并接地;通信接口主要为串口,实现模组和MCU之间通信。由于NB-IoT使用蜂窝网络,因此与手机通信一样,需要有SIM卡进行身份的识别和鉴权。
3 系统软件设计
系统软件设计主要分为信息采集端软件设计,云平台开发和移动端App开发三个部分。
3.1 信息采集端软件设计
信息采集端软件设计实现功能包括最小系统的正常运行,温湿度数据的采集和NB-IoT模组的入网。其中最小系统的软件开发采用STM32CubeMX工具。该工具是意法半导体公司针对STM32系列MCU推出的图形化开发工具,通过图形化的配置自动生成开发初期芯片相关的初始化代码。本系统中,利用STM32CubeMX完成系统时钟、定时器、串口初始化等功能配置并生成基本开发环境。采集端软件开发流程如图4所示,微处理器通过下发AT指令完成NB-IoT模组入网,开启定时功能,周期性采集温湿度数据并上报。
(1)温湿度数据采集。本系统中,主控制器通过GPIO端口引脚连接DHT11的DATA管脚,实现单总线的数据采集。该总线即作为MCU的输出控制总线,又作为DHT11的数据输入总线。用户主机(MCU)发送一次开始信号后, DHT11从低功耗模式转换到高速模式,待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集。其中位数据“0”的格式为:50ms的低电平和26-28ms的高电平,位数据“1”的格式为:50ms的低电平加70ms的高电平。控制DHT11芯片获取温湿度数据的时序参考该芯片使用手册。
温湿度采集测试结果如图5所示。
(2)NB-IoT入网。由于NB-IoT网络驮载在移动蜂窝上的,因此跟手机通信一样,在进行数据传输之前要向基站注册入网。控制器采集到温湿度数据后,按照用户自定义协议编码,通过串口发送至NB-IoT模组,模组将数据封装成CoAP协议包后发送至基站,最后经核心网转发至IoT平台处理。在整个通信过程中,MCU对模组控制以及数据的发送接收都是基于AT命令实现的[5]。如图6AT命令测试结果所示,为本系统中关键AT指令及其返回信息:1)指令“AT+CGSN=1”:查询模块序列号。本系统中BC95模块序列号为867725030245702,该序列号将在云平台部署时被使用。2)指令“AT+CSQ”:查询当前环境信号强度,范围为0-31。本系统测试环境信号强度为17,信号一般。3)指令“AT+CEREG?”:查询网络注册状态,即查询网络注册是否成功。本系统中,执行该命令后返回结果第二个参数为“1”,表示注册成功;否则为“0”,表示尚未注册成功。4)指令“AT+NCDP=49.4.85.232,5683”:配置CDP服务器(云平台)的IP地址及端口,本系统中,华为OceanConnect云平台地址为49.4.85.232,端口号为5683。5)指令“AT+NMGS=3,010203 ”:向CDP服务器上报数据。第一个参数为数据长度,第二个参数为十六进制数据。
3.2 云平台部署
物联网云平台提供设备接入、设备管理和数据分析存储功能,并向各种应用提供接口服务。本系统采用华为的OceanConnect云平台做应用开发。该平台通过开放API和IoT Agent实现与上下游产品能力的无缝联接,从而给客户提供端到端的高价值行业应用。OceanConnect云平台开发工作主要包括产品创建、Profile定义、编解码插件开发、真实设备部署。
(1)产品创建:设置产品信息,包括产品名称、产品型号、厂商ID、设备类型以及应用层协议类型。
(2)Profile定义:即设备的抽象模型,用于描述设备具备的能力和特性。OceanConnect提供多种设备的Profile模板,用户可直接在此基础上修改,或者也可以自定义产品模板。本系统中,根据温湿度传感器的属性,创建一个Humiture的服务,在该服务下依次创建Temperature和Humidity属性,数据类型为decimal。
(3)编解码插件开发:由于NB-IoT设备上报数据一般采用二进制格式,而物联网云平台采用Json格式,因此,需要進行编解码插件开发,实现二进制数据和Json格式数据的转换,从而实现NB-IoT终端和OceanConnect通信。
(4)部署真实设备:设置设备名称和设备标识。设备标识为必须唯一,一般为IMEI或MAC号。本系统中使用BC95模块序列号867725030245702。
云平台测试结果如图7所示,当前温度为28.0℃,湿度为95.0RH%。
3.3 移动端App设计
为实现温湿度数据远程检测功能,本文基于Android Studio工具开发了一款温湿度检测APP。该App登录界面为云平台的接入信息,包括云平台IP地址和端口号,应用ID及密码,显示界面包括温度值和湿度值,移动终端App及其测试结果如图8所示。
4 结语
本文结合最新的窄带物联网技术,设计了一种温湿度检测系统。对系统总体方案、软硬件设计进行了详细阐述。测试结果表明,该系统可以实现温湿度数据远程检测功能。该系统具有设备节点管理方便、功耗小、成本低、数据可靠性高等优点,适用于智能大棚等智慧农业应用场景。
参考文献
[1] 周海鸿,周嘉奉.基于ZigBee技术的温湿度监测系统[J].国外电子测量技术,2015,34(7):75-79.
[2] 董劲文.窄带物联网(NB-IOT)的技术分析及其应用前景[J].通讯世界,2018(7):1-2.
[3] 张良德.NB-IoT的及应用研究[J].通信设计与应用,2017(1):115-116.
[4] 曹小娜.ST STM32L4:整合Cortex_M4内核超低功耗高性能MCU[J].世界电子元器件,2015(4):42-43.
[5] 蒋震.基于NB-IoT的温湿度采集系统设计与实现[J].信息化研究,2018,44(6):63-68.