BLE白名单功能问题
Posted: Thu Mar 09, 2023 9:41 am
想请教下BLE白名单(idf 5.0)的使用方法
场景:esp32s3(periperal)和华为手机(central)互连,第一次连接配对绑定,后续连接采用过滤广播连接
① esp32s3在没调用esp_ble_gap_config_local_privacy时,显示的手机地址类型是1(random),地址是addr_1
② 调用esp_ble_gap_config_local_privacy(true)后,显示的手机地址类型是2(rpa_public),地址是addr_2
esp_ble_gap_update_whitelist()好像只能支持0,1类型
无论我调用esp_ble_gap_update_whitelist(addr_1, 1) 还是
esp_ble_gap_update_whitelist(addr_2, 1)
白名单功能都不生效
那么手机(rpa_public类型地址)就没法使用esp32s3的白名单功能了吗?
另外白名单好像在esp32重启后会清空,而绑定名单不会,
从绑定名单里读出来的所有设备地址类型都是0,似乎没有正确记录随机地址类型,
那么我如何在系统重启后恢复白名单呢?难道要自己额外记录地址类型
最后再吐槽下,BLE API写的是真差,说明也不到位,再看了下STM32的,真实简单易懂
场景:esp32s3(periperal)和华为手机(central)互连,第一次连接配对绑定,后续连接采用过滤广播连接
① esp32s3在没调用esp_ble_gap_config_local_privacy时,显示的手机地址类型是1(random),地址是addr_1
② 调用esp_ble_gap_config_local_privacy(true)后,显示的手机地址类型是2(rpa_public),地址是addr_2
esp_ble_gap_update_whitelist()好像只能支持0,1类型
无论我调用esp_ble_gap_update_whitelist(addr_1, 1) 还是
esp_ble_gap_update_whitelist(addr_2, 1)
白名单功能都不生效
那么手机(rpa_public类型地址)就没法使用esp32s3的白名单功能了吗?
另外白名单好像在esp32重启后会清空,而绑定名单不会,
从绑定名单里读出来的所有设备地址类型都是0,似乎没有正确记录随机地址类型,
那么我如何在系统重启后恢复白名单呢?难道要自己额外记录地址类型
最后再吐槽下,BLE API写的是真差,说明也不到位,再看了下STM32的,真实简单易懂