【问题标题】:Can we monitor BLE service the same way as we monitor beacon (enter region, exit region)?我们可以像监控信标(进入区域,退出区域)一样监控 BLE 服务吗?
【发布时间】:2019-01-08 17:09:15
【问题描述】:

我正在尝试了解常规 BLE 服务和 Beacon 之间的区别。基于此post BLE 信标帧只是 BLE 广告帧内的专用有效负载。 iOS 和 Android 都允许我们监控我们是否进入或退出信标区域。 BLE服务可以做同样的事情吗?

【问题讨论】:

    标签: android ios bluetooth-lowenergy ibeacon


    【解决方案1】:

    简短的回答是是的,您可以使用 BLE 服务以类似的方式监控信标。但也有缺点:

    术语 BLE 服务更准确地称为蓝牙 LE GATT 服务。这比蓝牙 LE 信标使用的独立蓝牙 LE 广告要复杂得多。

    使用蓝牙 LE 信标:

    1. 蓝牙 LE 设备发布一个蓝牙 LE 广告,其中包含唯一标识信标的固定字节序列,通常以 1Hz 和 10HZ 之间的速率发送一个数据包。

    2. 移动电话通过蓝牙 LE 扫描侦听蓝牙 LE 广告。

    3. 手机使用信标 SDK(例如 iOS 上的 CoreBluetooth 和 Android 上的信标库或其他 Android 上的)将这些扫描中广告的出现/消失转换为“进入区域”和“退出区域”事件。信标标识符嵌入广告中,并由 SDK 通过这些事件传递。

    要使用蓝牙 LE GATT 服务,步骤 1 和 2 与上述相同。但是事情变得更加复杂:

    1. 手机上的软件与蓝牙 LE 设备建立连接。
    2. 手机上的软件向蓝牙 LE 设备查询 GATT 服务
    3. 手机上的软件向蓝牙 LE 设备查询特定 GATT 服务支持的 GATT 特性
    4. 手机上的软件读取 GATT 特性的值,该特性将返回存储在蓝牙 LE 设备中的值。对于类似信标的用例,此特征通常会存储一个信标标识符,就像在传统蓝牙 LE 信标的情况下嵌入在广告本身中一样。
    5. 自定义软件根据嵌入在 GATT 特征中的标识符将托管蓝牙 LE GATT 服务的设备的出现/消失转换为进入/退出区域事件。

    使用上述技术,您当然可以使用信标等蓝牙 LE 服务。但它要复杂得多,需要定制软件来处理。这就是为什么使用更标准的不使用服务的方法更为常见的原因。

    【讨论】:

    • 感谢您的回答。这对我来说有点清楚。那么说信标也是BLE GATT服务广播的特征对吗?
    • 不完全。默认情况下,蓝牙 GATT 服务中没有内置的信标特性。您必须定义自定义蓝牙 GATT 服务,然后将信标标识符定义为其自定义特征之一。关键区别在于您是从头开始构建这一切的。
    猜你喜欢
    • 1970-01-01
    • 2015-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 2018-08-04
    • 2015-07-17
    相关资源
    最近更新 更多