基于WiFi的环境信息物联网云平台监测系统设计-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1568|回复: 0

基于WiFi的环境信息物联网云平台监测系统设计

[复制链接]
发表于 2021-11-23 19:01 | 显示全部楼层 |阅读模式
摘要: 针对智能家居、智能建筑、森林防火监测、生态环境监测等领域的环境信息监测问题,设计了一款基于esp8266 WiFi模块的环境信息监测系统。利用DHT11温湿度传感器监测周围环境的温湿度信息,利用MQ-2传感器监测烟雾浓度,利用光敏电阻的光电导效应监测环境的光照强度。


同时,设计了云端监测应用和手机APP软件,可将监测的环境信息通过WiFi上传到云端,之后传输至手机APP,便于用户远程监测。经过电路设计与制作、编程开发、软硬件调试,本系统实现了数据采集、数据显示、数据上报、手机APP查看环境数据等功能。

在智能家居、智能建筑、森林防火监测、生态环境监测等领域,温湿度、光照强度、烟雾浓度等环境信息的监测,对智慧生活、防火防灾有重要的影响[1-3]。因此,精准监测并记录环境温度、湿度、光照强度、烟雾浓度等信息,并及时做出有效反馈,对人们的生产生活具有重要意义。

为此,本文设计了一款基于ESP8266 WiFi模块的空气质量监测模块,用于监测当前环境的温度、湿度、光照以及烟雾等,并通过OLED显示相关环境信息。同时,设计了云端监测应用和手机APP软件,可将监测的环境信息通过WiFi上传到云端,并通过Internet将数据传输至手机APP,便于用户远程监测,为具体应用领域的监控和预防奠定基础。


1 系统设计方案


1.1 总体方案

系统功能框架如图1所示。系统主要分为如下模块:

(1)ESP8266模块为程序控制和WiFi无线通信主控模块,主要功能包括控制传感模块进行环境信息的采集,并将采集的信息通过WiFi模块经路由器传送到云平台[4-6];

(2)(1)ESP8266模块为程序控制和WiFi无线通信主控模块,主要功能包括控制传感模块进行环境信息的采集,并将采集的信息通过WiFi模块经路由器传送到云平台[4-6];

(3)云平台模块主要用于检测数据的云存储和网页端显示[7-8];

(4)手机APP主要用于远程监控,云平台通过Internet将用户信息和检测数据传送到手机APP;

(5)OLED模块用于显示本地检测信息。



图1 系统功能框架


1.2 主控模块ESP8266


ESP8266是面向物联网应用的高性价比、高度集成的WiFiMCU,可以独立运行或从属于从机搭载于其他主机MCU。ESP8266集成了增强版本的Tensilica L106 Diamond系列32位核心处理器和片上SRAM。同时,ESP8266具有完整的独立WiFi网络功能,可通过WiFi路由器连接到Internet,实现本地和云端的数据交互[9]。ESP8266的I/O可以作为传感器的输入通道,驱动LED或OLED等。


1.3 温湿度传感模块

选用的温湿度传感模块是一款含有已校准数字信号输出的温湿度复合传感器DHT11,使用单总线双向串行通信协议。数据采集时,单片机发起开始信号,DHT11向单片机发送响应并传输40位数据,具体格式为:8位湿度整数+8位湿度小数+8位温度整数+8位温度小数+8位校验。


1.4 光敏模块

采用光敏电阻的光电导效应进行环境光照强度检测。光敏电阻与光强度直接相关,随着光强度的增加,电阻减小;反之,光强度减小,电阻增加。通过电阻器分压将电阻变化转换为电压信号。采用ADC0832进行模数转换,将光照信息传输到ESP8266,然后上传到云端。


1.5 烟雾传感模块MQ-2

烟雾传感模块MQ-2使用气敏材料二氧化锡(SnO2),其在清洁空气中具有较低的电导率。如果传感器所处环境存在可燃气体,则传感器的电导率将随空气中可燃气体浓度的增加而增大,通过内部电路将电导率的变化转换成对应气体浓度的输出信号。MQ-2直流输出信号会随着烟雾浓度的变化,通过ADC0832进行转换得到烟雾浓度。


1.6 OLED模块

本文采用0.96英寸有机发光二极管OLED(Organic Light Emitting Diode,OLED)屏幕,由I2C总线驱动,用于显示检测的温湿度、光照、烟雾等环境信息。OLED具有超快的响应速度和超薄等优势,被广泛用于移动设备。


2    硬件原理

图2所示为系统硬件原理,本文采用ESP8266 D1 Mini模块。



图2硬件原理

如图2所示,ESP8266的D2引脚连接温湿度传感器DHT11的数据引脚及上拉电阻。由于光敏电阻和烟雾传感器输出的模拟量需要转换成数字量进行数据存储、处理和显示,因此本文采用芯片ADC0832进行光敏和烟雾信号的模数转换:ADC0832的CH0和CH1通道分别连接烟雾传感器和光敏传感器的输出端口,ESP8266控制ADC模块进行数据采集和传输。ESP8266模块利用RX和D1引脚控制I2C时序驱动OLED屏幕显示数据信息:ESP8266的RX引脚连接OLED的SDA引脚,D1引脚连接OLED的SCL引脚。


3    机智Aiot开发平台应用开发

机智云AIoT开发平台是机智云物联网科技有限公司推出的面向个人、企业开发者的一站式智能硬件开发和软件及云服务平台。平台提供了从定义产品、设备端开发调试、应用开发、云端开发、运营管理、数据服务等覆盖智能硬件接入到运营管理全生命周期服务的能力。机智云物联网平台为开发人员提供自助工具操作、SDK和API服务,用于开发智能硬件和开放的云端服务,降低了物联网硬件开发的技术门槛和研发成本[10]。


3.1 注册账号

登录机智云首页(https://www.gizwits.com/),注册机智云账号,进入开发者中心页面,点击创建新产品,在产品分类中选择对应的大类。


3.2 创建新产品

设置产品名称,选择产品分类和技术方案(WiFi/移动网络方案、蓝牙方案、网关方案)、通信方式、数据传输方式等参数。如图3所示,本设计的通信方式为WiFi,数据定长,功耗较低。


图3机智云平台创建新产品技术方案及参数设定界面


3.3 定义产品功能

机智云物联网平台抽象设备产品功能,定义“数据点”描述产品功能及其参数。创建数据点后,设备与云端通信的数据格式便可确定,设备、机智云可以相互识别设备与机智云互联互通的数据。图4显示了本项目的数据点,主要包含温度、湿度、烟雾和照明传感数据标识符及数据类型。


图4机智云IoT平台产品功能的数据点


3.4 机智云MCU SDK开发


机智云AIoT开发平台根据软硬件使用的方案,可以自动生成MCU开发中必要的代码,加快应用程序开发流程。本次设计选择生成SoC方案SDK,硬件平台为ESP8266_32M。机智云根据已定义产品的数据点,生成对应的设备端代码,自动实现通信协议的解析与封包,不仅可封装成简单的API,还提供了多种平台的实例代码。云平台MCU SDK开发如图5所示。


图5云平台MCUSDK开发


机智云代码自动生成物联网(IoT)应用开发平台,包括基础平台以及上层应用开发示例,如智能灯、智能开关,安防监控,能源交通,工业互联网等。SDK的基础平台按照是否基于操作系统可分为Non-OS和RTOS两种版本。本文使用Non-OS SDK版本,它是不基于操作系统的SDK,主要使用定时器和回调函数的方式实现各功能事件的嵌套,达到特定条件下触发特定功能函数的目的。


4    嵌入式软件开发

本文基于机智云生成的Non-OS SDK进行嵌入式软件开发。软件主流程如图6所示。


图6嵌入式软件主流程


用户程序入口为user_init(),完成应用的初始化功能:I/O口初始化、ADC0832初始化、OLED初始化、机智云服务初始化。初始化完成后进入空循环模式,等待连接WiFi并设置按键回调函数,WiFi定时连接中断,传感器定时检测中断。一旦中断到达,CPU跳转到中断服务函数进行中断处理。


当检测到WiFi连接成功后,设置数据更新定时器。定时检测环境数据,如温湿度、光照、烟雾等,并显示在OLED显示屏上。如果WiFi连接成功,则将检测数据上传至机智云服务器。如初次使用需配置WiFi信息,可长按按键启动一键配置模式,使用手机APP进行配置,配置完成后设备连接WiFi,连接成功后进行数据更新。WiFi定时连接中断以及传感器检测定时中断流程如图7所示。



图7WiFi定时连接中断以及传感器定时检测中断流程



5    手机APP应用开发

手机APP应用开发是在机智云官网提供的demo版本(Android 版本)基础上,根据需求在 Android Studio进行界面设计和开发。如图8所示,本文手机APP界面设计中使用线性布局,用于温度、湿度、光照、烟雾的界面信息显示,每个线性布局有1个ImageView图片视图和1个TextView文字视图,ImageView用于加载界面信息类型图片,TextView用于显示数据。

图8Android app界面开发



6    系统运行结果

设备上电后,长按按键触发配置模式,OLED显示WiFi config,使用APP点击右上角的“+”号,选择一键配置,配置之前需手机连接到目标路由器,输入WiFi密码,点击“下一步”后方可进行配置。配置完成后返回设备列表,点击设备即可查看传感数据。设备与应用调试如图9所示。

图9设备与应用调试



本文设计了一种基于WiFi的环境数据采集云平台监控系统,主要包括传感信息的采集,基于WiFi的信息传输,物联网云平台和手机APP端监控等功能。系统在ESP8266模块的控制下采集温度、湿度、光照、烟雾等环境信息,通过WiFi模块传输到机智云开发平台的云端,并利用手机APP进行环境信息的监控。


经过调试,本系统能够很好地完成数据采集、数据显示、数据上报、手机APP查看测量环境数据等功能,基本实现了设计要求。可用于智能家居、智能建筑等领域,也能对火灾、山洪等安全事故提前预警。采用的WiFi通信可以拓展为移动通信网络、NB-IoT、LoRa、蓝牙等,根据不同的传感信息实现在智能交通、智能物流、智慧农业、健康监护、工业控制等领域的应用。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 07:41 , Processed in 0.148950 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表