nRF Connect是NORDIC Semiconductor提供的一套强大的低功耗蓝牙(BLE)开发工具和应用程序,本文从两个示例着手分析:iBeacon和Eddystone协议的信标Beacon
前置知识:什么是信标Beacon?
信标(Beacon) 是一种基于低功耗蓝牙(Bluetooth Low Energy, BLE)技术的小型无线发射设备,用于广播信号,向附近的智能设备(如智能手机、平板电脑)传输信息。信标技术广泛应用于室内定位、导航、营销、智能家居等领域。
说人话版本:信标,可简单类比为室外定位时的GPS模块
信标的常见应用场景
室内定位与导航:在商场、机场、博物馆等场所,信标可以帮助用户定位当前位置,并提供导航服务。
精准营销:商家可以通过信标向附近的用户推送促销信息或优惠券。例如,当用户接近某个商品时,手机收到相关广告。
智能家居:信标可以用于触发智能家居设备的动作。例如,当用户进入房间时,自动开灯。
资产跟踪:在仓库或工厂中,信标可以用于跟踪设备或货物的位置。
互动体验:在展览或活动中,信标可以为用户提供互动内容。例如,当用户接近某个展品时,手机显示相关信息。
【iBeacon】
iBeacon是苹果公司的Beacon标准
【示例分析】
1. 设备类型
-
LE only: 表示该设备仅支持低功耗蓝牙(Bluetooth Low Energy),不支持经典蓝牙(Bluetooth Classic)。
2. 广播类型
-
Legacy: 表示设备使用的是传统的BLE广播方式,而不是BLE 5.0引入的扩展广播。
3. 广播标志
-
GeneralDiscoverable: 表示设备处于可被发现的状态,其他设备可以扫描到它。
-
BrEdrNotSupported: 表示设备不支持经典蓝牙(BR/EDR)。
4. Beacon信息
-
Company:
Samsung Electronics Co. Ltd. (0x0075)
表示该Beacon由三星电子公司制造。 -
Type:
Beacon (0x02)
表示这是一个Beacon设备。 -
UUID:
f2a52d43-e0ab-489c-b64c-4a83001467fd
是Beacon的唯一标识符。 -
Major:
545
和 Minor:35
是Beacon的次要标识符,通常用于区分同一类型的设备。 -
RSSI at 1m:
-60 dBm
表示在1米距离处的信号强度。
5. 设备名称
-
Complete Local Name:
LanXXXXX
是设备的完整名称
需要注意的是,该实例并非是标准的iBeacon,但是除了Company以外,其他信息均与iBeacon高度一致。
其他的可选项
1. Device type (设备类型)
- LE Only: 设备仅支持低功耗蓝牙(BLE)。
- BR/EDR Only: 设备仅支持经典蓝牙(Bluetooth Classic)。
- Dual Mode (BR/EDR/LE): 设备同时支持经典蓝牙和低功耗蓝牙。
- Unknown: 设备类型未知。
2. Advertising type (广播类型)
- Legacy: 使用BLE 4.x的传统广播方式。
- Extended: 使用BLE 5.0引入的扩展广播,支持更大的广播数据量。
- Scannable: 可被扫描的广播。
- Non-connectable: 不可连接的广播(仅广播数据)。
- Directed: 定向广播,针对特定设备。
3. Flags (广播标志)
- GeneralDiscoverable: 设备处于通用可发现模式。
- LimitedDiscoverable: 设备处于有限可发现模式(通常只在特定时间内可被发现)。
- BrEdrNotSupported: 设备不支持经典蓝牙(BR/EDR)。
- BrEdrSupported: 设备支持经典蓝牙(BR/EDR)。
- LE General Discoverable: 低功耗蓝牙通用可发现模式。
- LE Limited Discoverable: 低功耗蓝牙有限可发现模式。
4. Beacon Type (Beacon类型)
- iBeacon: 苹果公司的Beacon标准。
- Eddystone: 谷歌公司的Beacon标准。
- AltBeacon: 开源Beacon标准。
- Custom Beacon: 自定义Beacon格式。
5. Company Identifier (公司标识符)
- 这是一个16位的标识符,由蓝牙技术联盟(SIG)分配。例如:
0x0075
: 三星电子(Samsung Electronics Co. Ltd.)0x004C
: 苹果公司(Apple Inc.)0x0006
: 微软公司(Microsoft Corporation)0x000D
: 德州仪器(Texas Instruments Inc.)6. RSSI at 1m (1米处的信号强度)
- 这是一个表示信号强度的值,单位是dBm。常见范围:
-30 dBm
到-60 dBm
: 信号很强,通常距离较近。-60 dBm
到-80 dBm
: 信号中等,距离适中。-80 dBm
到-100 dBm
: 信号较弱,距离较远。-100 dBm
以下: 信号非常弱,可能无法稳定连接。7. Complete Local Name (完整设备名称)
- 这是一个UTF-8字符串,表示设备的完整名称。例如:
LansitecLoRaBleGw_0023
MyBLEDevice
SensorTag
- 如果名称过长,设备可能会使用 Shortened Local Name(缩短的设备名称)。
8. UUID (通用唯一标识符)
- 这是一个128位的标识符,通常用于唯一标识Beacon或服务。例如:
f2a52d43-e0ab-489c-b64c-4a83001467fd
E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
(iBeacon示例)- 在Beacon中,UUID通常用于标识特定的Beacon类型或品牌。
9. Major 和 Minor
- Major: 主要用于区分同一UUID下的不同Beacon组。例如,一个商场中的不同区域。
- Minor: 主要用于区分同一Major下的不同Beacon设备。例如,一个区域内的不同店铺。
- 这两个值通常为16位整数,范围是
0
到65535
。10. Bonding Status (绑定状态)
- Not Bonded: 设备未与任何设备配对。
- Bonded: 设备已与某个设备配对。
【Eddystone】
Eddystone是谷歌公司的Beacon标准
Eddystone 的特征:
- Company Identifier: Eddystone 的 Company Identifier 通常是
0x00AA
(谷歌的标识符),但某些实现可能使用其他标识符。 - 广播数据格式: Eddystone 支持多种帧格式,包括:
- UID: 用于广播唯一的 Beacon 标识符。
- URL: 用于广播一个可访问的 URL。
- TLM: 用于广播 Beacon 的遥测数据(如电池电压、温度等)。
- URL 字段: Eddystone URL 帧会直接广播一个 URL,例如
https://espressif.com
。
参考:nRF Connect:BLE开发调试神器-CSDN博客
https://blog.csdn.net/jly_20220520/category_12393702.html