我正在设计自定义BLE设备协议。我的设备将是 - 体重秤,血压计,健身带之一。
协议定义我的Android / iOS应用(收集器)将用于从其中一个设备收集传感器数据的收集过程。
我们可以假设收集器有50%的时间存在,并且正在扫描广播的设备以连接并从中收集数据
我的问题是: 什么是使设备可连接的有效方法,考虑到电池电量?
我目前的做法:
设备是可连接的,如果
如果(B)设备广播自己,例如每1秒钟可以连接到收藏家
如果(A)设备广播自己,例如每5秒钟可以连接到收藏家
一旦条件(A)/(B)不适用,设备就会进入休眠模式 - 不播放任何内容。
这是通过能源消耗的有效方法吗?或者有没有更好的实践来实现“设备可视性”?
P.S。无法找到更好的资源来询问,但这个问题可以被认为是一个编程问题,因为它与固件编程有关
答案 0 :(得分:3)
请参阅我的decision tree。
如果将睡眠/关闭和开始框链接在一起,代码将运行一个非常有效的无限循环,如果您打开设备,或者如果有数据要共享,它将打开设备。
开始-----
B)用户是否开启了我?
A)我有数据要发送吗?
是:设备未被用户打开,但有数据要发送;然后:
当计时器= 2-5min 或 connection = true时,连接循环结束。 当计时器用完时,进入关闭/睡眠状态。
注意:您可能会或可能不想添加错误处理程序以使代码中断为A)以防万一。