返回列表
Music Baby
firmwarecommunityai-passporttoymedia

Music Baby

三键互动音乐玩具,内置三首儿歌

作者 @aaronluyang版本 未发布更新 2026/08/260

关于

Music Baby

Music Baby cover

Music Baby 是运行在 FoloToy AI Passport(ESP32-C3、240 x 320 屏幕、三实体键)上的独立音乐玩具固件。本目录是该产品后续开发、构建和发布的唯一项目根。

当前功能

  • 三首独立歌曲:TWINKLE STAR、RAIN RAIN、ABC SONG
  • 菜单背景音乐和按键反馈音
  • 雨滴计数从 0 到 10 饱和,UP 增加、DOWN 减少
  • 音量 20%-90%、亮度 30%-100%,通过 NVS 持久化
  • CW2017 电量显示,芯片读数无效时按电压估算,外设缺失时安全降级
  • OK 短按播放/暂停,播放器内 OK 长按返回菜单

产品范围不包含 PLAY ALL、徽章、贴纸或歌曲完成奖励。

项目结构

main/                    应用入口、UI、状态和合成音频
components/bsp/          显示、按键、音频、电池和共享 I2C
docs/                    硬件开发与故障说明
tools/                   发布辅助脚本
release/                 可刷写整包与校验文件
partitions.csv           8 MB Flash 分区表
sdkconfig.defaults       可复现 ESP-IDF 配置

构建

使用 ESP-IDF 5.5.3:

source "$HOME/esp/esp-idf-v5.5.3/export.sh"
export PATH="$HOME/.local/cmake/CMake.app/Contents/bin:$PATH"
idf.py set-target esp32c3
idf.py build size

首次构建会下载 components/bsp/idf_component.yml 中声明的依赖。不要提交 build/、managed_components/ 或本机生成的 sdkconfig。

刷机

连接设备并确认端口后:

idf.py -p /dev/cu.usbmodem1101 flash monitor

端口名称必须以当前机器实际检测结果为准。发布整包可从地址 0x0 写入,但应优先使用本项目重新生成并校验过的版本。

真机验收

  1. 启动日志出现 Music Baby starting 和 Ready: audio=1,无重启、assert 或 watchdog。
  2. 菜单只有三首歌和 SETTINGS,没有 PLAY ALL 或奖励入口。
  3. 三首歌可分别进入、播放、暂停并长按 OK 返回。
  4. 雨滴从 0 开始,在 0 和 10 保持饱和,每次 UP/DOWN 都有视觉和声音反馈。
  5. 音量、亮度修改后重启仍保留;电池不可用时 UI 不崩溃。

交付时分别记录 Build、Host tests、Device tests 和 Unverified。

特性

▸内置《小星星》《Rain Rain Go Away》《ABC Song》
▸实体键播放/暂停并触发星星动画等互动效果
▸菜单背景音乐与按键反馈音
▸音量/亮度设置通过 NVS 持久化保存

一键安装

通过 Web Serial API 在浏览器内直接刷写固件到你的 AI Passport

查看 GitHub 仓库 ↗

需要 Chrome/Edge 89+ · 不支持时可查看手动教程

手动安装教程 ↗

项目信息

仓库https://github.com/aaronluyang/music-baby
Star0
固件版本未发布
兼容硬件AI Passport v1