能源效率:BLE设备-何时可连接?

我正在设计自定义BLE设备协议.我的设备将是-体重秤,血压计,健身带之一.

该协议定义了我的Android / iOS应用(Collector)将用于从这些设备之一收集传感器数据的收集过程.

我们可以假设收集器存在的时间是50%,并且正在广播中搜索广播设备以连接并从中收集数据

我的问题是:
在考虑电池电量的情况下,使设备可连接的有效方法是什么?

我目前的做法:

设备是可连接的,如果

>(A)对于某些用户,它的测量值尚未发送,
>(B)用户将其打开(通过踩秤,按按钮或其他操作)

在情况(B)中,设备进行自身广播,例如每1秒可用于连接到收集器

在(A)的情况下,设备广播自身,例如.每5秒可用于连接到收集器

一旦不满足条件(A)/(B),设备便进入睡眠模式-不广播任何内容.

这是通过能源消耗的有效方法吗?还是有更好的做法来实现“设备可见性”?

附言找不到更好的资源来询问该问题,但该问题可以视为编程问题,因为它与固件编程有关

解决方法:

看到我的decision tree.

如果将sleep / off和Start框链接在一起,则代码会运行一个非常高效的无限循环,如果您打开设备或有要共享的数据,它将打开设备.

开始—–

B)用户打开了我吗?

>否:继续到A)
>是:继续进行问题1.和2.

A)我有要发送的数据吗?

>否:如果没有“用户打开”命令并且不需要发送任何数据,则:进入睡眠/关闭状态(大概会导致启动框并重新开始循环)
>是:用户未打开设备,但是有数据要发送;然后:

>如果connection = true->发送数据.
>如果connection = / = true->启动一个计时器,并在接下来的2-5分钟内以1或5秒的固定间隔开始连接循环.

当timer = 2-5min或connection = true时,连接循环结束.
当计时器用尽时,进入关闭/睡眠状态.

注意:为了以防万一,您可能会或可能不想添加错误处理程序以使代码中断到A).

上一篇:Forth OLT 升级配置指导


下一篇:使用 MegaCLI 检测磁盘状态并更换磁盘