gpt4 book ai didi

ios - 使用蓝牙 LE GATT 配置文件可实现的最大轮询频率?

转载 作者:可可西里 更新时间:2023-11-01 04:39:46 36 4
gpt4 key购买 nike

我正在尝试更深入地了解 BLE 和 GATT。我感兴趣的是您每秒可以通过 GATT 配置文件进行的最大读取次数。

我知道之前有一些关于这个主题的帖子,例如: Bluetooth Low Energy - updating a characteristic value repeatedly

但是,我试图通过查看 BLE 规范来解释这些结果。

连接事件和GATT有什么关系?每个 ATT 读/写都需要一个新的连接事件吗?如果不是,是否可以说明每个连接事件可以进行多少次 ATT 读/写?

假设我想轮询一个 BLE 连接的光传感器以获得单个字节值,我可以达到的最大 Hz 是多少?将最小连接间隔设置得越低越好吗?

我能否使用“GATT 服务器通知”获得更好的结果?在 BLE 规范(Core_v4.0)中它说“主机启动每个连接事件的开始”。那么 GATT 服务器通知是如何实现的?我会认为这需要服务器发起一个连接事件。

最后,如果有人知道任何特定的 iOS 对我在集中轮询传感器时能够实现的吞吐量施加的限制,我很想听听。

最佳答案

我可以回答其中的一部分问题......

连接事件和GATT有什么关系?

它们是协议(protocol)的不同级别。您通过 HCI 处理连接和连接事件。 GATT 是您连接后使用的东西。

是否每次 ATT 读/写都需要一个新的连接事件?

没有。连接后,您可以执行多个读/写或其他 GATT 命令。

如果不是,是否可以说明每个连接事件可以进行多少次 ATT 读/写?

我认为最好的方法是自己实际对速度进行基准测试。然而,BLE 的全部意义在于以牺牲速度为代价来降低功耗。如果您担心速度,您可能不应该使用 BLE。通知/指示的全部意义在于,您不必轮询属性,而仅在特定事件发生时才收到消息。

假设我想轮询一个 BLE 连接的光传感器以获得单个字节值,我可以达到的最大 Hz 是多少?将最小连接间隔设置得越低越好吗?

请参阅以上 2 个答案。

那么GATT服务器通知是如何实现的呢?

一旦您实现了 GATT 连接,主设备和从设备之间就会进行两种方式的通信。任何一个设备都可以向另一个设备发送事件。为了使用通知,您在一个特定的属性上设置了一个位来表示您想要关于该信息的通知。然后,根据该通知的工作方式,只要有要报告的内容,您就会收到发回给您的事件。我有一种感觉,除非除了 BLE 连接之外还有一些接口(interface),否则灯泡不会有任何类型的通知。我的典型应用类似于温度计,每当温度变化 1 度时它都会发送通知。

结论:

如果您正在轮询属性,那您就错了。但有可能你必须做错,因为设备没有按照你需要的方式正确地实现通知,你不能修改设备。但是,轮询会显着增加电池使用量,您将失去使用 BLE 的好处。

关于ios - 使用蓝牙 LE GATT 配置文件可实现的最大轮询频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17388119/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com