【已解决】【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

IPC/NVR/可视门铃等具备多媒体能力的设备,扫地机/AGV等机器人设备


Post Reply
19926824531
Posts: 196

问题现象:设备端初始化蓝牙协议栈,并打开广播后,APP扫描不到蓝牙设备
麻烦帮忙看下

Notes:

  1. 开发包全称:tuyaos-ipc_6.1.0_T23_uclibc_linux_fs_0.0.5.tar.gz

  2. 实现方式:
    (1) 基于蓝牙nimble协议栈
    (2) 参考 tuya蓝牙配网的开发指导,适配了tkl_bluetooth.c中的一些用得到的接口,实现蓝牙配网
    (3) tuya参考文档链接:
    https://developer.tuya.com/cn/docs/iot- ... 9rxpu0qqfx

  3. 问题分析:
    (1)设备端SDK初始化后,tkl_ble的这些接口依次被调用, 从而初始化设备端nimble协议栈,并打开设备端蓝牙广播
    tkl_ble_gap_callback_register
    tkl_ble_gatt_callback_register
    tkl_ble_stack_init => role: 3
    tkl_ble_gatts_service_add => uuid: 0xfd50
    tkl_ble_gap_adv_start

(2)APP点击开始扫描设备设备时,tkl_ble没有其他接口被调用, tuyaOS sdK没有看到蓝牙相关打印. nimble协议栈也没有设备来连接的打印。
(3)用BLE调试助手APP可以搜索并连接到这个蓝牙设备,广播信息以及gatts_service 特征值uuid都是符合tuya规范的
(4)附件是对应的设备端log,以及BLE调试助手APP 中这个蓝牙设备对应的信息

Attachments
ble_gatt_services信息.jpg
ble广播信息.jpg
tuya蓝牙配网.log
(60.73 KiB) Downloaded 46 times
Last edited by 19926824531 on 2024年 May 11日 10:30, edited 1 time in total.
郭老庄
Posts: 190

Re: 【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

正常来说广播数据是sdk设置的,你的广播数据像是自己写死的,所以APP扫不到

19926824531
Posts: 196

Re: 【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

我看tkl_ble_gap_adv_rsp_data_set接口没有被调用,
我就根据 tal_ble_peripheral_test.c demo中的广播数据(adv_data_const 和 scan_rsp_data_const)写死了

Attachments
demo中的广播数据.png
19926824531
Posts: 196

Re: 【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

麻烦帮忙看下为啥SDK为啥没有下发设置广播数据。问题已经卡了好久了

19926824531
Posts: 196

Re: 【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

之前tkl_ble_stack_init接口中没有调用gap回调上报协议栈初始化状态,修改之后,SDK有下发广播数据,_ble_gap_adv_rsp_data_set接口有被调用了。
然后设备端按要求设置广播信息后 ,但是APP还是扫描不到蓝牙设备

Attachments
蓝牙配网APP扫描不到设备.log
(53.49 KiB) Downloaded 46 times
ble广播信息.jpg
ble_gatt_services信息.jpg
郭老庄
Posts: 190

Re: 【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

你好,广播包的数据发了两遍,麻烦检查一下广播包

19926824531
Posts: 196

Re: 【TuyaOS 3.9.0 SDK】蓝牙配网,设备端开始广播后,APP扫描不到蓝牙设备

问题已解决

Post Reply