本地设备名称

本地设备名称有如下两种

  • 完整的本地名称(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()
  • 之后在初始化广播时设置名称类型,可设置的类型如下:
    1. 不包含设备名称:名称类型设置为BLE_ADVDATA_NO_NAME;
    2. 包含全程:名称类型设置为:BLE_ADVDATA_FULL_NAME;
    3. 包含裁剪的设备名称:名称类型设置为BLE_ADVDATA_SHORT_NAME,同时还要设置裁剪的长度。
posted @ 2024-09-19 10:31  毛豆*_*  阅读(5)  评论(0编辑  收藏  举报