完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境
*使用的模块或芯片:ESP32-WROOM-32D *IDF版本:ESP-IDF Release v3.3.5 *使用的手机:苹果ios;版本:14.4.2版本 *BLE测试工具为:lightBlue *官方例子:gatt_server 问题描述 具体操作: (1)首先设置BLE名称为TS-21C04,启动程序 (2)接着更改BLE 名称为ESP-GATTS_DEMO,启动程序 (3)最后的现象如图片所示 ---外设名字还是以前的TS-21C04,本地名称为ESP-GATTS_DEMO---使用的是ios系统手机 这个问题怎么处理??谢谢!! |
|
相关推荐
1个回答
|
|
根据您提供的信息,我将分析可能导致外设名称和本地名称不一致的原因,并提供一些建议。
1. 缓存问题:iOS设备可能在第一次连接到ESP32时缓存了设备的名称。当您更改设备名称后,iOS设备可能仍然显示旧的名称。解决这个问题的方法是尝试重启iOS设备,然后重新连接到ESP32。 2. 广播间隔:ESP32的广播间隔可能过长,导致iOS设备没有及时接收到新的广播数据包。您可以尝试减小ESP32的广播间隔,以便更快地发送新的设备名称。 3. 广播数据包问题:ESP32的广播数据包可能没有正确地包含新的设备名称。请检查您的代码,确保在设置新的设备名称后,广播数据包中也包含了这个名称。 4. iOS设备对BLE设备的名称解析策略:iOS设备可能在解析BLE设备的名称时,优先使用设备的广播数据包中的名称,而不是设备的本地名称。这意味着即使您更改了设备的本地名称,iOS设备仍然可能显示广播数据包中的名称。解决这个问题的方法是同时更新设备的广播数据包和本地名称。 5. 代码问题:请检查您的代码,确保在更改设备名称后,正确地调用了相关API来更新设备名称。 综上所述,您可以尝试以下步骤来解决外设名称和本地名称不一致的问题: 1. 重启iOS设备,然后重新连接到ESP32。 2. 减小ESP32的广播间隔。 3. 检查ESP32的广播数据包,确保包含新的设备名称。 4. 同时更新ESP32的广播数据包和本地名称。 5. 检查代码,确保正确更新设备名称。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我为您提供更具体的帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
1132 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 23:41 , Processed in 0.888366 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号