ESP32-S3 Touch LCD 4" 智能门锁面板,运行 LVGL 9 + ESP-IDF 5.5。 Home Assistant WebSocket 集成,iOS 风界面,支持中文。
- 主页 — 时间/农历/天气/室内外温湿度 PM2.5/灯光空调计数
- 场景 — 一键执行 HA 场景(关灯、关空调、会客、观影、温馨等)
- 音乐 — 控制 Music Assistant / Denon AVR(播放/暂停/曲目/音量/shuffle)
- 门锁 — 大按钮一键开门(XL9535 继电器)
- 板卡:Waveshare ESP32-S3-Touch-LCD-4 V4.0(4 寸 480×480 RGB IPS + 电容触摸)
- 触摸:GT911(I2C @ 50 kHz)
- IO 扩展:XL9535(继电器控制) + CH32V003(SYS_EN 等)
- PSRAM:8 MB
- Flash:16 MB
# 1. 装 ESP-IDF v5.5.x
. ~/esp/esp-idf/export.sh
# 2. 应用补丁(见 PATCHES.md,否则触摸偶发卡死、I2C bus 挂死)
# 3. 拉依赖 + 编译
idf.py reconfigure
idf.py build
# 4. 首次烧录(USB),分区表改变需要 erase
idf.py -p /dev/cu.usbmodemXXX erase-flash flash monitor设备无 HA 凭证 → 自动进 AP 模式(SSID 类似 SmartDoor-A1B2)。
- 手机连接
SmartDoor-XXXX热点 - 浏览器开
192.168.4.1 - 填表:
- Wi-Fi SSID / 密码
- HA 地址(如
http://192.168.1.100:8123) - HA 长期访问令牌(HA 个人主页 → 安全 → 长期访问令牌)
- 提交 → 自动重启 → 加入家庭 WiFi + 连接 HA
之后 NVS 保存所有凭证,OTA 不会清除。
两种触发:
- HA 端:通过 input_text/event 推 URL(开发中)
- 设备端:Door 页右上角空白区域 长按 5 秒 → 自动从 GitHub Releases latest 拉新固件
固件分发:每次 release 上传 smart_door_panel.bin 到本仓库 GitHub Releases。
设备拉的 URL = https://github.com/rudyll/esp32-s3-4/releases/latest/download/smart_door_panel.bin
main/secrets.h含 HA token 和内网 IP,被.gitignore排除- 提交前请用
git diff --cached二次确认无敏感信息 - 实体 ID(如
light.shu_fang_tai_deng_*)会暴露智能家居布局,但本身不是凭证
PATCHES.md— managed_components / ESP-IDF 必要补丁清单progress.md— 开发历程记录(如有)