这篇博文所做的项目是我在课设期间所选做的课题,特此写下来记录并帮助各位友友们,如所述不足,请谅解。
硬件清单
序号 | 名称 | 型号/作用 | 数量 |
---|---|---|---|
1 | WiFi模块 | esp-01s | 1 |
2 | 温湿度传感器 | DHT11 | 1 |
3 | 光敏传感器 | 3针制光敏传感器模块 | 1 |
4 | 烟雾浓度传感器 | MQ-2 | 1 |
5 | OLED模块 | 来实时显示数据值 | 1 |
主要包含功能
1、STM32进行DHT11温湿度数据采集、光敏传感器光照度采集及室内烟雾浓度采集。
2、将各类数据实时显示到OLED屏幕上。
3、数据进行远程传输,用户可线上平台进行实施监测。
4、数据超出阈值,通过邮件对用户进行警示。
模块介绍
1、MQ-2烟雾浓度传感器
上图可知,MQ-2烟雾浓度传感器有四个引脚:VCC DO AO GND
DO:输出数字信号,当可燃气体浓度未超出指定的阈值时,DO输出高电平,超出指定的阈值时则输出低电平。 阙值可调节。
AO: 输出模拟信号, 需与ADC采用通道连接。 由单片机将模拟信号转换为数字信号。再根据MQ-2的特性进行校正和公式转换,最终得到实际的浓度值。
原理:
当烟雾传感器所处环境中存在可燃气体时,烟雾传感器的电导率随空气中可燃气体浓度的增加而增大,输出电阻会越低,模拟信号会越大。
2、DHT11温湿度传感器
DHT11 温湿度传感器有三个引脚1: VCC DATA GND
DATA: 用于32与 DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.
buf[0] : 温度的整数数据
buf[1] : 温度的小数数据
buf[2] : 湿度的整数数据
buf[3] : 湿度的小数数据
buf[4] : 校验和数据
数据校验方法: buf[4] = buf[0] + buf[1] +buf[2] + buf[3]
校验成功后再去获取正确的温湿度值。
3、ESP-01S模块
引脚图
模块中必接引脚:
RXD —— 单片机TXD
TXD —— 单片机 RXD
VCC —— 单片机VCC
GND —— 单片机GND
stm32通过串口与esp进行通信,初始化发送AT指令进行配置,或者连接USB转TTL通过上位机配置。配置为STA(设备)模式,以设备模式接入家中路由器或自身手机热点配置。
本人使用32 直接与esp-01s模块进行串口通信,初始化时,直接进行AT指令的配置。
以下是常见AT指令
# 基础测试, 应该响应OK
AT
# 显示固件版本信息
AT+GMR
# 查看当前的WIFI模式
AT+CWMODE?
# 设置为station模式
AT+CWMODE=1
# 列出2.4G WIFI热点
AT+CWLAP
# 连接热点
AT+CWJAP="SSID","password"
# 查看IP
AT+CIPSTA?
# ping
AT+PING="202.38.64.5"
4、Onenet 平台接入
① 首先进入首页,点击开发者中心
②点击全部产品服务中的多协议接入
③ 去你自己所使用的协议入口区配置产品 ,点击添加产品去配置。
④ 在产品处添加设备,复制设备号及APIKEY添加到程序内
⑤添加数据流
5、将数据配置成json包
6、封装协议头
调用EDP_PackSaveData()函数在进行封包,封装协议头进行发送后删包。
7、项目链接
具体项目链接请访问:https://github.com/sunnunny22/red_warning
如不能访问 需要资源请私信我~