🎓 ESP32 多房间温控面板
中央空调控制实战
🧸
友好 · 30章
🌡️ 从零到部署
📟 双核实战
⚡ LVGL + 触摸
01
项目概述与硬件选型
了解中央空调控制原理,选择ESP32、DHT22/AM2301、继电器、红外发射管等核心器件。
02
开发环境搭建
安装Arduino IDE或PlatformIO,配置ESP32支持包,安装必要库文件。
03
GPIO基础与LED控制
学习GPIO引脚功能,编写程序控制板载LED闪烁,理解数字输出。
04
按键输入与消抖处理
机械按键工作原理,按键检测,软件延时和状态机消抖。
05
DHT22温湿度传感器驱动
单总线通信协议,编写DHT22驱动库,实现温湿度读取与解析。
06
OLED显示屏驱动(SSD1306)
I2C通信,U8g2/Adafruit_SSD1306库驱动0.96寸OLED,显示温湿度。
07
多任务与FreeRTOS基础
ESP32双核架构,FreeRTOS任务创建、调度、优先级概念。
08
任务间通信-队列
FreeRTOS队列进行任务间数据传递,传感器数据采集→显示流转。
09
任务间同步-信号量与互斥锁
信号量同步,互斥锁保护共享资源(如I2C总线)。
10
红外遥控原理与IRremote库
NEC红外协议,IRremote库发送/接收红外信号,控制空调开关。
11
继电器控制与强电隔离
继电器工作原理,ESP32控制继电器模块,空调电源通断控制。
12
PWM与LED调光/风扇调速
PWM原理,LEDC库控制LED亮度或模拟风扇风速。
13
模拟输入与ADC
ESP32的ADC,读取电位器或模拟温度传感器电压值。
14
Wi-Fi连接与网络基础
Station和AP模式,连接家庭路由器,获取IP地址。
15
TCP/IP与Socket通信
TCP/IP协议栈,WiFiClient库建立TCP连接,PC端数据收发。
16
HTTP协议与Web Server
HTTP GET/POST,ESPAsyncWebServer搭建Web服务器显示温湿度。
17
WebSocket实时通信
WebSocket协议,浏览器与ESP32双向实时数据推送。
18
JSON数据格式与ArduinoJson库
JSON格式,ArduinoJson封装/解析传感器数据,便于网络传输。
19
MQTT协议与物联网云平台
MQTT发布/订阅,连接broker.emqx.io,实现远程数据上报。
20
NTP时间同步与定时任务
NTP获取标准网络时间,定时开关空调或定时上报数据。
21
SPIFFS文件系统与配置存储
SPIFFS文件系统,Wi-Fi密码、空调参数存为JSON,掉电保存。
22
单房间温控面板原型
综合传感器、显示、红外、继电器,搭建闭环温控系统。
23
多房间拓扑与RS485通信
RS485总线与Modbus协议,MAX485模块实现有线通信。
24
ESP-NOW无线组网
ESP-NOW点对点/广播,多模块低功耗无线数据交换。
25
主控面板与节点面板架构设计
主控(触摸屏)+节点(按键),定义通信协议和数据帧格式。
26
LVGL图形用户界面
LVGL图形库,TFT触摸屏绘制温控界面:温度滑块、模式按钮。
27
触摸屏交互与手势识别
FT6336/XPT2046驱动,点击、滑动调整目标温度。
28
空调协议逆向分析
逻辑分析仪抓取红外波形,解码NEC/松下私有协议。
29
系统联调与OTA远程升级
多房间联调,ArduinoOTA库实现Wi-Fi远程固件升级。
30
低功耗设计与电池供电
深度睡眠(Deep Sleep),定时器唤醒,电池供电无线温控节点。