Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 节能:可连接设备-何时使其可连接?_Android_Ios_Firmware_Bluetooth Lowenergy - Fatal编程技术网

Android 节能:可连接设备-何时使其可连接?

Android 节能:可连接设备-何时使其可连接?,android,ios,firmware,bluetooth-lowenergy,Android,Ios,Firmware,Bluetooth Lowenergy,我正在设计定制的BLE设备协议。我的设备将是电子秤、血压计、健身带之一 协议定义了我的Android/iOS应用程序(Collector)将用于从这些设备之一收集传感器数据的收集过程 我们可以假设,采集器在50%的时间内存在,并且正在空中扫描广播设备,以连接并从中收集数据 我的问题是: 考虑到电池电量,使设备可连接的有效方法是什么 我当前的方法: 如果需要,设备是可连接的 (A) 它有一些用户未发送的测量值 (B) 用户将其打开(通过踩天平、按下按钮或其他方式) 在(B)种情况下,设备自身广

我正在设计定制的BLE设备协议。我的设备将是电子秤、血压计、健身带之一

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

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

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

我当前的方法:

如果需要,设备是可连接的

  • (A) 它有一些用户未发送的测量值
  • (B) 用户将其打开(通过踩天平、按下按钮或其他方式)
在(B)种情况下,设备自身广播,例如每1秒广播一次,并可连接到采集器

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

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

通过能源消耗,这是有效的方法吗?或者有没有更好的实践来实现“设备可见性”

p.S.找不到更好的资源来问这个问题,但这个问题可以被视为编程问题,因为它与固件编程有关

请参见我的问题

如果将“睡眠/关闭”和“启动”框链接在一起,代码将运行一个极其高效的无限循环,如果您打开设备或有数据要共享,该循环将打开设备

开始-----

B) 用户打开我了吗

  • 否:转至A)
  • 是:继续问题1.1和2
A) 我有数据要发送吗

  • 否:如果没有“用户打开”命令且无需发送数据,则:进入睡眠/关闭状态(这可能会导致启动框并再次开始循环)
  • 是:用户未打开设备,但有数据要发送;然后:

  • 如果connection=true-->发送数据
  • 如果connection=/=true-->启动计时器并在接下来的2-5分钟内以1秒或5秒的固定间隔开始连接循环
当计时器=2-5分钟或连接=真时,连接循环结束。 计时器用完时,进入关闭/睡眠状态


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

也许这对您来说是一本有趣的读物,我认为broascast不需要太多电池。您当前的方法已经足够了。看起来不错,但有可靠的来源证明此模型是有效的吗?我看到了算法,但电池性能才是真正重要的