This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

【求解答】Remote遥控器怎样实现一次toucklink后组进多个设备?

在这段代码里,touchlink后每次选择的是最好的rssi,也就老是最近距离的

uint8 selectThisTarget = FALSE;
int8 rssi = zll_GetMsgRssi();
if ( pfnSelectDiscDevCB != NULL )
{
selectThisTarget = pfnSelectDiscDevCB( pRsp, rssi );
}
// Default selection - according to RSSI
else if ( rssi > ZLL_TL_WORST_RSSI )//-40 dbm
{
if ( ( rssi + pRsp->rssiCorrection ) > selectedTarget.lastRssi )
{
// Better RSSI, select this target
selectThisTarget = TRUE;
}
}

现在我们想要把Remode做成一个面板开关产品,固定位置,一次toucklink后可将多个灯组进去并且距离比较远。是否可以实现?需要在哪块代码里修改?

  • 一次就把所有设备TL进来是不可能的,你可以通过按键触发一次TL以后,然后自动的再触发几次TL,并且把RSSI阈值调低点,这样可以把更多的灯TL进来

  • 谢谢你的回答,我按照这个方法实现了:

    0. 按键激发TL:

    1. 逐个扫描主要channels

    2. 有Scan Response,暂停扫描,判断RSSI(阀值最低-120dbm)和灯是否是FactoryNew(灯自己不是FactoryNew不会向遥控器Response)

    3. 满足条件入网 / 不满足不选择。

    4. 之后激活扫描时间,从之前暂停的频道继续扫描

    5. 若有Scan Response,暂停扫描,无则继续扫描。每次继续扫描之前更换TransID。

    6. 所有主要channels和次要channels都扫描完毕

    7. 退出扫描事件,完成TL工作。

    现在问题就是速度有点慢,灯设备越多,TL组网一次越慢,唉.....