本地设备名称
本地设备名称有如下两种
- 完整的本地名称(Complate local name):不可截断
- 裁剪的本地名称(shortened local name):可以被截断,截取的内容必须是从名称的起始开始的连续的字符。
设备名称示例
完整的本地名称是:BT_Device_Name,裁剪的本地名称可以是BT_Device,也可以是BT_Dev等,但不能是T_Dev(因为T_Dev不是从名字的起始位置开始的).
应用场景
完整的本地名称:设备愿意对外展示所有的设备名称,并且设备名称不长,广播包可以容纳。
裁剪的本地名称:设备名称很长,一个广播包无法容纳,或者我们不想在广播的时候对外展示全部的设备名称,这时可以使用裁剪的设备名称,当连接建立后,主机可以通过读GAP设备名称特征来获取完整的设备名称。
虽然裁剪的设备名称用的少,但是很有用。如设备名称:IKMSIK-Uart-V2.01-20171121,可以使用裁剪的设备名称,长度设置为11,那么广播的设备名称是:IKMSIK-Uart,当需要全部名称的时候,可以连接之后查询设备名称特征值,获取全部设备名称。
使用本地名称的步骤:
- 在初始化GAP的函数里调用sd_ble_gap_device_name_set()
- 之后在初始化广播时设置名称类型,可设置的类型如下:
- 不包含设备名称:名称类型设置为BLE_ADVDATA_NO_NAME;
- 包含全程:名称类型设置为:BLE_ADVDATA_FULL_NAME;
- 包含裁剪的设备名称:名称类型设置为BLE_ADVDATA_SHORT_NAME,同时还要设置裁剪的长度。
您的资助是我最大的动力!
金额随意,欢迎来赏!