Smelody01 硬件系统框图
面向展示汇报的硬件模块关系图,展示电源、主控、音频、雷达、灯光、香薰、显示交互与 USB 固件升级的整体连接关系。
整机硬件框图
USB-C 输入
5 V / 2 A 供电、充电输入、原生 USB 数据线。
- 连接 ESP32-S3 原生 USB
- 同时支持供电与数据
- 支持 U 盘固件升级
电源管理
IP5306 充放电管理,连接 4000 mAh 锂电池。
- VBAT 电压采样 -> GPIO2
- 3.3 V 供主控与逻辑外设
- 5 V 供功放、灯环等大电流负载
音频资源 Flash
W25Q128JV SPI NOR,用于存放 MP3/WAV 等音频资源。
- SPI2,20 MHz
- CS/MOSI/SCLK/MISO = GPIO10/11/12/13
用户输入
两颗 XL9555 统一承载 3 个旋钮、2 个自锁、6 个轻触按键和 4 个隐藏指示灯。
- XL9555 I2C -> 用户输入与隐藏灯
- 闹钟分钟键长按 3 秒进入升级流程
ESP32-S3-WROOM-1-N16
整机主控,16 MB Flash,运行 ESP-IDF / FreeRTOS 固件。
I2S -> DAC
UART -> 雷达
SPI -> 音频 Flash
RMT -> RGBW 灯环
PWM -> 三路风扇
ADC -> 环境音/电池
I2C -> XL9555 用户输入/指示灯
USB -> U 盘升级
音频输出
PCM5102A I2S DAC + D 类功放 + 扬声器。
- BCLK/LRCLK/DOUT = GPIO4/5/6
- 24 bit / 48 kHz 输出
- 当前预留 ESP-ADF 音频管线
60 GHz 睡眠雷达
检测在床/离床、呼吸、心率、体动和睡眠分期。
- UART1 TX/RX = GPIO17/18
- 检测距离配置 50-200 cm
RGBW 氛围灯
SK6812 RGBW x14,支持暖白色温和日出渐亮。
- DATA -> GPIO38
- 建议 5 V 供电并做电平转换
显示与香薰
HT1621B 段码 LCD + 三路香薰风扇。
- LCD CS/WR/DATA = GPIO39/40/41
- 风扇 PWM = GPIO14/15/16,配合低边 MOS 驱动 5V 两线风扇
环境与电池采样
环境音包络和电池电压进入 ADC,用于音量补偿和电量显示。
- 环境音 -> GPIO1 / ADC1_CH0
- 电池分压 -> GPIO2 / ADC1_CH1
功能链路说明
感知输入
雷达提供睡眠阶段,环境音 ADC 提供环境噪声,电池 ADC 提供电量。
→
主控决策
ESP32-S3 根据睡眠阶段调整音量、音源、灯光亮度、香薰风扇档位。
→
执行输出
I2S 音频输出、RGBW 灯光、三路风扇、LCD 状态显示同步执行。
电源树
USB-C 5 V
外部供电和充电入口。
IP5306 + 电池
充放电管理,连接 4000 mAh 锂电池。
3.3 V 逻辑电源
ESP32-S3、雷达、Flash、LCD、逻辑输入输出。
5 V 功率电源
功放、LED 灯环等高电流负载,需和模拟音频区域隔离回流。
用户输入与联动逻辑
当前已接入
闹钟分钟键长按
按键通过 XL9555 输入采样。长按约 3 秒后进入 USB U 盘升级模式;拷入
firmware.bin 并安全弹出后,再次长按确认升级并重启。
当前默认启用
睡眠联动开关
固件中的
sleep_link_enabled 当前默认为开启。开启后,雷达睡眠阶段会自动联动音频、灯光和香薰风扇。
当前默认启用
环境自适应开关
固件中的
ambient_adapt_enabled 当前默认为开启。环境音 ADC 较高时,设备自动提高目标音量。
当前默认启用
香薰使能
固件中的
aroma_enabled 当前默认为开启。睡眠联动策略会根据雷达阶段自动调整三路香薰风扇档位。
硬件预留
EC11 音量旋钮
旋转调整音量,按压可做静音或快捷功能。接入 XL9555 后会生成
volume_delta,主逻辑会把音量限制在 0-100 并下发到音频服务。
硬件预留
EC11 音源旋钮
用于白噪音、粉红噪音、棕色噪音、雨声、海浪、鸟鸣等音源切换。固件已具备音源枚举和切换逻辑。
硬件预留
EC11 灯光旋钮
用于亮度/色温调整。固件已有暖白 1800K-3000K 和日出渐亮接口,旋转即可联动灯光服务。
硬件预留
轻触按键组
场景键 2、灯光键 1、香薰键 1、闹钟 H/M 键 2,全部接到 XL9555 输入。闹钟分钟键长按可进入升级流程。
硬件预留
自锁/拨动开关
用于总联动使能或睡眠模式使能,状态进入 UI 服务后可直接控制
sleep_link_enabled 或 ambient_adapt_enabled。
| 用户动作 | 固件变量/事件 | 联动结果 | 当前状态 |
|---|---|---|---|
| 长按闹钟分钟键约 3 秒 | firmware_update_service 检测长按 |
第一次长按显示 U 盘;第二次长按执行 OTA 升级 | 已实现 |
| 旋转音量 EC11 | ui_event_t.volume_delta |
调整目标音量,范围 0-100 | 主逻辑已支持,输入扫描待接 |
| 切换睡眠联动开关 | sleep_link_enabled |
开启时雷达分期自动控制音频、灯光、香薰;关闭时不执行自动联动 | 变量已支持,硬件输入待接 |
| 切换环境自适应 | ambient_adapt_enabled |
环境音 ADC > 2600 且音量 < 80 时,自动音量 +8 | 变量已支持,硬件输入待接 |
| 切换香薰开关 | aroma_enabled |
清醒阶段风扇中档;浅睡/深睡风扇低档;关闭时风扇关闭 | 变量已支持,硬件输入待接 |
| 场景/灯光/闹钟按键 | selected_scene、light_delta、encoder_delta |
用于场景切换、亮度调整和闹钟时间设置,并显示到 LCD | 已实现输入定义 |
关键接口清单
| 模块 | 连接到主控 | 客户可理解的作用 |
|---|---|---|
| USB-C | ESP32-S3 原生 USB | 供电、充电、后期通过 U 盘方式升级固件 |
| PCM5102A + 功放 | GPIO4/5/6 I2S | 播放白噪音、雨声、粉红噪音等助眠音频 |
| W25Q128JV | GPIO10/11/12/13 SPI | 存放本地音频资源,不依赖 TF 卡 |
| 60 GHz 雷达 | GPIO17/18 UART | 识别在床、离床、清醒、浅睡、深睡等状态 |
| SK6812 RGBW | GPIO38 RMT | 提供暖光、氛围灯、日出唤醒灯效 |
| 香薰风扇 | GPIO14/15/16 PWM | 三路独立香薰风量控制 |
| HT1621B LCD | GPIO39/40/41 GPIO | 显示电量、雷达状态、时间、香薰等信息 |
| 环境音/电池 ADC | GPIO1/2 ADC | 根据环境噪声调音量,显示电池电量 |
器件选型参考
| 器件 | 规格 | 链接 | 说明 |
|---|---|---|---|
| XL9555 I/O 扩展器 | 2 颗,TSSOP-24 | 淘宝详情页 | 承载 3 个旋钮、2 个自锁、6 个轻触按键和 4 个隐藏指示灯 |
| EC11 旋转编码器 | 3 个,带按压 | 淘宝详情页 | 音量、音源、灯光/色温旋钮 |
| 6x6x5 轻触开关 | 6 个,4 脚 | 淘宝详情页 | 场景、灯光、香薰、闹钟 H/M |
| MTS/钮子自锁开关 | 2 个,2/3 档 | 淘宝详情页 | 总联动或睡眠模式使能 |
| 2510 5V 两线风扇 | 3 个,25 x 25 x 10 mm | 淘宝详情页 | 香薰风扇,配合低边 MOS 控制 |
以上为当前选型参考,后续可按同规格料号替换。
关键设计说明
音频资源使用板载 SPI Flash,不是 TF 卡,整机外观不需要额外卡槽。
USB-C 不仅供电,也承担后期 U 盘固件升级,售后升级流程更简单。
雷达、环境音、电池电量共同参与睡眠联动,能自动调节音量、灯光和香薰。
硬件上保留 UART0、BOOT、EN 和关键总线测试点,方便打样调试和量产维护。