BLE广播帧和BLE信标帧之间有区别吗

时间:2018-09-12 22:32:56

标签: bluetooth-lowenergy beacon hci

我正在从HCI套接字接收EVT_LE_ADVERTISING_REPORT。我想区分BLE信标和普通BLE设备(解析设备名称等),对于所有BLE设备是否都发出信标还是它们不同,我几乎不感到困惑。如果不同,那么它们的数据包格式如何?

1 个答案:

答案 0 :(得分:1)

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,表示它们提供的特定服务。 (例如,心跳监视器或智能手表配置服务。)但是,这些非信标GATT广告通常不用于在广告内部发送数据,而仅用于广告其存在,因此智能手机和计算机可以与其连接并使用设备托管的更复杂的GATT服务来交换数据。