首页 分享 基于ESP8266之使用MQTT通讯的迷你空气质量监测站制作(含手机APK)

基于ESP8266之使用MQTT通讯的迷你空气质量监测站制作(含手机APK)

来源:花匠小妙招 时间:2024-11-08 11:11

提示:本迷你空气质量监测站可用于检测空气温度、湿度、CO2和TVOC含量

文章目录 前言一、功能介绍二、基本思路三、硬件连接三、Arduino代码四、APP制作五、外壳绘制五、成品展示总结

前言

提示:本项目使用的是Arduino编程环境

随着生活水平的提高,空气质量开始成为人们关心的问题,那么如何才能DIY一个属于自己的迷你空气检测站呢?本文将以一步一步教你!

一、功能介绍

1、环境温度显示
2、环境湿度显示
3、环境CO2浓度显示
4、环境Tvoc浓度显示
5、获取网络时间并显示
6、通过MQTT服务器与手机APP互联传输数据

二、基本思路

使用DHT11传感器实现温度和湿度检测
使用SGP30传感器实现CO2和TVOC浓度检测
使用ESP8266做主板实现网络时间获取以及MQTT通讯
使用OLED1306做线下的数据显示

三、硬件连接

硬件连接图

三、Arduino代码

主程序小长,这里单独拿出核心代码来的讲:
1、wifi的连接

#include <ESP8266WiFi.h> WiFi.begin("My_wifi", "mi_ma");//名字,密码 WiFi.status() ;//连接状态(返回 WL_CONNECTED表示成功连接) 123

2、esp8266获取DHT11数据

#include <DFRobot_DHT11.h>//调库 #define DHT11_PIN 12//引脚定义(gpio12) DFRobot_DHT11 DHT;//给结构体命名 DHT.read(DHT11_PIN);//执行这句后,数据将更新到结构体里 DHT.temperature; //温度值 DHT.humidity;//湿度值 1234567

3、esp8266读取SGP30空气传感器数据

#include "SparkFun_SGP30_Arduino_Library.h" #include <Wire.h>//iic通讯头文件 SGP30 mySensor;//给结构体命名 Wire.begin(4, 5); //分别对应SDA,SCL;开iic总线(多个使用时只调用一次就可) mySensor.measureAirQuality();//开始测量,测完的数据放结构里对应成员里 mySensor.CO2;//二氧化碳值 mySensor.TVOC;//有机物含量 12345678

4、网络时间获取(前提为wifi已经连接并且有网)

#include <NTPClient.h> #include <WiFiUdp.h> //调库完事 WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "ntp1.aliyun.com", 60 * 60 * 8, 30 * 60 * 1000);//获取网络时间 timeClient.update();//更新时间 timeClient.getHours();//返回小时,比如可以用A=timeClient.getHours()来获取 timeClient.getMinutes();//以下类似 timeClient.getSeconds(); 123456789

5、巴法云MQTT通讯(前提为wifi已经连接并且有网)

#include <PubSubClient.h> #define ID_MQTT " " //这里填巴法云私钥 const char* mqtt_server = "bemfa.com";//MQTT服务器地址 const int mqtt_server_port = 9501; //MQTT服务器端口 WiFiClient espClient; PubSubClient client(espClient); client.setServer(mqtt_server, mqtt_server_port);//启用MQTT服务 client.setCallback(callback);//回调,用来接收订阅的消息,当接收到消息时,自动调用下面这歌callback()函数 void callback(char* topic, byte* payload, unsigned int length) { //topic为该主题名称 //payload为收到的数据 //length为收到的数据的长度 } client.loop();//监听MQTT消息 client.publish("wendu", temp);//发布主题,对应数据

1234567891011121314151617

总程序代码:
链接:https://pan.baidu.com/s/1LutSAkvvheu9bL5uJWZzpw
提取码:mvo9

四、APP制作

使用Appinventor制作,主界面搭建较为容易,可根据自己喜欢经行排版
在这里插入图片描述
关键部分:MQTT客户端
将左侧MQTT客户端拖入屏幕中后,在右边设置号巴法云服务器地址和端口号
(默认:bemfa.com:9501),第二个框填写你的密钥即可。关于巴法云如何设置可查阅:https://cloud.bemfa.com/docs/#/
在这里插入图片描述
接下来就是程序逻辑部分:
调用MQTT连接
在这里插入图片描述
连接成功后,接收消息的流程大致就是:
订阅消息
在这里插入图片描述
收到消息,标签显示
在这里插入图片描述
发送消息
在这里插入图片描述

具体的项目AIA:
链接:https://pan.baidu.com/s/10TNhBnI26q8ZfQJSew6fOw
提取码:wcit

手机APK程序:
链接:https://pan.baidu.com/s/1o4IGWAsuO4scgAz9dBz6yA
提取码:cqt0
程序界面如下:
在这里插入图片描述

五、外壳绘制

个人觉得外形比较丑,就不共享文件了,哈哈哈
在这里插入图片描述

五、成品展示

请添加图片描述
请添加图片描述

总结

以上就是今天要讲的内容,喜欢盆友可以尝试自己也去做做一个哦,不说收获满满至少也能锻炼下自己,哈哈哈。

相关知识

基于物联网的智能浇水系统(STM32+华为云IOT)
基于STM32和云平台的花卉养护系统设计(微信小程序)(209)
基于STM32 的空气质量指数预测系统毕业设计【附代码】
空气质量监测站有什么特点?
杭州144个乡镇街道建立了空气质量监测站 今年将实现全覆盖
微型空气质量监测站—评估空气质量状况
微型空气质量环境监测站,守护您的呼吸安全
路边空气质量环境监测站有哪些分类。空气质量环境监测站十大品牌
基于STM32设计的环境检测设备
环境空气质量监测站、小型空气站与微站区别

网址: 基于ESP8266之使用MQTT通讯的迷你空气质量监测站制作(含手机APK) https://www.huajiangbk.com/newsview420456.html

所属分类:花卉
上一篇: 微型环境空气质量监测系统
下一篇: 新乡空气污染:实时PM2.5空气

推荐分享