gatt_server_service_table例程失败

ChiShaoJun
Posts: 32
Joined: Mon Sep 17, 2018 3:24 am

gatt_server_service_table例程失败

Postby ChiShaoJun » Wed Nov 28, 2018 2:25 am

一、问题:模组烧写gatt_server_service_table例程成功,日志打印也是看不出问题,但是蓝牙助手就是找不到对应名字的蓝牙。但是gatt_server例程的实验现象却是成功的。
二、实验环境
模组:ESP32-DevKitC(ESP32-WROOM-32U)
平台:VMware上搭建的Ubuntu-18.04.1
ESP-IDF更新时间:20181128
蓝牙调试助手:nrf connect和ble debugger
三、附件为make monitor日志与gatt_server成功现象截图

望有大佬给我提出解答 ;)
Attachments
gatt_server成功现象.jpg
gatt_server成功现象.jpg (121.61 KiB) Viewed 17230 times
gatt_server_service_table日志.txt
(4.05 KiB) Downloaded 1474 times
gatt_server日志.txt
(5.38 KiB) Downloaded 1428 times

Weijian-Espressif
Posts: 29
Joined: Wed Aug 09, 2017 6:16 am

Re: gatt_server_service_table例程失败

Postby Weijian-Espressif » Wed Nov 28, 2018 3:56 am

我刚才更新了IDF, 运行 gatt_server_service_table demo 测试是可以被搜索到的, 蓝牙名字是 ESP_GATTS_DEMO, 从你的log看, service 已经创建成功, 广播也开始了, log 没有任何问题. 请问你有修改过什么代码吗?

ChiShaoJun
Posts: 32
Joined: Mon Sep 17, 2018 3:24 am

Re: gatt_server_service_table例程失败

Postby ChiShaoJun » Wed Nov 28, 2018 8:50 am

我怕我修改了一些东西,重新搞了个虚拟机,配置了环境,还是看不到对应例程的蓝牙的名称。
我只是把gatt_server_service_table文件夹复制出来,make menuconfig并无更改。
我把相关操作跟git status的截图放在附件上了。
Attachments
Screenshot_2018-11-28-16-42-55-894_no.nordicsemi..png
Screenshot_2018-11-28-16-42-55-894_no.nordicsemi..png (148.05 KiB) Viewed 17211 times
相关操作.png
相关操作.png (70.38 KiB) Viewed 17211 times

Weijian-Espressif
Posts: 29
Joined: Wed Aug 09, 2017 6:16 am

Re: gatt_server_service_table例程失败

Postby Weijian-Espressif » Wed Nov 28, 2018 11:34 am

我测试最新的IDF都是正常的, demo 是可以scan 和连接的. 请帮忙做以下测试:
1. 请帮忙确认你的这块 ESP32 之前是否和手机加密连接过 ? 请在手机蓝牙设置里查看是否有配对记录? 如果有请取消所有配对, 重新搜索试试
2. 你还可以找一台新的手机搜索试试 , 是否能搜索到设备广播.

ChiShaoJun
Posts: 32
Joined: Mon Sep 17, 2018 3:24 am

Re: gatt_server_service_table例程失败

Postby ChiShaoJun » Thu Nov 29, 2018 2:07 am

1、手机为小米6:蓝牙设置清除,找不到。手机开分身蓝牙查找,找不到。
2、换了个手机:honor 7X,查询到了!换个另外一台小米6,查询不到。到底什么原因?ESP32 ble 还会有些机型寻找不到吗?

Weijian-Espressif
Posts: 29
Joined: Wed Aug 09, 2017 6:16 am

Re: gatt_server_service_table例程失败

Postby Weijian-Espressif » Thu Nov 29, 2018 6:28 am

ESP32 我们进行了兼容性测试, 并没有出现这个问题. 小米手机我们测试了 Xiaomi Max 2, Xiaomi 5X, Xiaomi Redmi Note 4, Xiaomi MI 5等 测试都是ok的, 我这边没有小米6手机,无法验证你的问题. BLE 的广播信道是 37, 38, 39 , 这个蓝牙官方定义的, 7X可以搜索到说明我们的BLE 广播是符合标准, 我不确定你的小米6出现了什么问题, 你的小米6 手机是否能够搜索到其他ble 广播? 重启蓝牙是否恢复正常 ? 网上报了很多小米6蓝牙的问题, 是否小米官方有系统升级 或者补丁之类的.我这边试试能不能找到小米6手机 .

Weijian-Espressif
Posts: 29
Joined: Wed Aug 09, 2017 6:16 am

Re: gatt_server_service_table例程失败

Postby Weijian-Espressif » Thu Nov 29, 2018 6:35 am

还有一个问题, 根据你的描述, 使用 gatt_server demo 是可以搜索到广播的, gatt_service_table 搜索不到广播, 请问题这两个demo 是使用同一块ESP32 测试的吗? 这两个demo只是创建service 的方式不一样, 广播的 api 都是一样的, 没有任何区别,

ChiShaoJun
Posts: 32
Joined: Mon Sep 17, 2018 3:24 am

Re: gatt_server_service_table例程失败

Postby ChiShaoJun » Thu Nov 29, 2018 8:01 am

最神奇的是我gatt_server例程,我小米6搜的到广播设备名,换成gatt_server_service_table例程就不行,我也搞不懂。是同样的一个设备,即使我换了个ESP32-WROOM-32D现象也是一样。

Weijian-Espressif
Posts: 29
Joined: Wed Aug 09, 2017 6:16 am

Re: gatt_server_service_table例程失败

Postby Weijian-Espressif » Thu Nov 29, 2018 12:23 pm

我们有两种设置 adv 广播内容的API, esp_ble_gap_config_adv_data() 和 esp_ble_gap_config_adv_data_raw(), 在这个demo 中默认使用 esp_ble_gap_config_adv_data_raw(). 在 gatt server demo 中我们使用的是esp_ble_gap_config_adv_data().
请将 gatts_table_create_demo.c 中 63行 ''#define CONFIG_SET_RAW_ADV_DATA'' 注释掉, 重新测试.
如果还不行, 请测试 gatt_security_server demo 和 blufi demo , 测试广播是否正常, 谢谢.

ChiShaoJun
Posts: 32
Joined: Mon Sep 17, 2018 3:24 am

Re: gatt_server_service_table例程失败

Postby ChiShaoJun » Fri Nov 30, 2018 1:53 am

#define CONFIG_SET_RAW_ADV_DATA注释掉是可用的。

Who is online

Users browsing this forum: No registered users and 37 guests