- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在从 HCI 套接字接收 EVT_LE_ADVERTISING_REPORT
。我想区分 BLE 信标和普通 BLE 设备(解析设备名称等)我有点困惑是否所有 BLE 设备都会发出信标或者它们是不同的。如果不同那么它们的数据包格式如何?
最佳答案
BLE 信标帧只是 BLE 广告帧内的专用有效负载。寻找 BLE 信标的设备只需执行 BLE 广告扫描,查看每个广告,看看其中是否包含任何内容已知 BLE 信标格式(如 iBeacon、AltBeacon 或 Eddystone)的字节模式。
许多 BLE 设备类型都会发出广告,通常是为了宣传 GATT 服务。但除非设备专门设计为 BLE 信标,否则大多数 BLE 设备不会发射 BLE 信标帧。信标是一种特殊类型的 BLE 设备,尽管非常简单。
常见的 BLE 信标格式使用 BLE 服务广告(广告数据类型 0x16)或 BLE 制造商广告(广告数据类型 0xff)。然后,它们在这些数据包内包含一个字节序列,向接收者表明它们是特定的格式。遵循该字节模式,它们有几个专用于唯一标识符以及数据和发射器功率校准字段的字节。
使用制造商广告的常见信标格式包括 iBeacon 和 AltBeacon。
Eddystone 是一种使用服务广告的常见信标格式。
非信标 BLE 设备也会发出类似于 Eddystone 格式的 GATT 服务广告,但使用不同的服务 UUID 来指示它们提供的特定服务。 (例如心跳监视器或智能 watch 配置服务。)但是,这些非信标 GATT 广告通常仅用于宣传其存在,而不是在广告本身内发送数据,因此智能手机和计算机可以连接到它们并使用设备托管的更复杂的 GATT 服务交换数据。
关于bluetooth-lowenergy - BLE 广播帧和 BLE 信标帧有区别吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52304338/
我是一名优秀的程序员,十分优秀!