【已解决】PHY6222_MESH_3.9.0 mesh应答时多次发送数据

蓝牙 BLE设备、蓝牙 MESH设备、蓝牙 Beacon设备、Sub-G设备等


User avatar
joey_nobug
Posts: 172

请替换压缩包内的 aes-ccm.c 文件到 3.9.0 sdk 中,主要问题为原厂 3.13 sdk 前期版本中 seg ack 消息解密问题导致的分段消息多次重传(同时目前你使用的这个网关是瑞昱原厂协议栈,对 seg 重传的重放过滤策略不完整所以导致了多次上报,我试了其他网关是会将多余的消息过滤掉,当然如果 6222 源头解决这个问题,对你现在使用的网关也影响不会很大,可能偶尔会多一次上报)
另外这期间也修复过其他问题,一并更新下压缩包内其他文件。

TuyaOS_mesh_sdk_phy6222_3.9.0_patch1.zip
(14.48 KiB) Downloaded 2 times
Talk is cheap, show me the code.

Tags:
scanway_lin
Posts: 37

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

joey_nobug 2026年 Jan 21日 16:00

请替换压缩包内的 aes-ccm.c 文件到 3.9.0 sdk 中,主要问题为原厂 3.13 sdk 前期版本中 seg ack 消息解密问题导致的分段消息多次重传(同时目前你使用的这个网关是瑞昱原厂协议栈,对 seg 重传的重放过滤策略不完整所以导致了多次上报,我试了其他网关是会将多余的消息过滤掉,当然如果 6222 源头解决这个问题,对你现在使用的网关也影响不会很大,可能偶尔会多一次上报)
另外这期间也修复过其他问题,一并更新下压缩包内其他文件。
TuyaOS_mesh_sdk_phy6222_3.9.0_patch1.zip

好的,上面提供的蓝牙库需要同步替换吗?

User avatar
joey_nobug
Posts: 172

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

scanway_lin 2026年 Jan 21日 16:20
joey_nobug 2026年 Jan 21日 16:00

请替换压缩包内的 aes-ccm.c 文件到 3.9.0 sdk 中,主要问题为原厂 3.13 sdk 前期版本中 seg ack 消息解密问题导致的分段消息多次重传(同时目前你使用的这个网关是瑞昱原厂协议栈,对 seg 重传的重放过滤策略不完整所以导致了多次上报,我试了其他网关是会将多余的消息过滤掉,当然如果 6222 源头解决这个问题,对你现在使用的网关也影响不会很大,可能偶尔会多一次上报)
另外这期间也修复过其他问题,一并更新下压缩包内其他文件。
TuyaOS_mesh_sdk_phy6222_3.9.0_patch1.zip

好的,上面提供的蓝牙库需要同步替换吗?

前面的 lib 可以不用替换,用 sdk 之前的就可以

Talk is cheap, show me the code.
scanway_lin
Posts: 37

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

目前替换了aes-ccm.c,还是会重发数据,虚拟ID:6c0d47ac06cd1743a9b5dq 如下:

Attachments
微信图片_2026-01-21_164420_782.png
User avatar
joey_nobug
Posts: 172

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

scanway_lin 2026年 Jan 21日 16:44

目前替换了aes-ccm.c,还是会重发数据,虚拟ID:6c0d47ac06cd1743a9b5dq 如下:

这里只看到了上报数据,下发数据看不到,能不能把手机断一下 wifi,可能连了局域网,看不到下发日志。通过外网控制后,对比下发的日志对比看下

Talk is cheap, show me the code.
User avatar
joey_nobug
Posts: 172

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

还有一种方法能更好的解决这个问题,使用 TuyaOS_mesh_sdk 中的高级能力,参考 :https://developer.tuya.com/cn/docs/iot- ... wt8mmt67et
其中 带 TID 下发命令 能够在回复数据时仅需回复短包数据而替代完整的长包数据,这样能够提高响应速度与成功率。
当然,因为高级能力集合包含另外两个特性,在使用的时候要同时适配另外两个能力。可以参考 demo 中 USE_MESH_ADVANCED_ABILITY_1 这个宏定义的处理
如果使能高级能力后,需要重新配网才会生效。

Last edited by joey_nobug on 2026年 Jan 21日 17:01, edited 1 time in total.
Talk is cheap, show me the code.
User avatar
joey_nobug
Posts: 172

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

scanway_lin 2026年 Jan 21日 16:44

目前替换了aes-ccm.c,还是会重发数据,虚拟ID:6c0d47ac06cd1743a9b5dq 如下:

这里的重传也有可能是网关业务层的重传,在下发数据后如果未收到设备回复,会重新下发。这种重传在设备的日志中是能够看到的。
因为下发与上报都是长包,可能时间一长会触发网关的超时重传策略,所以这里如果使用前面说的高级能力中的带 TID 下发的话则会对此场景有优化

Talk is cheap, show me the code.
scanway_lin
Posts: 37

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

joey_nobug 2026年 Jan 21日 16:56

还有一种方法能更好的解决这个问题,使用 TuyaOS_mesh_sdk 中的高级能力,参考 :https://developer.tuya.com/cn/docs/iot- ... wt8mmt67et
其中 带 TID 下发命令 能够在回复数据时仅需回复短包数据而替代完整的长包数据,这样能够提高响应速度与成功率。
当然,因为高级能力集合包含另外两个特性,在使用的时候要同时适配另外两个能力。可以参考 demo 中 USE_MESH_ADVANCED_ABILITY_1 这个宏定义的处理
如果使能高级能力后,需要重新配网才会生效。

把下发数据打开了,可以看看,多次发送导致错乱。关于高级能力,如果应答只回状态的话,前端UI也要更改。
status 1 0x00:数据接收成功
其他:数据异常

User avatar
joey_nobug
Posts: 172

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

scanway_lin 2026年 Jan 21日 17:55
joey_nobug 2026年 Jan 21日 16:56

还有一种方法能更好的解决这个问题,使用 TuyaOS_mesh_sdk 中的高级能力,参考 :https://developer.tuya.com/cn/docs/iot- ... wt8mmt67et
其中 带 TID 下发命令 能够在回复数据时仅需回复短包数据而替代完整的长包数据,这样能够提高响应速度与成功率。
当然,因为高级能力集合包含另外两个特性,在使用的时候要同时适配另外两个能力。可以参考 demo 中 USE_MESH_ADVANCED_ABILITY_1 这个宏定义的处理
如果使能高级能力后,需要重新配网才会生效。

把下发数据打开了,可以看看,多次发送导致错乱。关于高级能力,如果应答只回状态的话,前端UI也要更改。
status 1 0x00:数据接收成功
其他:数据异常

设备只应答,最后返回给 UI 的还是下发时的完整 DP 数据,这个 APP 与网关会做处理的

Talk is cheap, show me the code.
scanway_lin
Posts: 37

Re: PHY6222_MESH_3.9.0 mesh应答时多次发送数据

还有存在丢数据的问题,云端已经下发了,设备端没有收到。虚拟ID:6cbca909df269e3940jhto 设备日志如附件

Attachments
SaveWindows2026_1_21_18-28-11.TXT
(3.96 KiB) Downloaded 5 times
Post Reply