SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

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


Post Reply
a735751513
Posts: 9

SIG MESH设备。2台产品,产品与产品间距离可达8-9米。20台产品,产品与产品间只能到5米。多产品使用距离有什么办法能优化?

User avatar
joey_nobug
Posts: 133

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

这个可能跟硬件设计干扰有关,裸模组我们内部测试拉距,办公室室内复杂化境下 50m 以上,空旷室外环境300m 左右。
设备多的时候干扰较多,信号衰减会更严重。所以需要优先解决信号屏蔽或者信号干扰的问题

Talk is cheap, show me the code.
a735751513
Posts: 9

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

嵌入式SDK ,转发参数能优化吗

User avatar
joey_nobug
Posts: 133

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

a735751513 2024年 Oct 21日 10:25

嵌入式SDK ,转发参数能优化吗

mesh 网络层的转发参数可以修改,参考以下接口,两个接口分别为设备主动发送数据时网络层的重传参数以及设备 relay 其他 mesh message 时网络层的重传参数。

Code: Select all

/**
 * @brief   Set the network layer retransmit parameters.
 * @param   [in] cnt  transmit cnt = (cnt + 1) times, cnt max = 7
 * @param   [in] step  retransmission interval = (net_trans_steps + 1) * 10ms
 * @return  NULL
 * */
VOID tkl_mesh_network_transmit_set(UCHAR_T cnt, UCHAR_T step);

/**
 * @brief   Set the network layer relay retransmit parameters.
 * @param   [in] cnt  transmit cnt = (cnt + 1) times, cnt max = 7
 * @param   [in] step  retransmission interval = (net_trans_steps + 1) * 10ms
 * @return  NULL
 * */
VOID tkl_mesh_network_relay_retransmit_set(UCHAR_T cnt, UCHAR_T step);

建议值值为:

Code: Select all

tkl_mesh_network_transmit_set(7, 0);
tkl_mesh_network_relay_retransmit_set(4, 0);

不建议将 cnt 与 step 同时设置的特别大(cnt 最大值为7,step 最大值为 31),否则会导致每条消息发送时间很长,导致队列拥堵丢包

Talk is cheap, show me the code.
a735751513
Posts: 9

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

1.png

修改程序里的这个位置的参数吗?
怎么确定cnt 与 step修改的值是否合适?

User avatar
joey_nobug
Posts: 133

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

a735751513 2024年 Oct 21日 14:09

1.png

修改程序里的这个位置的参数吗?
怎么确定cnt 与 step修改的值是否合适?

可以在配网成功后的回调函数中修改,参考如下

Code: Select all

VOID_T tal_mesh_state_callback(TAL_MESH_NET_STATE_T state)
{
    tal_main_debug("mesh_state:%d", state);
    switch (state) {
        case TAL_MESH_PROVISION_SUCCESS:
            // Use to update mesh network transmit param, if developer don't know how to set, please don't change!
            tkl_mesh_network_transmit_set(7, 0);
            tkl_mesh_network_relay_retransmit_set(4, 0);
        break;
        default:
        break;
    }
}
Talk is cheap, show me the code.
a735751513
Posts: 9

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

tkl_mesh_network_transmit_set(7, 0);
tkl_mesh_network_relay_retransmit_set(4, 0);

按照建议值修改后有改善,但目标距离还是不稳定,群组控制经常有部分产品不受控。
cnt 或 step还能继续加大吗,或者建议怎么修改?

User avatar
joey_nobug
Posts: 133

Re: SIG MESH设备,群组多产品使用时,产品与产品间距离明显缩短,如何优化?

a735751513 2024年 Oct 22日 09:50

tkl_mesh_network_transmit_set(7, 0);
tkl_mesh_network_relay_retransmit_set(4, 0);

按照建议值修改后有改善,但目标距离还是不稳定,群组控制经常有部分产品不受控。
cnt 或 step还能继续加大吗,或者建议怎么修改?

不建议加更大了,再加大效果也不会提升很多,还是要从硬件上解决信号屏蔽或者信号干扰的问题

Talk is cheap, show me the code.
Post Reply