基于ESP12F单片机设计的一款空气质量检测小工具,集CO2,甲醛,TVOC,PM2.5,PM10,温度,湿度于一体,带电池带外壳,支持WIFI联网,可远程查看/设置甲醛数据。
DIY、批量性产品,适用于办公室、卧室、客厅、实验室、工厂等需要实时检测显示空气质量,甲醛浓度的场合
一、产品简介
基于ESP12F单片机设计的一款空气质量检测小工具,集CO2,甲醛,TVOC,PM2.5,PM10,温度,湿度于一体,带电池带外壳,支持WIFI联网,可远程设置空气质量报警参数,查看空气质量数据。
二、应用场景
DIY、批量性产品,适用于办公室、卧室、客厅、实验室、工厂等需要实时检测显示空气质量的场合。
三、产品概述
1.该空气质量检测仪使用ESP12F作为主控,使用七合一空气质量检测模块检测所处环境中的CO2,甲醛,TVOC,PM2.5,PM10等的浓度,以及温湿度值。
2.带电池,电路中设计了充电电路及电源路径管理电路,外接电源时切断电池供电,只使用外部电源供电,节省电池电量。使用USB Type-C接口进行充电,USB口使用了2个5.1k电阻,用以诱骗快充充电器供电,否则只能使用只支持5V的充电器。
3.电池为单片3.7V聚合物锂电池,充电3小时,持续放电5小时左右。使用了一个电源开关,在不用时关闭电源,节省电池电量。
4.使用了自恢复保险丝及SMAJ5.0CA 贴片TVS瞬态抑制二极管,在输入电压异常时将电压钳位在5V,从而保护后继电路免遭异常过压的损坏。
5.使用2.8寸TFT IPS全视角液晶屏,显示WIFI连接状态,电池电量状态。
6.屏幕使用FPC插接款,既方便安装又节省空间。
7.使用网页配网,网页配置WIFI及MQTT参数,支持通过web上传固件及文件系统。连接WIFI后,使用MQTT协议进行数据上传及参数设置,MQTT没有绑定具体的某个平台,开放MQTT参数配置,可以自定义MQTT服务器参数。
8.支持OTA在线升级固件。
9.支持LittleFS文件系统,可以掉电保存各指标修正值参数。
10.可在手机端查看各种指标值以及各修正值参数,并可设置各修正参数。安卓手机端MQTT客户端使用 IOT MQTT Panel,在附件中可下载。
11.上电启动时,当WIFI未初始化(用户名、密码为空),会在等待1秒后自动进入网页配网界面。客户端ID与MAC地址关联,第一次初始化时,客户端ID自动设置为MAC地址。网页配网页面,现已支持通过web上传固件及文件系统。用于刷固件变砖的恢复。已支持HomeAssistant MQTT自动发现,可以使用MQTT集成,方便的进行控制。使用MQTT遗愿参数设置了设备在线状态。
12.元件大概成本(除去PCB费用)200元以内,主要是七合一传感器/显示屏/电池/ESP12F这4个比较贵,占去185块。
13.安卓手机APP配置好后的界面
四、产品参数
1. PCB尺寸:52mmx79mm,2层板,PCB厚度1.6mm,有铅喷锡
2.输入电压:5V
3.输入电源带载能力:1A
4. WIFI参数:只支持2.4G WIFI,不支持5G WIFI
5.七合一检测模块测量分辨率/范围/精度
五、使用说明
1.整体流程
PCB元件焊接--程序下载--手机配网--手机安装配置MQTT客户端
2.程序下载
下载附件中的源码,使用vscode编译下载;或者使用ESP8266 FLASH DOWNLOAD TOOL工具下载.bin固件。
以下为vscode下载示例
A. 把USB转TTL串口线按PCB上的丝印所示位置(注意RX/TX需要交叉接线)连接到PCB和电脑,并打开模块的电源开关(此时充电指示灯会亮红色,说明开关已经打开)。
B. 根据USB口不同,可能需要修改一下platformio.ini文件里面的COM30,改成你自己的COM口。
查看COM口方法:
C. 在vscode里面打开文件 src/main.cpp,并点击PlatformIO:Upload
D. 因本软件使用了LittleFS文件系统,因此还需要给ESP12F安装文件系统。依次点击如下1、2、3、4按钮。
E. 进行到D步固件已经安装完成,然后拿掉USB串口线,GPIO0跳线,UART重新跳线到甲醛模块,开关关闭重新打开,即可进行下一步的手机WEB配网操作
3.手机配网
烧录程序后,模块重新上电。
此时设备会生成一个配网用的软件AP热点,参数如下:
IP:192.168.4.1
ssid:qwer
password:asdfghjkl
用手机连上这个WIFI以后,在手机浏览器输入 http://192.168.4.1 进入配网的网页,可以设置上网WIFI的ssid和password,还有MQTT服务器的参数。
MQTT服务器参数示例:
host:broker-cn.emqx.io (有很多免费的MQTT服务器,可以自行百度使用方法,也可以使用源码中默认的服务器参数)
port:1883
topic:xybsmartsocket/xxxxxxxx (xxxxxxxx这几个字符非常重要,一定要复制下来,后面设置手机APP需要用到******)
OTA固件链接:http://x.x.x.x /aircheck.bin (你可以把固件编译好以后上传到自己的服务器,供设备升级。可以是网站或者是你的本地共享文件路径,上传好以后一定要打开浏览器实际测试一下,看看这个固件地址是不是能正常下载。)
设置好以后,设备自动重启,再次进入启动流程。
4.手机安装配置MQTT客户端
安卓手机安装好附件"安卓端APP_IoT MQTT Panel.zip"中的 APP后,打开APP,具体操作参考演示视频。
六、备注
1.本模块下载程序后方可正常使用,程序使用Vscode+Platformio编写,下载使用TTL串口工具。固件详见附件“bin固件.zip”压缩包,源码详见附件:“七合一空气质量检测源码_20240703.zip”。
2.显示屏及七合一检测模块购买连接在附件“显示屏及七合一空气模块购买连接.zip”中查看。
3.复刻难点:MQTT配置,MQTT服务端配置
本项目方便了用户自定义MQTT参数,但同时也给没有接触过MQTT的伙伴造成一定难度,有MQTT服务器配置及Vscode+Platformio使用等相关经验的人,可以尝试复刻。
没有相关经验,又想复刻的可以发挥自己的学习能力,补上自己的短板,再来复刻。
七、演示视频
以下为下载好程序,配网成功,重新上电后,手机端修改校准值视频。
点赞