完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教下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的,真实简单易懂 |
|
相关推荐
1个回答
|
|
1-白名单功能都不生效问题
首先考虑 “esp_ble_gap_update_whitelist” 是否成功,查看 log,然后考虑在开启广播时(“esp_ble_gap_start_advertising”)有没有设置“Advertising filter policy”? 2-rpa_public 类型地址问题 “esp_ble_gap_update_whitelist ”支持 “BLE_WL_ADDR_TYPE_PUBLIC” 和“BLE_WL_ADDR_TYPE_RANDOM”类型, 调用 esp_ble_gap_config_local_privacy(true) 后,显示的手机地址类型是2(rpa_public),说明手机的rpa地址已经被解析出来,后面可以使用手机的 public 地址加入白名单,因此,esp_ble_wl_addr_type_t 设置为 “BLE_WL_ADDR_TYPE_PUBLIC”。 3-似乎没有正确记录随机地址类型问题 一般来说手机使用的是 public 地址,从绑定名单里读出来的所有设备地址类型都是 0,说明手机的地址已经被解析出来。 4-如何在系统重启后恢复白名单 绑定列表可以自动保存到 nvc_flash。白名单需要根据需求添加,如果重启后还要使用白名单,需要将白名单预先保存到 nvc_flash,重启后进行恢复。 |
|
|
|
只有小组成员才能发言,加入小组>>
527浏览 6评论
438浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
425浏览 5评论
421浏览 4评论
396浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 13:26 , Processed in 0.656941 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号