李惠娜
(韩山师范学院,广东潮州,521000)
鸡蛋孵化是一项非常重要的技术,而鸡蛋孵化温度是蛋鸡孵化过程中一项非常重要的参数,对于蛋鸡的孵化起到了很大的影响。孵化前期温度高则要求湿度低,出雏时湿度高则要求温度低,一般在落盘后应该增加湿度,同时要降低温度。实际生产中应防止同时出现高温高湿,因为高温高湿会导致排气不通畅,使得孵化机内二氧化碳浓度加大,影响胚胎发育。所以湿度和温度对于鸡蛋的孵化都是重要的参数。根据这一特点,采用STM32、温湿度传感器(DHT11)、光强度传感器(BH1750)和阿里云物联网平台设计出鸡蛋的孵化环境控制系统,对鸡蛋孵化过程的这两个关键性参数进行实时把控,从而提高鸡蛋的孵化率。
本设计以温湿度传感器、光强度传感器和STM32开发板、WiFi模块为开发环境的鸡蛋孵化环境参数控制系统。让STM32通过WiFi(ESP8266)模块连接上阿里云,实现数据采集上云,实时更新孵化环境参数的数据,当参数超过手动设置的阈值时,系统会发出警报,从而实现对鸡蛋孵化环境的实时监控,提高孵化效率。选择阿里云IoT物联网平台来设计该系统是因为它具有安全、稳定、低时延、高可用、免运维的优点,使系统开发简单,人员操作便利,适用于中小型的鸡蛋孵化厂的环境控制系统。
本文的鸡蛋孵化环境检测系统的设计总架构包括数据采集模块、WiFi连网模块、主控模块、蜂鸣器模块、云平台模块。其总体架构如图1所示。
图1 鸡蛋孵化环境检测系统的总体架构
1.2.1 数据采集模块
系统采用DHT11温湿度传感器和BH1750 光照传感器来实时采集鸡蛋孵化环境的温湿度、光照强度。STM32开发板板载 1 个温湿度传感器接口,支持 DS18B20、DHT11等单总线器件,连接到 STM32 的 PB9 管脚,电路如图2所示。DHT11是一款有已校准数字信号输出的温湿度传感器。其精度湿度±5%RH, 温度±2℃,量程湿度5~95%RH,温度-20~+60℃。DHT11包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。BH1750的内部由光敏二极管、运算放大器、ADC采集、晶振等组成。PD二极管通过光生伏特效应将输入光信号转换成电信号,经运算放大电路放大后,由ADC采集电压,然后通过逻辑电路转换成16位二进制数存储在内部的寄存器中。
图2 电路图
1.2.2 WiFi模块
STM32开发板板载了一个 WiFi 无线模块接口,可连接WiFi(ESP8266)模块,U2_TX、U2_RX分别连接到STM32 的 PA2、PA3 引脚,使用串口 USART2。
本文采用WiFi (ESP8266)模块是因为它有性能稳定的特点。WiFi具有网络通信功能,可以发起 TCP 连接,连接服务器。WiFi 模块有 2 种工作模式,STA 和 AP,通过常用的AT指令进行控制。AP 就相当于路由器或热点,其它设备比如手机或电脑可以直连这个WiFi模块。本文的WiFi模块通过用AT指令控制,设置 WiFi 模式为 STA,再加入路由器,设置一个为名称,一个为密码。设置 WiFi 自动连接,启动配网,若自动配网失败,将自动配网模式关闭,手动输入网络名称、密码进行配网。
1.2.3 STM32主控模块
鸡蛋孵化环境检测系统采用STM32开发板作为系统的核心,它主要负责控制传感器完成环境的温湿度、光照强度的参数值的采集及数据分析、处理,并控制云平台显示上报数据,读取云平台下发数据和控制蜂鸣器是否发出警报等。主控使用的STM32开发板具有物联网 IOT 的连接能力,能够连接上物联网云平台,实现数据的上传,使用户能在云平台实时查看数据的变化。
1.2.4 云平台显示
选择阿里云IoT物联网平台来设计该系统是因为阿里云物联网平台能为设备提供安全可靠的连接通信能力,向下连接海量设备,支撑设备数据采集上云;向上提供云端 API,服务端通过调用云端 API 将指令下发至设备端,实现远程控制。云平台的设计是先通过IoT物联网平台服务,进入物联网平台控制台,创建产品、设备,基于已创建的产品,获取到设备身份认证信息(三元组)用于和IoT物联网平台建立连接时身份认证。
本文设计的系统通过WiFi(ESP8266)模块连接阿里云的顺序为:配置模块为STA模式➡连接热点➡连接TCP➡配置传输模式为透传模式➡验证用户名与密钥➡订阅主题➡发送心跳包➡接收/发送数据。物联网平台根据配置的数据流转规则,将指定 Topic 消息的指定字段流转到目的地,进行存储和计算处理。连接成功后能在阿里云平台实时查看温度、湿度、光强度的变化及当前时刻的温度、湿度、光强度的值;用户可以设置下发补光阈值(光照下限)、遮阳阈值(光照上限)、 温控阈值(温度下限)、湿度阈值(湿度下限)。
1.2.5 蜂鸣器模块
STM32开发板载有一个有源蜂鸣器,控制管脚连接到STM32 的 PC13引脚,输出高电平,三极管导通,蜂鸣器得电就会发出警报,不同于无源蜂鸣器,需要2~5kHz 的频率才会发声,电路如图2所示。蜂鸣器负责实现在异常情况下控制报警信号输出,当所检测的环境的温度或湿度或光照强度超过所设置的阈值是,会发出警报,提醒用户环境参数超限。
系统的主要功能是,在程序运行后,系统会每隔一秒向usb串口打印出传感器检测到的温度值、湿度值、光强度值,系统控制WiFi模块自动连接上物联网平台,并在连接成功后发起MQTT连接。WiFi模块在第一次连接网络时,需要按下 KEY1 按键配网连接路由器,通过微信扫描二维码,向模块传输路由器的账户和密码,如果连接不成功,则关闭微信配网功能,采用静态输入的方式输入WiFi账号和密码。连接上阿里云后,将向平台实时传输温湿度传感器、光照传感器检测的数据;在阿里云平台可以手动输入下发温度、湿度、光强度的阈值。系统可以回读下发的阈值参数,在阈值超限时,蜂鸣器会发出警报。在电脑端用户可以查看上报信息以及温度、湿度、光强度的变化情况。
鸡蛋孵化环境检测系统设计主要是STM32的程序设计。程序开始后,先初始化串口、传感器模块、WiFi模块等,WiFi自动连网,连接上后,会自动发起 MQTT 连接。系统进行信息的采集、分析、处理,每隔8s,将温湿度传感器、光照传感器值的信息上传到云平台;每隔30s,向平台发送一次心跳包。阿里云平台可以设置下发补光阈值、遮阳阈值、温控阈值、湿度阈值。系统读取用户输入的阈值,再进行判断,判断温湿度、光强度的数值是否超过所设置的阈值,超过则蜂鸣器会发出警报。环境参数数据会实时的展示在云平台里。
鸡蛋孵化环境监控系统的主流程图如图3所示。主程序模块主要是完成串口、led灯、传感器、按键、WiFi等模块的初始化;程序控制WiFi模块的连接,连接成功后,建立MQTT连接;系统更新信息的采集,读取温湿度传感器、光照强度传感器检测到的数值,读取阿里云平台下发的补光阈值、遮阳阈值、 温控阈值、湿度阈值;判断温度、湿度、光强度是否超出阈值,超出则控制蜂鸣器发出警报声音;使用阿里云的物联网平台创建产品,将设备连接入阿里云,在云平台用折线图的形式展示环境的温度、湿度、光强度的变化情况,用仪表盘展示当前时刻的温度、湿度、光强度,设置可以手动输入的光照下限、光照上限、温度下限、湿度下限,并可以下发所设阈值到系统上,系统可以读取到所设参数。用户可以随时更改阈值的大小,便于操作。
图3 主程序流程
阿里云的物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平台,支持海量设备连接上云,设备与云端通过 IoT Hub 进行稳定可靠地双向通信。使用提供的MQTT协议的设备端 SDK,既满足长连接的实时性需求,也满足短连接的低功耗需求。采用物联网平台的开发服务里的IoT Studio来设计开发阈值控制平台,系统通过控制异步通信消息协议MQTT的连接来实现数据接收、显示,以及下发发补光阈值、遮阳阈值、 温控阈值、湿度阈值,在WiFi连接成功,建立MQTT连接后,系统回读下发的阈值。
环境温湿度、光强度检测系统在鸡蛋孵化系统中占有重要地位。过高过低的温度、湿度都会使基蛋孵化失败,而光照也会影响温湿度的变化,所以在鸡蛋孵化环境中温湿度、光照强度都至关重要。
本文设计的鸡蛋环境检测系统是网络型温湿度、光照强度监测系统,是由网络型温湿度监测数据后,通过网络(WiFi)上传至云平台,然后通过电脑查看云平台数据。系统经过测试,能实时检测环境的温度、湿度和光强度,通过串口打印出来上传至云平台,在云平台能实时观察到温湿度和光强度的变化情况,如图4所示,当所测参数超过所设阈值时,STM32会控制蜂鸣器发出警报。系统运行稳定,温湿度传感器检测到的温度精度在±1℃范围内,可以适用于一般的鸡蛋孵化厂的环境检测中,且系统开发简单,人员操作便利。但本文设计的环境检测系统任有不足之处,不能适用于检测范围广、环境参数精确要求高的孵化厂。
图4 云平台的数据展示