HomeLink 是一个双 MCU 局域网音视频消息与离线容错终端。
当前阶段:秋招核心版本开发。电脑网关、音视频上传、SQLite、MQTT、 WebSocket、离线补传、远程回复和可靠UART软件链路已实现;摄像头、 麦克风、SD卡、双向UART和长期稳定性保留为真机未验收项。
firmware/uno_controller/:Arduino UNO 固件firmware/esp32_media_node/:XIAO ESP32-S3 Sense 固件gateway/app/:电脑家庭网关gateway/tests/:网关自动化测试protocol/:UART、MQTT 和 HTTP 协议文档hardware/:接线、引脚和实物资料docs/:架构、状态机和测试报告tools/:调试及测试工具
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r gateway\requirements.txt
.\.venv\Scripts\python.exe -m uvicorn app.main:app --app-dir gateway --host 0.0.0.0 --reload然后浏览器打开 http://127.0.0.1:8000。
Windows下也可以运行:
.\tools\start_homelink.ps1即使开发板暂时不可用,也可以演示完整的软件闭环:
- 打开
http://127.0.0.1:8000。 - 点击页面顶部的“模拟按门铃”。
- 网关会创建虚拟 XIAO 设备,并生成一次访客画面和门铃录音。
- 在虚拟设备卡片上点击“请稍等”或“暂时无人”,命令会显示为已确认。
模拟模式与真实硬件共用 SQLite、事件接口、媒体接口、WebSocket 和网页, 只替代 GPIO、摄像头、麦克风及串口输入,适合无实物时演示和自动测试。
运行自动测试:
.\.venv\Scripts\python.exe -m unittest discover -s gateway\tests -v
.\.venv\Scripts\python.exe -m unittest tools.uart_protocol_tester.test_protocol -v- 自动测试覆盖HTTP媒体、SQLite、事件去重、WebSocket、设备、回复命令和软件模拟器。
- UART参考实现覆盖CRC16、流式解码、噪声恢复、ACK、三次重传和重复帧。
- UNO与ESP32固件均能通过编译。
- 旧XIAO的Sense连接器已损坏,不再用于带扩展板测试。
- 当前版本不要求继续购买替换板;所有未做真机复验的项目均明确标注。