当前位置: 首页 > article >正文

基于ESP32与多传感器融合的立创空气质量检测净化器DIY全攻略

基于ESP32与多传感器融合的立创空气质量检测净化器DIY全攻略最近想给工作室弄个能实时监测空气质量的设备市面上成品要么功能单一要么价格不菲。正好看到立创开源平台上有位大佬分享了一个完整的空气质量检测净化器项目功能非常全面从PM2.5到甲醛、CO2都能测还能自动控制风扇净化空气。我跟着做了一遍效果很棒今天就把这个从硬件焊接、软件烧录到最终组装的完整过程手把手分享给大家。这个项目核心是ESP32它负责读取一堆传感器数据显示在0.96寸的小屏幕上还能通过Wi-Fi让你在手机网页上远程查看。当空气质量变差时它能自动调节风扇转速来净化空气。无论你是想学习ESP32开发、传感器应用还是单纯想拥有一个高性价比的空气管家这个教程都适合你。咱们废话不多说直接开始。1. 项目功能与硬件清单在动手之前先搞清楚这个“空气管家”能干什么以及我们需要准备哪些“食材”。1.1 它能做什么这个设备集成了市面上主流的空气检测传感器功能相当强大全面检测可以同时测量PM2.5、PM10粉尘、TVOC总挥发性有机物、甲醛HCHO、二氧化碳CO2、温度、湿度和气压共8项环境参数。双屏显示本地屏幕所有数据实时显示在0.96寸的TFT彩屏上并且会用绿、黄、橙、红四种颜色直观地告诉你当前空气质量的舒适程度。远程网页ESP32会建立一个Wi-Fi热点或者连接到你家路由器。用手机或电脑打开指定网页就能远程查看所有数据非常方便。智能净化设备会根据检测到的空气质量比如PM2.5浓度自动控制风扇的转速。空气越差风扇转得越快加速空气循环净化。1.2 核心硬件“全家福”整个项目硬件分为主控板、传感器板和显示板三大部分。你需要准备或购买以下核心部件部件类别具体型号/说明关键作用主控芯片ESP32系列如ESP32-WROOM-32项目的大脑负责处理所有传感器数据、运行逻辑、驱动屏幕和创建Web服务。颗粒物传感器PMS7003或PMS7003T激光原理精准测量PM2.5和PM10浓度。PMS7003T版本还能额外提供温湿度数据。气体传感器SGP40测量TVOC指数反映有机挥发性气体的总体水平。温湿压传感器BME280测量温度、湿度和大气压力。精度高使用I2C接口。二氧化碳传感器C8D双通道红外非扩散式红外原理测量CO2浓度比热导式更准确。甲醛传感器电化学甲醛模组专门用于测量甲醛浓度注意选择量程合适的型号。显示屏幕0.96寸TFT彩屏 (ST7735驱动)本地信息显示界面。执行机构4线PWM风扇 或 2线DC风扇用于净化空气。项目电路同时支持两种风扇。电源12V-24V DC电源适配器 或 Micro USB线给整个系统供电。注意原文作者提到ESP32运行Wi-Fi和SGP40传感器自身发热可能会影响旁边的温湿度传感器如SHT20读数。因此他建议如果不焊接独立的SHT20可以直接使用PMS7003T来获取温湿度数据这样更准确。BME280则不受影响因为它主要用来测气压。2. 硬件电路设计与解析拿到PCB板后先别急着焊咱们花几分钟看懂原理图这样调试时心里才有底。整个硬件系统可以分为几个功能模块。2.1 电源管理稳定供电是第一步设备支持两种供电方式非常灵活DC电源接口DC005输入12V-24V宽电压。电源进来后首先经过TVS管和自恢复保险丝进行保护防止浪涌和过流。然后通过一颗TPS54302 DC-DC降压芯片将电压稳定地降到5V和3.3V给各个模块使用。Micro USB接口直接插手机充电器或电脑USB口供电。这里设计也很讲究CC引脚接了5.1k下拉电阻以正确识别并且同样有TVS管阵列和自恢复保险丝保护。重要提示如果你使用DC电源供电在购买滤波电容时务必注意电容的耐压值要高于你的输入电压比如用24V输入电容耐压最好选择35V或以上。2.2 风扇控制电路兼容两种风扇的秘诀这是硬件设计的一个亮点用一个电路同时兼容了常见的4线PWM风扇和2线DC风扇。控制逻辑是这样的引脚1FAN_EN通过一个光耦隔离电路控制一个NMOS管的通断。这个NMOS管直接串联在风扇的电源回路中。对于2线DC风扇我们只需要用这个引脚输出高/低电平就能像开关一样控制风扇转或停或者通过PWM实现调速。引脚2FAN_PWM当NMOS管导通风扇通电后这个引脚输出PWM信号直接连接到4线PWM风扇的PWM控制线实现无级调速。引脚3FAN_TACH这是风扇转速反馈引脚内部通过上拉电阻接到MCU。风扇每旋转一圈会通过这根线输出2个方波MCU通过计算方波频率就能知道实际转速。引脚45V_ARGB这是一个额外的5V RGB灯带供电接口如果你想让设备有点灯光效果可以接在这里。功率提醒电路板上的MOS管最大能承受10A电流但DC005电源接口的额定电流是3A。所以建议使用电流小于3A的风扇以保证安全。2.3 传感器与按键接口传感器大多通过I2C或UART接口与ESP32连接。这里有个细节需要注意ESP32的GPIO34-39这几个引脚是纯输入引脚内部没有上拉电阻。所以当它们用作按键输入时比如本项目的按键必须在外部电路添加上拉电阻否则无法正确读取高低电平。原理图中还为按键设计了RC滤波电路来防抖并且并联了TVS管防止冬天干燥环境产生的静电击穿芯片。3. 软件烧录与代码部署硬件准备就绪后我们来让设备“活”起来。这个项目使用MicroPython开发对初学者非常友好。3.1 第一步烧录MicroPython固件下载固件前往MicroPython官网找到ESP32板块下载版本号为1.22的固件.bin文件。连接电脑通过Micro USB线将你的ESP32主控板连接到电脑。使用烧录工具推荐使用Thonny IDE或esptool.py。Thonny安装后在“运行” - “选择解释器”中选择ESP32和对应的串口然后点击“安装或更新MicroPython固件”选择你下载的.bin文件即可。esptool命令行首先擦除芯片然后写入固件。# 请将 COM3 替换为你电脑上实际的串口号1.22.bin 替换为你的固件文件名 esptool.py --chip esp32 --port COM3 erase_flash esptool.py --chip esp32 --port COM3 --baud 460800 write_flash -z 0x1000 esp32-1.22.bin3.2 第二步上传项目代码固件烧录成功后ESP32就变成了一个MicroPython解释器。接下来需要把项目的代码文件传上去。获取项目代码从立创开源平台的原项目页面下载完整的代码包。使用上传工具作者推荐使用MicroPython File Uploader这类工具可以方便地将本地文件上传到ESP32的文件系统中。你也可以用Thonny IDE的文件管理功能。上传关键文件你需要上传以下文件到ESP32的根目录boot.py- 上电自动运行用于初始化。test2.py或t_t.py-主程序二选一。test2.py适用于使用独立温湿度传感器如SHT20的方案t_t.py适用于使用PMS7003T来获取温湿度的方案推荐。hardware.py- 所有传感器、屏幕、风扇的硬件驱动封装。html_page.py- 内置Web服务器要显示的网页内容。sysfont.py- 屏幕显示用的字体文件。st7735.py- 0.96寸TFT屏幕的驱动程序。voc_index.py- SGP40传感器的TVOC指数计算算法。wifi.txt- 一个文本文件里面按行存放你的Wi-Fi名称和密码格式如MyWiFi,MyPassword。如果不配置ESP32会启动AP热点模式。3.3 第三步可选编译字节码加速运行MicroPython是解释型语言直接运行.py源文件速度稍慢。我们可以将其编译成.mpy字节码文件能提升执行效率。安装与固件版本对应的编译工具。固件是v1.22就安装mpy-cross-v6.2。pip install mpy-cross-v6.2打开命令行进入代码所在目录对主要的.py文件进行编译。cd C:\你的路径\空气净化器\code mpy-cross-v6.2 -marchxtensawin -O3 -o hardware.mpy hardware.py mpy-cross-v6.2 -marchxtensawin -O3 -o test2.mpy test2.py # ... 以此类推编译其他文件将生成的.mpy文件如hardware.mpy上传到ESP32替换掉原来的.py文件。ESP32会优先执行.mpy文件。4. 组装、调试与使用心得4.1 组装流程与“避坑”指南按照下面的步骤组装可以避免很多麻烦焊接与检查仔细焊接所有芯片和接口尤其是贴片传感器焊接要快防止烙铁高温烫坏敏感元件。焊完后用万用表检查有无短路、虚焊。连接排线重中之重FPC排线座有“上接”和“下接”之分排线也有方向。原作者采用的是显示板的排线座用“上接”主控板对应接口用“下接”传感器板用“下接”主控板对应接口用“上接”。排线长度分别为6cm和10cm方向要一致。接好后务必再三确认接反很可能烧毁屏幕或传感器固定屏幕将0.96寸屏幕对准PCB板上的丝印框用1-2mm厚的双面胶粘贴固定这样既牢固又美观。机械组装先用4颗M3x6mm的圆头螺丝将显示板固定在前面板上。将所有板卡主控板、传感器板按照设计位置放入外壳内。盖上后盖用8颗M3x12mm的沉头螺丝拧紧。4.2 上电调试与使用首次上电连接电源USB或DC观察屏幕是否点亮并开始显示数据。风扇可能会根据初始空气质量短暂启动。连接Wi-Fi如果配置了wifi.txt设备会自动连接网络。打开手机Wi-Fi设置找到一个类似ESP32-XXXXXX的热点连接后在浏览器输入192.168.4.1即可访问本地网页。如果连接了家庭路由器你需要从路由器管理界面查看ESP32获取到的IP地址然后在浏览器访问该IP。观察数据屏幕上各项数据会根据阈值显示不同颜色。TVOC数据需要一点时间约20秒进行算法校准之后才会稳定输出。测试净化功能你可以在传感器附近点燃一根香或产生一些粉尘观察PM2.5数值上升后风扇转速是否会自动加快。这个项目最让我满意的地方是它的完整性和实用性。从精准的多传感器融合检测到灵活的硬件电路设计兼容两种风扇再到友好的本地远程双显示几乎考虑到了一个空气质量设备的所有需求。自己动手做下来不仅收获了一个好用的工具更对ESP32的外设控制、MicroPython开发、传感器应用有了更深的理解。希望这份详细的攻略能帮你顺利打造出自己的“空气卫士”。

相关文章:

基于ESP32与多传感器融合的立创空气质量检测净化器DIY全攻略

基于ESP32与多传感器融合的立创空气质量检测净化器DIY全攻略 最近想给工作室弄个能实时监测空气质量的设备,市面上成品要么功能单一,要么价格不菲。正好看到立创开源平台上有位大佬分享了一个完整的空气质量检测净化器项目,功能非常全面&…...

QT径向渐变完全指南:从参数解析到高级特效(QRadialGradient详解)

QT径向渐变完全指南:从参数解析到高级特效 在UI设计领域,渐变效果一直是提升视觉层次感的利器。而QT框架中的QRadialGradient,更是让开发者能够轻松创建出令人惊艳的环形渐变效果。不同于常见的线性渐变,径向渐变以圆心为中心向外…...

ESP32端云协同语音助手:嵌入式AI交互系统设计与实现

1. 项目概述ESP32-AI语音助手是一个面向嵌入式边缘智能交互场景的软硬协同系统,其核心目标是将大语言模型(LLM)能力下沉至资源受限的MCU级平台,在不依赖手机或PC中转的前提下,实现端侧语音唤醒、语义理解、多模态响应与…...

Phi-4-mini-reasoning与Anaconda集成:数据科学工作流优化

Phi-4-mini-reasoning与Anaconda集成:数据科学工作流优化 1. 引言 如果你经常用Anaconda做数据分析,可能会遇到这样的情况:面对一堆复杂的数据,明明知道里面藏着有价值的信息,却不知道从哪里开始分析。或者遇到需要多…...

如何解决Windows系统AirPods功能缺失问题?AirPodsDesktop全方位增强方案实测

如何解决Windows系统AirPods功能缺失问题?AirPodsDesktop全方位增强方案实测 【免费下载链接】AirPodsDesktop ☄️ AirPods desktop user experience enhancement program, for Windows and Linux (WIP) 项目地址: https://gitcode.com/gh_mirrors/ai/AirPodsDes…...

RK3588-PPS GPIO 配置笔记总结

1. 概述 本文档详细介绍如何在 RK3588 平台上将 GPIO1_B1 配置为接收 PPS(Pulse Per Second,秒脉冲)信号,用于高精度时间同步。PPS 信号通常由 GPS 模块提供,可实现微秒级的时间同步精度。 2. 设备树配置 2.1 Pinctrl …...

GLM-OCR模型原理浅析:从卷积神经网络到Transformer的演进

GLM-OCR模型原理浅析:从卷积神经网络到Transformer的演进 最近在做一个文档识别的项目,需要从各种复杂的扫描件里提取文字信息。试了好几个开源方案,发现基于Transformer架构的OCR模型效果确实比传统方法强不少,尤其是对排版复杂…...

Qwen3-0.6B-FP8极速部署教程:Windows/Linux/macOS三端兼容方案

Qwen3-0.6B-FP8极速部署教程:Windows/Linux/macOS三端兼容方案 想在自己的电脑上跑一个大模型,但又担心配置不够、速度太慢?今天给大家介绍一个“小钢炮”级别的AI对话工具——基于Qwen3-0.6B-FP8模型的极速对话工具。它只有6亿参数&#xf…...

ST语言入门实战:从C语言到PLC控制的快速上手指南

ST语言实战:从C语言到工业控制的无缝迁移 如果你和我一样,是从C语言或者类似的通用编程语言领域转过来的,第一次接触ST语言时,可能会觉得既熟悉又陌生。熟悉的可能是那些IF、WHILE、:赋值符号,陌生的则是它运行的环境—…...

vue状态管理库vuex+pinia

文章目录vuexpiniavuex pinia...

为什么大多数 AI 失败,本质上是治理失败

过去几年,AI事故越来越多。AI聊天机器人输出违规内容推荐算法放大极端信息自动化系统做出错误决策AI客服给出危险建议很多公司把这些问题归结为:模型问题。但事实是:大多数 AI 失败,并不是模型失败。而是 治理失败。AI 失败的真实…...

【C++】一篇文章学会使用C++ 11 Lambda表达式

Lambda表达式的定义与设计初衷 什么是Lambda? Lambda是匿名函数(unnamed function),允许在代码中“就地定义、就地使用”,无需像普通函数那样先声明/定义再调用,也无需写函数对象(仿函数&#x…...

Source Han Serif CN:免费商用宋体的全方位应用指南

Source Han Serif CN:免费商用宋体的全方位应用指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在设计领域,选择一款合适的字体往往是提升作品质感的关键一…...

5个技巧解决美的智能设备局域网控制难题

5个技巧解决美的智能设备局域网控制难题 【免费下载链接】midea_ac_lan Auto-configure and then control your Midea M-Smart devices (Air conditioner, Fan, Water heater, Washer, etc) via local area network. 项目地址: https://gitcode.com/gh_mirrors/mi/midea_ac_l…...

HY-MT1.5-1.8B优化升级:量化压缩至900MB,树莓派也能流畅运行

HY-MT1.5-1.8B优化升级:量化压缩至900MB,树莓派也能流畅运行 最近在折腾边缘设备上的AI应用,发现一个挺有意思的现象:很多号称“轻量级”的模型,真放到树莓派或者手机上一跑,要么内存爆了,要么…...

Starry Night Art Gallery效果展示:超现实构图中空间透视精度

Starry Night Art Gallery效果展示:超现实构图中空间透视精度 1. 引言:当代码遇见星空 想象一下,你走进的不是一个软件界面,而是一座深夜的美术馆。四周是深邃的墨蓝色墙壁,交互按钮闪烁着温润的金色光泽&#xff0c…...

7. GD32E230 SysTick滴答定时器:从寄存器配置到1ms精准延时实战

7. GD32E230 SysTick滴答定时器:从寄存器配置到1ms精准延时实战 大家好,我是老李,一个在嵌入式行业摸爬滚打了十几年的工程师。最近有不少朋友从STM32转战到国产的GD32平台,特别是GD32E230这款性价比很高的MCU,经常问我…...

腾讯优图Youtu-VL-4B-Instruct实战指南:图片理解与问答全流程

腾讯优图Youtu-VL-4B-Instruct实战指南:图片理解与问答全流程 1. 从一张图片开始,让AI看懂你的世界 想象一下,你手里有一张照片,可能是公司最新的销售数据图表,也可能是客户发来的产品设计图,或者是一张需…...

最优二叉查找树避坑指南:动态规划中的概率分配与子树合并陷阱

最优二叉查找树避坑指南:动态规划中的概率分配与子树合并陷阱 如果你在准备算法面试或者刷题时,曾经对着“最优二叉查找树”的题目发呆,感觉公式都懂,代码也能背,但一写就错,尤其是边界条件和概率累加总对不…...

Fish Speech 1.5企业知识库对接:Confluence/Notion文档自动语音化方案

Fish Speech 1.5企业知识库对接:Confluence/Notion文档自动语音化方案 1. 企业知识管理的新挑战与语音化机遇 现代企业面临着知识管理效率的痛点。Confluence和Notion中存储着大量宝贵的文档、培训材料和操作指南,但员工往往没有时间阅读这些文字内容。…...

Lite-Avatar形象库与Typora集成:技术文档自动化生成

Lite-Avatar形象库与Typora集成:技术文档自动化生成 1. 引言 技术文档编写一直是开发过程中的痛点。传统的文档编写方式需要手动整理代码、截图、说明文字,不仅耗时耗力,还容易出错。特别是当项目更新时,文档往往滞后于代码&…...

CLIP ViT-H-14图像编码服务实战:构建自有图像搜索引擎完整指南

CLIP ViT-H-14图像编码服务实战:构建自有图像搜索引擎完整指南 1. 项目介绍与核心价值 想象一下,你有一个包含数百万张图片的数据库,如何快速找到与某张图片相似的内容?传统的关键词搜索在这里完全失效,而基于内容的…...

ESP32-S3骑行码表设计:LVGL双缓冲与低功耗电源管理实战

1. 项目概述GPS-ESP32S3仪表盘是一款面向骑行场景的嵌入式便携式码表设备,以ESP32-S3R8为主控芯片,集成GNSS定位、电池管理、人机交互与数据记录功能。该设计并非通用型导航终端,而是聚焦于运动数据实时呈现与低功耗长期运行的工程实践&#…...

Python中finally的5个隐藏陷阱:为什么你的return值被偷偷修改了?

Python中finally的5个隐藏陷阱:为什么你的return值被偷偷修改了? 很多Python开发者都熟悉try...except...finally这个结构,知道finally块里的代码无论如何都会执行,常用于关闭文件、释放锁等资源清理工作。这听起来简单可靠&#…...

2026企业知识库选型:zyplayer-doc功能深度评测与使用总结

产品概览zyplayer-doc 是一款主打私有化部署的企业级知识库管理平台,官网首页比较简洁,右下角有一个 AI 问答的入口,点击后可直接对文档内容进行 AI 搜索和问答。有意思的是这个官网本身就是用它自己的文集功能搭建出来的,我们自己…...

华为机试Python实战:三道高频考题解析与避坑指南

1. 华为机试Python备考指南 华为机试作为技术岗位招聘的重要环节,对编程能力和问题解决能力有较高要求。我去年参加机试时发现,虽然整体难度适中,但很多考生容易在细节处理上翻车。这里分享一些实战经验,帮助大家避开常见陷阱。 考…...

Alpamayo-R1-10B多场景落地:矿山/港口/园区等封闭场景自动驾驶

Alpamayo-R1-10B多场景落地:矿山/港口/园区等封闭场景自动驾驶 1. 引言:自动驾驶的“最后一公里”难题 想象一下,在一个大型露天矿场,一辆满载矿石的卡车正沿着蜿蜒的矿道行驶。司机需要时刻注意路况、避让其他车辆、控制车速&a…...

Ollama免配置镜像优势:internlm2-chat-1.8b从下载到响应仅需90秒实测

Ollama免配置镜像优势:internlm2-chat-1.8b从下载到响应仅需90秒实测 1. 快速体验:90秒从零到智能对话 最近我在测试各种AI模型部署方案时,发现了一个令人惊喜的现象:使用Ollama部署internlm2-chat-1.8b模型,从开始下…...

AudioSeal效果展示:支持中英文混合语音、带背景音乐的复杂音频检测

AudioSeal效果展示:支持中英文混合语音、带背景音乐的复杂音频检测 1. 音频水印技术新标杆 在数字内容爆炸式增长的今天,音频内容的真实性和版权保护变得尤为重要。AudioSeal作为Meta开源的语音水印系统,为AI生成音频的检测和溯源提供了专业…...

INCA标定量修改避坑指南:如何避免hex文件刷写失败(最新版)

INCA标定量修改避坑指南:如何避免hex文件刷写失败(最新版) 最近在项目上,和几位负责ECU标定的同事聊天,发现一个挺普遍的现象:大家用INCA修改标定量初始值,然后生成hex文件刷写控制器&#xff0…...