APP下载

基于物联网的智能环境监测系统的设计与实现

2019-05-17汪思德陈乙鑫

现代计算机 2019年10期
关键词:串口温湿度单片机

汪思德,陈乙鑫

(西华大学计算机与软件工程学院,成都 610039)

0 引言

物联网技术目前已经覆盖到生活的各个方面,是当前信息时代的主要技术之一。本创新设计正是运用了物联网技术,主要针对工业或现代农业的周边环境参数进行实时监测和控制,以达到环境保护和农业生产现场环境控制的目的。本设计主要以ARM 微处理器STM32 为基础构建数据处理模块,基于物联网技术,结合无线传感技术通过网络传输实现对农业的环境监测,建立智慧化、精准化的现代环境监测系统。准确、远程、自动、实时监测环境,满足精准对环境监测的要求。

1 方案介绍

本系统主要包括三个层次。感知层:即数据采集层,利用STM32F103 系列微处理器整合各种传感器(温湿度传感器、土壤温湿度传感器、光照强度传感器、CO2浓度传感器)构建数据采集和处理终端,负者采集和处理农作物生长环境参数。传输层:感知层所采集到的农作物生长环境因素参数通过无线网络传输到云服务器数据库。应用层:即用户端,Web 网页从数据获取环境的温湿度、土壤温湿度、光照强度、CO2浓度信息,并且以图表形式实时显示。同时,可根据获取的各类信息进行灌溉、升温降温等控制[1]。

2 硬件设计

2.1 硬件功能框图

如图1 硬件框图所示,本系统硬件电路以STM32F103 系列单片机为核心搭建数据采集和处理电路,整合温湿度传感器、光照强度传感器、二氧化碳浓度传感器,PM2.5 浓度和PM10 浓度,采用Wi-Fi 通信模块进行数据传输[2]。

2.2 MMCCUU模板设计

本系统中,CPU 需要对多个传感器数据进行采集和处理,因此对CPU 的处理性能、存储容量和资源接口都有较高要求[3]。本次设计选用STM32F103 系列单片机。经过评估STM32F103RCT6 满足本设计对CPU的需求。

MCU 最小系统电路包含了时钟电路、复位电路、配置电路、状态灯、调试接口和去耦电容。在图2 中,C9、C10、X1 构成了时钟电路,X1 为 8M 晶振,经过CPU 内部的PLL 锁相环进行倍频后达到72M 为CPU提供时钟信号,C9、C10 为起振电容。R3、C11、K1 构成了复位电路,STM32 系列单片机为低电平复位。上电时,单片机复位,单片机正常工作时复位引脚NRST 被上拉,保持高电平。若需要手动复位,按下复位按键K1,单片机复位引脚NRST 被拉低,单片机复位。R4-R7 四个电阻构成了启动模式配置电路,R4、R5 为上拉电阻,R6、R7 为下拉电阻。本电路中,R4、R5 默认 NC,单片机 BOOT0 和 BOOT1 被下拉,当 BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。当需要改变单片机启动模式时,可以通过改变R4-R7 四个电阻的焊接状态来改变BOOT0 和BOOT1 的电平状态,从而改变单片机启动模式。R1、LED1 构成了状态灯电路连接到单片机PA0 口,当PA0 输出低时绿色LED 被点亮。可在软件中让PA0 口以一定频率改变状态,当单片机正常工作,程序正常运行时,LED 会以一定频率闪烁。通过状态灯能方便判断单片机是否在正常工作,利于调试。CN2 是串口调试接口和JTAG调试接口。C12—C17 六个电容是MCU 电源去耦电容,PCB 布局时紧靠在MCU 电源引脚,保证MCU 供电稳定。

图1 硬件平台功能框图

2.3 传感器模板设计

(1)温湿度传感器

温湿度传感器负责采集农作物生长环境中温度和湿度信息,本设计运用DHT11 作为温湿度传感器。DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。其电路图如图3 所示。

图2 MCU最小系统原理图

图3 DHT11模块电路

(2)光照强度传感器

光照强度传感器负责采集农作物生长环境中的光照强度参数,本设计运用数字式光照传传感器模块GY-30 作为光照强度传感器。GY-30 是一种通用的光照度检测模块,内置模数转换电路,直接数字输出。采用 ROHM 原装 BH1750FVI 芯片,内置 16bit AD 转换器直接数字输出,省略复杂的计算,省略标定,不区分环境光源,接近于视觉灵敏度的分光特性。其电路图如图4 所示。

(3)CO2浓度传感器

二氧化碳浓度传感器负责采集农作物生长环境中二氧化碳浓度信息,本设计运用T6603-5 作为温湿度传感器。T6603-5 是美国GE 公司研发的一款基于红外光学原理的气体二氧化碳浓度传感器,比敏感体化学材料更具气体选择性。其电路图如图5 所示。

图4 GY-30模块电路

图5 T6603-5模块电路

2.4 通信模块设计

本系统通信模块采用ALIENTEK 推出的一款高性价比 UART-WIFI(串口-无线)模块 ATK-ESP8266,该模块板载ai-thinker 公司的ESP8266 模块。

ATK-ESP8266 模块采用串口(LVTTL)与 MCU(或其他串口设备)通信,内置TCP/IP 协议栈,能够实现串口与Wi-Fi 之间的转换。通过ATK-ESP8266 模块,传统的串口设备只是需要简单的串口配置,即可通过网络(Wi-Fi)传输自己的数据[4]。ATK-ESP8266 模块支持LVTTL 串口,兼容3.3V 和5V 单片机系统。模块支持串口转Wi-Fi STA、串口转AP 和Wi-Fi STA+Wi-Fi AP 的模式,从而快速构建串口-Wi-Fi 数据传输方案,方便设备使用互联网传输数据。

ATK-ESP8266 模块支持LVTTL 串口,兼容3.3V和5V 单片机系统,可以很方便地与单片机进行连接。本设计中为ATK-ESP8266 模块供电3.3V,模块串口I/O 电平为:Voh(min)1.44V、Vol(max)0.18V、Vih(min)1.35V、Vil(max)0.45V,可直接与单片机 I/O 相连。电路的模块接收数据TXD 引脚与单片机USART2_RXD(PA3)相连,模块发送数据 RXD 引脚与单片机USART2_TXD(PA2)相连,模块复位 RST 引脚与单片机PA1 相连。

3 软件设计

3.1系统主程序结构

软件系统分为数据采集、数据传输、控制输出三大部分,各部分采用多个进程协同完成功能,每个进程职责单一。通过Contiki 嵌入式操作系统进行各部分任务进程的调度[5]。系统主程序结构如图6 所示。

图6 系统主程序结构图

3.2 数据采集流程

数据采集主要是指对各个传感器输出数字信号的读取,并存入FIFO 队列进行数据缓存,等待数据传输流程提取数据的过程。其中包括温湿度传感器串行数据读取,二氧化碳浓度UART 串口数据的读取,土壤温湿度和光照强度I2C 串行总线数字信号的读取。

3.3 数据传输流程

数据传输流程主要指的是从FIFO 队列提取各传感器数据按照JSON 格式打包后利用串口通过Wi-Fi传输数据的过程。详细流程:感知层传感器数据字节流→字节转FIFO 节点结构体→放入接收FIFO 缓存队列→从接收缓存中依次读取字节→判断协议包头相等→读取整个首部→校验首部→读取数据域→校验数据和→存入协议包PackBlock 结构体→存入接收包缓冲队列→从接收包缓存中取出协议包→判断包目标地址→删除应答包→发送回应包→处理包。

3.4 输出控制流程

输出控制流程是指Web 运用层发出控制信号到感知层下位机收到数据包后解析数据包并做出相应控制的过程。详细流程:应用层产生控制消息→cJSON封装消息→cJSON 获取JSON 字符串→生成协议包PackBlock 结构体→转为待发送的字符流→字符流添加到未发送缓冲队列→从未发送队列取出字符流包→指定通道发送字符流包→获取字符流包→解析字符流包→做出相应控制。

4 结语

本设计基本实现了预期功能,能实现远程检测农作物生长环境中的温湿度、土壤温湿度、光照强度、CO2浓度参数。本设计具有一定的实际应用价值,运用于现代农业生产中能准确获取农作物生长过程所需的环境参数,有利于节约人力,降低成本,提高农作物质量。同时具有一定扩展性,不仅能运用于农业环境监控,也可适用于其他环境,例如将传感器换成PM2.5 传感器和有害气体传感器本系统就可运用于远程空气质量检测。但本设计还有很多不足之处,最大的不足之处在于控制部分不够完善,由于对农业大棚中灌溉和升降温等控制方式并不了解,而且基于成本限制,本设计的控制部分还只是理论的设计,并没有实际运用。同时,本设计通信是基于2.4G 的Wi-Fi 通信,这要求农业大棚内需要覆盖Wi-Fi 网络,且Wi-Fi 传输距离有限,并且没有做多点监控的组网,后续需要做较大改进。设计之初电源部分考虑的是利用太阳能加电池的方案。由于成本和时间限制,最终改为从AC220V 市电供电。后续改进时可优化电源设计。

猜你喜欢

串口温湿度单片机
一种智能化电热处理炉用温湿度传感器的变送器
文物展柜内环境温湿度的调控与监测
单片机在电子技术中的应用和开发
蛋鸡育雏育成舍环境控制技术
温湿度独立控制空调系统在医院建筑中的应用研究
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
MCS—51单片机中的多串口通讯技术的应用
基于VC串口通信的实现
单片机I/O口模拟串行通讯的C51实现方法