Skip to content

English | 简体中文

独立嵌入式硬件 SDK:开发预览 ​

当前状态 ​

这是一份开发方向和接口边界说明。开发预览源码、独立示例及构建入口见 firmware/sdk。尚无稳定发布版本和完整实机 STM32/Himax 配对验收;请勿将预览当作稳定版。

目前可用的开发入口仍是 Python SDK。固件和客户端的已有发行 资产见 Release。

两种开发方式 ​

方式运行位置开发者控制的内容状态
Python SDK电脑端基于已有设备固件编写应用已有公开入口,见 SDK 指南
嵌入式硬件 SDKESP32-S3自己的 app_main、UI、交互及硬件调用源码开发预览,尚未正式发布

嵌入式 SDK 的目标是脱离官方应用运行,不要求 Python SDK、Daemon 或服务端。 它不改变现有 Python SDK/Daemon/Application 架构。

首版目标能力 ​

模块目标接口
身体运动目标角度(度)、运动时间、停止;完成、拒绝、故障事件
身体灯光分区颜色、亮度和基础灯效
身体触摸按下、释放、长按的有序事件流
摄像头PTL 后端,单次拍照、连续 JPEG 取帧、停止与状态
麦克风与扬声器PCM 采集、播放、音量与格式配置
屏幕与屏幕触摸标准 LCD/LVGL/触摸句柄及访问保护

组件按模块可选,统一使用 watche_hw_* 命名;开发者编写自己的业务。 首版不包含语音助手、云连接、官方表情系统、AI 推理和模型管理。 目标工具链为 ESP-IDF 6.0.2、ESP32-S3,必要依赖固定版本。

运行层负责 MCU 握手、事件采集、状态转换和断线处理;应用通过订阅接收 事件。运动提交成功不等于运动完成,未就绪应拒绝控制,重连不重放旧运动。 回调只处理轻量事件,耗时业务放到应用任务;JPEG 缓冲生命周期和显示锁 等资源合同必须在正式 SDK 文档中明确。

独立示例目标 ​

  • 身体:触摸改变灯光,用户触发小幅运动,打印完成或故障事件。
  • 头部:简单 LVGL 页面、屏幕触摸、JPEG 拍照、短时 PCM 录音与回放。
  • 整机:组合上述能力,展示模块共同运行和资源所有权。

基础示例不依赖 SD 卡或模型资源。开发者只修改示例应用代码,不必启动 官方固件顶层工程,也不要求修改 STM32/Himax 固件。

烧录与安全边界 ​

正式交付必须分别说明首次准备 STM32/Himax、日常只烧录自定义 ESP32、 恢复官方整机固件三个流程。

当前 烧录指南描述的是官方整机流程;现有工具可能写入 官方 ESP32 应用,不能用于保留自定义应用。自定义工程也可能改变分区并 覆盖存储。预览的构建与自定义烧录入口见 SDK 入门说明, 操作前请阅读其中的备份要求和配对固件限制;稳定版仍需完整实机验收。

断线后不能保证 ESP32 仍能发送停止命令,安全停止依赖 STM32 侧机制。 运动示例必须经过限位、小幅运动和停止验收,不能把构建通过当作安全证明。

公开发布门禁 ​

  • 确认公开源码交付方式、许可证和固定 Git 版本;同步仓库开源范围说明。
  • 从干净 checkout 验证工具安装、三个示例构建及仅修改应用代码的流程。
  • Windows/Linux 主机测试和固定 IDF CI;回归官方固件。
  • 实机验收运动、灯光、三类身体触摸、JPEG 解码、PCM 录放音、屏幕触摸 和整机组合;缺失或不兼容模块不得挂死或无意驱动电机。
  • 记录 SDK 版本、STM32 版本、Himax 镜像校验值、板卡版本和验收证据。
  • 验证自定义烧录与官方恢复流程,并提供语义一致的 PowerShell/Shell 入口。

头部和身体全部通过前不发布首版;本文不承诺发布日期。

返回项目入口

WatcheRobot 官方文档