feat(bridge): BLE 桥接能力——bridge_server.py(Windows原生) + BridgeTransport + --via/PPCLOCK_VIA,149 测试全绿
This commit is contained in:
1 parent
17e2512f6a
commit
49b2010088
7 files changed
+658
-2
No files matched your search
@@ -86,10 +86,44 @@ CLI 全部为单次执行语义,调度交给系统 cron:
|
||||
|
||||
结果自动写入 `docs/field-test-result.md`。
|
||||
|
||||
## BLE bridge(蓝牙在他机时)
|
||||
|
||||
当本机无蓝牙(或蓝牙经 USB/IP 透传不稳定)时,把 BLE 操作桥接到蓝牙物理所在机:
|
||||
|
||||
**服务端**(蓝牙所在机,如 Windows host-win;单文件,仅依赖 bleak):
|
||||
|
||||
```bash
|
||||
pip install bleak
|
||||
python tools/bridge_server.py --host 0.0.0.0 --port 8971
|
||||
```
|
||||
|
||||
**客户端**(本机,全部 CLI 命令透明可用):
|
||||
|
||||
```bash
|
||||
ppclock --via bridge://192.168.61.35:8971 --json scan
|
||||
export PPCLOCK_VIA=bridge://192.168.61.35:8971 # 或环境变量一次设定
|
||||
ppclock --json image photo.jpg --slot 0
|
||||
PPCLOCK_VIA=bridge://192.168.61.35 .venv/bin/python tools/field_test.py
|
||||
```
|
||||
|
||||
协议:JSONL over TCP(`ping/scan/connect/write/read/request_device_id/ota/close`),
|
||||
OTA 进度以事件流回。仅限可信 LAN 使用(无鉴权)。
|
||||
|
||||
## 本机蓝牙经 USB/IP 透传的已知问题
|
||||
|
||||
大 MTU GATT 流量会触发断流(详见 DECISIONS.md 2026-07-28)。保留缓解:
|
||||
`/sys/bus/usb/devices/1-1/power/control=on`(禁用 runtime PM)。重启后失效,固化:
|
||||
|
||||
```bash
|
||||
echo 'ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="8087", ATTR{idProduct}=="0029", ATTR{power/control}="on"' | sudo tee /etc/udev/rules.d/99-ax200-pm.rules
|
||||
```
|
||||
|
||||
根治请用上面的 bridge 模式。
|
||||
|
||||
## 开发
|
||||
|
||||
```bash
|
||||
.venv/bin/python -m pytest tests/ -q # 132 测试
|
||||
.venv/bin/python -m pytest tests/ -q # 149 测试
|
||||
```
|
||||
|
||||
治理规则见 `GOVERNANCE.md`;计划见 `PLAN.md`;协议规范见 `docs/protocol.md`。
|
||||
Reference in new issue
Block a user