完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ESP32,IDF版本5.1.2。连接某一ble设备,版本据说是5.0,没法验证,通过手机BLE调试APP操作反应正常,其通知和写特征值是分开的,注册NOtiFY服务后,写入成功后,设备会自动应答,但NOTIFY动作无反应。Code: Select all
I (7578) GATTC_DEMO: ESP_GATTC_CONNECT_EVT conn_id 0, if 3I (7578) GATTC_DEMO: REMOTE BDA:I (7578) GATTC_DEMO: 25 79 62 57 60 74[attachment=0]gattc_demo.c[/attachment]I (7578) GATTC_DEMO: open successI (8208) GATTC_DEMO: discover service complete conn_id 0I (8208) GATTC_DEMO: SEARCH RES: conn_id = 0 is primary service 1I (8208) GATTC_DEMO: start handle 20 end handle 25 current handle value 20I (8218) GATTC_DEMO: service foundI (8218) GATTC_DEMO: UUID16: fff0I (8228) GATTC_DEMO: Get service information from remote deviceI (8238) GATTC_DEMO: ESP_GATTC_SEARCH_CMPL_EVTI (8238) GATTC_DEMO: ESP_GATTC_CFG_MTU_EVT, Status 0, MTU 248, conn_id 0I (8248) GATTC_DEMO: ESP_GATTC_REG_FOR_NOTIFY_EVTE (8248) GATTC_DEMO: decsr not foundI (8298) GATTC_DEMO: write char success 若单独注册NOTIFY服务,则报错:Code: Select all I (5918) GATTC_DEMO: connect to the remote device.I (5938) GATTC_DEMO: stop scan successfullyI (6998) GATTC_DEMO: ESP_GATTC_CONNECT_EVT conn_id 0, if 3I (6998) GATTC_DEMO: REMOTE BDA:I (6998) GATTC_DEMO: 25 79 62 57 60 74I (7008) GATTC_DEMO: open successI (7628) GATTC_DEMO: discover service complete conn_id 0I (7638) GATTC_DEMO: SEARCH RES: conn_id = 0 is primary service 1I (7638) GATTC_DEMO: start handle 20 end handle 25 current handle value 20I (7638) GATTC_DEMO: service foundI (7648) GATTC_DEMO: UUID16: fff0I (7648) GATTC_DEMO: Get service information from remote deviceI (7658) GATTC_DEMO: ESP_GATTC_SEARCH_CMPL_EVTI (7668) GATTC_DEMO: ESP_GATTC_CFG_MTU_EVT, Status 0, MTU 248, conn_id 0I (7668) GATTC_DEMO: ESP_GATTC_REG_FOR_NOTIFY_EVTE (7708) BT_L2CAP: slave connection parameters update failed, the parameters are out of rangeI (7708) GATTC_DEMO: write descr success 代码基于gatt_client例程,与类似设备(ble 4.0版本,服务和特征UUID完全相同)连接正常运行,请问是什么原因? |
|
相关推荐
1个回答
|
|
根据您提供的信息,您正在使用ESP32 GATT客户端连接BLE设备,并尝试注册NOTIFY服务。但是,NOTIFY动作没有响应。以下是一些可能的原因和解决方案:
1. 服务和特征值UUID不匹配:请确保您使用的服务和特征值UUID与BLE设备上的实际UUID相匹配。如果UUID不匹配,ESP32可能无法正确识别服务和特征值。 2. 服务发现不完整:请确保您已经完成了服务发现过程,并且ESP32已经找到了正确的服务和特征值。如果服务发现不完整,ESP32可能无法正确注册NOTIFY。 3. NOTIFY注册失败:请检查您的代码,确保在发现服务和特征值后,您已经正确地注册了NOTIFY。如果注册失败,ESP32将无法接收到NOTIFY事件。 4. BLE设备问题:如果BLE设备存在问题,可能导致NOTIFY事件无法正常发送。您可以尝试连接其他BLE设备,以排除ESP32的问题。 5. ESP32 GATT客户端配置问题:请检查您的ESP32 GATT客户端配置,确保已经正确设置了连接参数和MTU大小。错误的配置可能导致NOTIFY事件无法正常工作。 6. 代码错误:请仔细检查您的代码,确保没有逻辑错误或遗漏。例如,确保在发现服务和特征值后,您已经正确地注册了NOTIFY。 为了解决这个问题,您可以尝试以下步骤: 1. 检查服务和特征值UUID是否与BLE设备上的UUID相匹配。 2. 确保服务发现过程已经完成,并且ESP32已经找到了正确的服务和特征值。 3. 检查您的代码,确保在发现服务和特征值后,您已经正确地注册了NOTIFY。 4. 尝试连接其他BLE设备,以排除ESP32的问题。 5. 检查您的ESP32 GATT客户端配置,确保已经正确设置了连接参数和MTU大小。 6. 仔细检查您的代码,确保没有逻辑错误或遗漏。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
474浏览 6评论
397浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
378浏览 5评论
383浏览 4评论
354浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-28 18:13 , Processed in 0.798436 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号