[求助] sdk蓝牙配网, app交互过程疑问

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


yangmin
Posts: 9

[SDK]:TuyaOS V:6.2.12 BS:40.00_PT:2.3_LAN:3.5_CAD:1.0.5_CD:1.0.0
[配置]:ssc373(集成tuyaos) + b6x(单片机蓝牙, 串口透传) + 涂鸦app

[tuya sdk调试]:
[方案a]
第一步: ssc373集成tuyaos,
第二步:b6x服务注册;
第三步:重新调用ret = tal_ble_bt_init(TAL_BLE_ROLE_PERIPERAL, tuyaos_bluetooth_event_callback); 函数内容tal_ble_bt_init 和tuyaos_bluetooth_event_callback 与tuyaos_tkl_ble_peripheral_test.c一样, 只是修改了广播数据。
第四步:用nRF验证数据交互正常;

[方案b]
第一步: ssc373集成tuyaos,
第二步:b6x服务注册;
第四步:用nRF验证数据交互异常;
[问题]:在连接蓝牙时候, sdk没有跑到tkl_ble_gatts_value_set ; 方案a 可以正常跑到。
[问题]:用WRITE_REQ, sdk打印“ty_ble_rx_proc version not compatibility”,没有跑到tkl_ble_gatts_value_notify;方案a 可以正常跑到。 ---但这个我看论坛其它分析是: nrf发送的格式不符合我们的协议

[tuya app调试]

  1. app扫到蓝牙设备,进行配网, app发送的是WRITE_REQ的命令使能notify,后面就没有再发WRITE_REQ, 过几秒app就断开蓝牙。
    [问题]:app发送的是WRITE_REQ的命令使能notify, 这个也是要回传给tuyaos ? 另外app和蓝牙通讯的大致流程是?
Attachments
方案a_方案b相关log.rar
(1.21 MiB) Downloaded 24 times
郭老庄
Posts: 247

Re: [求助] sdk蓝牙配网, app交互过程疑问

方案a 是一种环回测试,脱离了sdk关于蓝牙的处理逻辑;
方案b 用的是sdk的蓝牙的处理逻辑,sdk只能识别APP发来的数据
使用app配网失败,这个有日志吗?发出来看看

yangmin
Posts: 9

Re: [求助] sdk蓝牙配网, app交互过程疑问

是指手机app 配网的日志 , 还是app配网时设备sdk的日志?

app配网时还没有和tuyaos形成闭环, 有个疑问: 我蓝牙模块只收到“WRITE_REQ的命令使能notify” 的通讯; 我想确认的是这个要把此命令透传给tuyaos, 然后tuyaos再notify信息给app, 然后进行下一轮蓝牙通讯? 是这个流程吗?

郭老庄
Posts: 247

Re: [求助] sdk蓝牙配网, app交互过程疑问

yangmin 2025年 Jun 16日 16:57

是指手机app 配网的日志 , 还是app配网时设备sdk的日志?

app配网时还没有和tuyaos形成闭环, 有个疑问: 我蓝牙模块只收到“WRITE_REQ的命令使能notify” 的通讯; 我想确认的是这个要把此命令透传给tuyaos, 然后tuyaos再notify信息给app, 然后进行下一轮蓝牙通讯? 是这个流程吗?

我想要app配网时设备sdk的日志
蓝牙模块收到WRITE_REQ后,要把这个事件给sdk,sdk处理后,会把resp的信息notify给APP,APP收到resp,会继续发下一轮数据

yangmin
Posts: 9

Re: [求助] sdk蓝牙配网, app交互过程疑问

压缩包:
a. c蓝牙收到notify使能和其它数据文件 : 蓝牙app使能notify的通讯; 也收到其他通讯;--- 只测到一次。
b. d
蓝牙只收到notify使能: 蓝牙app使能notify的通讯, 后面就无其它通讯;--- 基本都是这种情况

另外:两个文件夹中都有yutaos 相关log , 有个共同log , 在处理蓝牙app使能时,tuyaos都打印“ ty_ble_rx_proc version not compatibility!” 。

Attachments
c_蓝牙收到notify和其它数据_d蓝牙只收到notify.rar
(14.09 KiB) Downloaded 20 times
郭老庄
Posts: 247

Re: [求助] sdk蓝牙配网, app交互过程疑问

c和d有什么区别?是一个调用tal_ble_bt_init,另一个不调吗?如果是的话,请不要调tal_ble_bt_init。sdk内部会调用,自己调了反而会有问题。你只需要实现tkl_ble_xxx相关接口即可。
因为日志没开debug,缺少很多信息,帮忙在tuya_ipc_start_sdk之前调用tuya_ipc_set_log_attr(4,NULL);开启debug,收集下用APP配网时的日志

yangmin
Posts: 9

Re: [求助] sdk蓝牙配网, app交互过程疑问

c 和 d 跑的代码一样; 没有调用tal_ble_bt_init 。
c 的话有, 蓝牙模块有收到app发的使能notify包还有收到其他的包, 但不确定其包是否正确; d的话就是我调试中,大概率只收到 使能notify包。

附件:压缩包e.rar中Serial-COM29_2025_06_17_122537_ssc373.log 为开启tuya_ipc_set_log_attr(4,NULL)抓的log 。

yangmin
Posts: 9

Re: [求助] sdk蓝牙配网, app交互过程疑问

补发e.rar 附件;

Attachments
e.rar
(8.23 KiB) Downloaded 22 times
郭老庄
Posts: 247

Re: [求助] sdk蓝牙配网, app交互过程疑问

[c174][tuya_ble_svc.c:115] bt_rev_raw 2 <0xb6c166be>
01 00
[tuya_ble_data_handler.c:142] recive sub_pkg desc:3, no:1, pack_len:0, total_len:0
理论上设备不应该只收到2个字节的数据

yangmin
Posts: 9

Re: [求助] sdk蓝牙配网, app交互过程疑问

是的,
我和蓝牙模块那边也在为此问题而困扰; 用nRF验证发送包,蓝牙收到的包正常;

计划抓包工具抓包app的蓝牙数据看看, 有进展再更新。

Post Reply