由于国庆节假期,帖子审批以及工程师回复将会有所延迟,敬请谅解。

zstack 3.0.2如何更改协议栈可以实现路由永久允许设备入网

1、是否可以通过更改协议栈完成?因为旧版本协议栈可以通过NLME_PermitJoiningRequest(255);来实现

2、如果不能实现,我定义了一个循环事件

  if(events & MYAPP_PER_JOIN_EVT) //循环开启入网窗口
  {
    NLME_PermitJoiningRequest(254);//允许一直入网。254秒
    osal_start_timerEx(zclGenericApp_TaskID,MYAPP_PER_JOIN_EVT,100000); //100s后产生允许入网事件
    return ( events ^ MYAPP_PER_JOIN_EVT );
  }

定时器事件是100秒后产生一个事件,是否可行,定时器时间是否太长?

3、协议栈中的定时定时器事件是通过什么来实现的?是单片机自带的定时器实现的,还是根据晶振的时钟脉冲进行软件计时实现的?

2 个回复

  • 不能,这是zigbee3.0的新特性之一。如果需要一直开启,可以设置定时器,到点后重新开启permit join。但是为了网络安全,不建议一直开启入网。。
    Permit join can no longer be enabled forever as networks will automatically close joining after a maximum of 254 seconds. To extend the time the network is open, you may send out permit join requests periodically to restart the timer. Requests to open the network without enabling joining at the trust center are no longer supported.

    若该回复解决了您的问题,请点击“确认此为答案”,谢谢。

     

  • 1. Z-Stack 3.0.2不允許一直开启入网
    2. 可以,這樣沒什麼問題
    3. 是单片机自带的定时器

    YK Chen

    如果回复解决了问题,请帮忙点击确认此为答案,谢谢