手机不在场也不丢数:BLE 设备先落盘后同步,连接失败下次补传

一次性电池供电的监测设备采集的多是非实时数据:环境状态、睡眠记录、健康记录、资产状态、周期告警。这类数据不要求手机立即收到,但要求设备长期运行且数据最终能同步出去。设备不能长期开广播等连接,否则平均功耗上升,直接吃掉电池寿命。可行策略是:平时深度休眠,到点采集并先落盘,只在约定时间短暂开蓝牙;手机按约定时间找设备,连上后同步。核心是"数据先落地,蓝牙后同步",连接失败不丢数,下次补。

一次性电池蓝牙数据交换方案

适用前提

  1. 一次性电池供电,目标是长时间运行。
  2. 数据不要求秒级实时上传。
  3. 手机不需要随时控制设备。
  4. 设备有本地存储,且双方能在上次连接时约定下次同步时间。

要求手机随时连接、实时查看或实时控制的产品不适用,蓝牙在线时间必须提高,功耗预算要重新算。同步也不该依赖人工按键:设备常放在床垫、贴片、柜内等不便接触的位置,用户不该为每次同步去操作设备。按键只保留作调试、首次绑定和售后入口。

数据交换流程

每次连接成功后双方记录下一次同步时间,然后进入下一轮:

  1. 休眠:关蓝牙和传感器,只留唤醒计时。
  2. 采集:到点唤醒,完成本轮记录。
  3. 保存:写入序号、时间、上传状态。
  4. 等待同步:到约定时间后短暂开蓝牙。
  5. 同步:手机提前扫描并连接,读取本轮和历史未同步数据。
  6. 确认:手机确认收到后,设备标记为已同步。
  7. 记录下一次同步时间,关蓝牙,回到休眠。

蓝牙活动被限制在第 4 到 6 步的短窗口内,其余时间不广播、不保持连接。

连接失败处理

手机可能不在附近,也可能被系统后台限制没能及时扫描到。设备端不能假设本次一定连上,所以先保存再同步:本次没连上就关蓝牙继续休眠,数据留在本地,下次连接成功时补齐。连接失败只推迟数据到达手机的时间,不造成丢失。

手机端要保存设备返回的下次同步时间并提前扫描,连上后同步所有未完成数据并回确认,避免历史记录长期滞留在设备端。

实施要点

设备侧:

手机侧:

结论

用同步延迟换电池寿命,靠本地保存和确认机制保证数据最终可达。

本文由 AI 辅助生成,可能存在错误或遗漏,请以实际资料和官方文档为准。