能源经济:BLE设备 - 何时使可连接



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

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

我们可以假设 Collector 在 50% 的时间内都存在,并且正在扫描空中以查找广播设备以连接并从中收集数据

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

我目前的方法:

设备可连接(如果)

  • (A)它对某些用户有未发送的测量值,
  • B)用户打开它(通过踩秤,按下按钮或其他任何东西)

在 (B) 的情况下,设备广播自身,例如每 1 秒一次,并且可以连接到收集器

在 (A) 的情况下,设备广播自身,例如每 5 秒一次,并且可以连接到收集器

一旦条件 (A)/(B) 不适用,设备就会进入睡眠模式 - 不广播任何内容。

这是通过能源消耗的有效方法吗?或者是否有更好的做法来实现"设备可见性"?

附言找不到更好的资源来问这个问题,但这个问题可以被认为是一个编程问题,因为它与固件编程有关

请参阅我的决策树。

如果将睡眠/关闭和"开始"框链接在一起,代码将运行一个非常有效的无限循环,如果您打开设备或有数据要共享,它将打开设备。

开始-----

B) 用户是否打开了我?

  • 否:继续执行 A)
  • 是:继续回答问题 1.和 2。

A) 我有数据要发送吗?

  • 否:如果没有"user on"命令并且不需要发送数据,则:进入睡眠/关闭状态(这可能导致启动框并重新开始循环)
  • 是:设备未由用户打开,但有要发送的数据;然后:

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

当计时器=2-5分钟连接=true时,连接循环结束。当计时器用完时,进入关闭/睡眠状态。

注意:您可能希望也可能不希望添加错误处理程序以使代码中断到 A) 以防万一。

最新更新