-
蓝牙设备名称长度受限于蓝牙广播数据包的长度
,
如果广播数据包的长度不能包含完整的设备名称,则只显示短名称,其余不能容纳的部分将被截断。
-
ESP32-C3 支持 BLE5.0,
最大广播包长
支持
1650
字节
,
可通过
esp_ble_gap_config_ext_adv_data_raw
函数来设置。
-
可以基于 esp-idf v5.0 版本的 SDK 中的
esp-idf/examples/bluetooth/bluedroid/ble_50/ble50_security_server
例程来测试扩展蓝牙名称的长度。修改
如下广播包的 name 长度
和对应
长度
的 name
字符个数
即可:
其中
0x11
表示后面所有字符长度;
0x09
代表数据类型(固定),
"E","S","P",...........
则表示设备名称对应的字符。
测试说明如下:
-
将 0x11 改为 0x37 ,即测试蓝牙名称为 54 字节的长度
-
填充 54 个字节的蓝牙名称字符
测试结果如下:
说明:
-
如果使用的是 ESP32 ,则仅支持 BLE4.2 ,BLE4.2 的广播数据包长受限为 31 字节,可基于 esp-idf v4.2 版本的 ble server 例程来进行测试。可在 menuconfig 中查看 BLE4.2 设备名称长度的限制说明,如下:
版权声明:本文为Marchtwentytwo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。