Skip to content

feat(examples): 增加媒体测试台配对入口与一键启动 - #32

Draft
Mr-KID-github wants to merge 1 commit into
mainfrom
codex/sdk-media-lab-pairing
Draft

feat(examples): 增加媒体测试台配对入口与一键启动#32
Mr-KID-github wants to merge 1 commit into
mainfrom
codex/sdk-media-lab-pairing

Conversation

@Mr-KID-github

Copy link
Copy Markdown
Contributor

背景

独立 Python SDK 媒体测试台此前能够验证扬声器、相机和麦克风,但缺少设备配对入口,开发者必须借助其他客户端完成连接;启动命令也不够集中。本 PR 补齐本地中文测试台的配对管理与一键启动入口。

本次改动

  • 增加 yarn sdk:lab,自动选择项目虚拟环境或 WATCHEROBOT_PYTHON 指定的解释器,并通过 SDK CLI 启动受管 Application。
  • 在媒体测试网页增加六位配对码输入、取消配对、连接状态和中文错误反馈。
  • 通过 Daemon loopback 管理 REST 发起/取消设备配对,保持管理接口与业务帧路由分离。
  • 更新媒体测试台 README,并补充 Yarn 启动、HTTP 配对接口和中文 UI 的回归测试。

TDD / 验证

  • .\.venv\Scripts\python.exe -m pytest tests\test_sdk_media_lab.py -q:17 项通过。
  • .\.venv\Scripts\python.exe -m pytest -q:完整测试通过,2 项跳过。
  • .\.venv\Scripts\python.exe -m mypy src\watcherobot:85 个源码文件通过。
  • node --check examples\sdk_media_lab\web\app.js:通过。
  • node --check tools\run-sdk-media-lab.mjs:通过。
  • git diff --check HEAD^ HEAD:通过。

文档更新

  • 更新 examples/sdk_media_lab/README.md,说明 yarn sdk:lab、Python 解释器选择和 Daemon 生命周期。

风险与注意事项

  • 配对码只发送到本机 Daemon 管理接口,不写入日志或持久化。
  • 当前已确认浏览器到 Daemon 的请求链路可达;ESP32 尚未回应局域网配对广播属于设备端下一阶段问题,不在本 PR 中通过业务路由旁路规避。

下一阶段建议

  • 在 ESP32 固件增加 LAN pairing 监听可观测性,并修复 Wi-Fi 超时后的恢复状态。
  • 使用 COM20 重新烧录后完成配对、扬声器、拍照和麦克风的全量 HIL 验证。

本次提交完成 Python SDK 独立媒体测试台的阶段性交付,重点是让开发者无需依赖现有桌面客户端即可启动中文测试页面并完成设备配对操作。

主要改动:
- 增加 yarn sdk:lab 一键入口,自动选择项目虚拟环境或用户指定的 Python 解释器,并通过 SDK CLI 启动受管 Application。
- 在中文媒体测试台增加六位配对码输入、取消配对、连接状态与本地化错误提示。
- 通过 Daemon loopback 管理 REST 发起和取消配对,保持管理接口与业务消息路由边界。
- 补充 README、HTTP 配对接口和网页交互的 TDD 回归覆盖。

TDD / 验证:
- .\.venv\Scripts\python.exe -m pytest tests\test_sdk_media_lab.py -q 通过(17 项)。
- .\.venv\Scripts\python.exe -m pytest -q 通过(完整测试,2 项跳过)。
- .\.venv\Scripts\python.exe -m mypy src\watcherobot 通过(85 个源码文件)。
- node --check examples\sdk_media_lab\web\app.js 与 tools\run-sdk-media-lab.mjs 通过。
- git diff --check 通过。

风险与后续:
- 当前已确认浏览器到 Daemon 的配对请求链路可达,但 ESP32 尚未回应局域网配对广播;设备端监听与 Wi-Fi 生命周期问题留待下一阶段固件修复和 COM20 实机验证。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant