Page 1 of 1

【求助】【TuyaOS OS】蓝牙mesh中继relay问题

Posted: 2024年 Jul 24日 17:32
by 15583288906

问题一:由于sdk中无法更改节点的relay开关,那么请问tkl_mesh_network_relay_retransmit_set()函数,是否是用于设置ttl的?
问题二:每个节点都是开启relay的,那么会出现ttl被附近的节点转发完,而稍远距离的节点由于ttl用尽而无法收到消息的情况。那么请问正常情况下,使用涂鸦节点时,可以正常控制的范围是多少,能否满足家庭的正常使用呢?


Re: 【求助】【TuyaOS OS】蓝牙mesh中继relay问题

Posted: 2024年 Jul 31日 11:10
by joey_nobug

问题一:
可以调用以下接口来开关节点本身的 relay 功能(建议使用 3.10.0 以上版本,因为之前版本 sdk 重启后会默认开启 relay)

Code: Select all

    tkl_mesh_node_features_set(MESH_FEATURE_RELAY, 1);      // enable relay
    tkl_mesh_node_features_set(MESH_FEATURE_RELAY, 0);      // disable relay

VOID tkl_mesh_network_relay_retransmit_set(UCHAR_T cnt, UCHAR_T step); 函数用于设置网络层 relay 重传参数

TLL 的设置可使用以下接口:

Code: Select all

// ttl = 0           : not relay
// ttl = 2 - 127  : relay
OPERATE_RET tkl_mesh_node_default_ttl_set(UCHAR_T ttl);

另外 3.10.0 以上版本 sdk 配合最新的 tuya 公版 app 可以支持 app 页面上开关设备的 relay 功能。

问题二:
目前 tuya APP 与网关默认的 ttl 为8,根据单跳通信距离(射频设计无遮挡与干扰情况下 室内复杂环境 50米以上 室外空旷环境 250 米以上),8 跳已经可以满足绝大多数场景。
如果某些极端场景下,例如路灯此类场景,则需要定制特殊方案,修改 app 网关与设备的 ttl 值以及重传参数等,来提高覆盖距离与通信成功率。