Skip to content

rudyll/esp32-s3-4

Repository files navigation

Smart Door Panel

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

首次配置(AP 模式)

设备无 HA 凭证 → 自动进 AP 模式(SSID 类似 SmartDoor-A1B2)。

  1. 手机连接 SmartDoor-XXXX 热点
  2. 浏览器开 192.168.4.1
  3. 填表:
    • Wi-Fi SSID / 密码
    • HA 地址(如 http://192.168.1.100:8123
    • HA 长期访问令牌(HA 个人主页 → 安全 → 长期访问令牌)
  4. 提交 → 自动重启 → 加入家庭 WiFi + 连接 HA

之后 NVS 保存所有凭证,OTA 不会清除。

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 — 开发历程记录(如有)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages