本文档指导从零开始用 AMOLED 手表 + 手机微信小程序,验证数据从 BLE 硬件端到端流入六元 MySQL 的完整链路。
AMOLED 手表 ──BLE──→ 手机微信小程序 ──HTTPS──→ dc.ncrc.org.cn/api2 ──→ 六元 MySQL (deviceId=4)
待测 待测 已验证 已验证
真机测试数据写入 deviceId=4,demo
数据(deviceId=1/2/3)保留完整。
| 项 | 检查命令 | 期望 |
|---|---|---|
| 六元 API 可达 | curl -s https://dc.ncrc.org.cn/api2/api/status |
"status":"running" |
| register API 已上线 | curl -s https://dc.ncrc.org.cn/api2/ | python3 -m json.tool | grep device/register |
命中 POST /api/device/register |
| 3 台 demo 设备在 | curl -s https://dc.ncrc.org.cn/api2/api/data | python3 -c "import json,sys; print(json.load(sys.stdin)['count'])" |
3 |
| S101 已注册 | curl -s 'https://dc.ncrc.org.cn/api2/api/device/by-sign?sign=S101_FA:BA:94:8A:70:75' |
含 "id":4 |
| 手表已充电开机 | 看手表屏幕 | 显示时间 |
| 手表未被其他 App 连 | 从其他设备断开蓝牙 | — |
\\wsl$\Ubuntu\home\qq\WeChat_Mini_Program_Ble_SDK\code\demo\WeiXinSDKTSDemo验收: 模拟器显示首页,控制台无红色错误。
验收: 手机上能看到小程序首页,有功能菜单列表。
VP-W680 或 MAC 地址开头veepooBlePasswordCheckManager()
成功若卡在「连接中」:
veepooBlePasswordCheckManager 的调用日志验收: 首页显示设备已连接,无持续 loading。
WSL 端准备: 在 WSL 终端启动实时监控:
cd /home/qq/WeChat_Mini_Program_Ble_SDK
bash scripts/watch-production-data.sh监控界面会实时显示 deviceId=4
的状态(初始应为「尚无数据」)。
72 bpm)[DataStorage] HTTP同步heartRate成功: ...action: "insert" 或
"update"设备4 从「尚无数据」变为
心率(1): {心率值: XX, ...}验收三条:
达成这三条 = 第一个硬件数据类型打通成功。
每种数据独立测试,失败一个不影响其他。每跑完一个在监控面板确认数据到达。
设备4 新增 血氧(1)设备4 新增 血压(1)设备4 新增 体温(1)设备4 新增 步数(1)设备4 新增 睡眠(1)在 D/E 数据类型打通后做。任何一条不过都不应交付。
HTTP同步heartRate失败入队待补传[Sync] 网络恢复补传 {ok: 1, fail: 0}bash scripts/watch-production-data.sh
看到该组心率到达[AutoReconnect] result=>
后跟一个失败结果[App.onShow] 自动重连=>S101 / VP- / VPR
开头且 RSSI≥-75 的设备扫描结束,未找到请重试passwordCheck
看是否成功e.typedc.ncrc.org.cn 无法访问 →
curl https://dc.ncrc.org.cn/api2/api/status 测试TARGET_DEVICE
环境变量curl -s https://dc.ncrc.org.cn/api2/api/data | python3 -m json.tool --no-ensure-asciideviceId=4(本次测试新增)deviceId=1/2/3(保持不变)dataStorage.ts 中的 deviceId=4
是暂时硬编码,打通后再做动态映射(从手表 MAC 地址查 deviceId)services/dataStorage.ts:resolveDeviceId() 在 BLE 连接后调
POST /api/device/register 取 deviceIdenqueuePending
+ flushPending,触发点:onShow / 网络恢复dc.ncrc.org.cn 加到微信公众平台后台的合法 request
域名(详见 docs/4.25plan.md Step 10.1)patientId 硬编码为 1;正式上线前由六元/医生端建立映射