协议栈:mesh1.0 参考:AN123 开启MTO
芯片:均为CC2530
网络描述:协调器*1,路由*2。 路由2接在路由1下,形成深度为2的网络。
问题描述:
路由2发出announce device后,再发出router request,结果协调器没有回复。
由于程序,需要在入网后马上进行通讯,以登记入网情况。所以当协调器没有回复时,路由2便无法快速完成入网流程。
附件中:P25:开始为路由2入网申请
P42:路由2发出router request,没有收到router reply
P55: 重新获得路径后,才有正常的数据交互。
在多跳网络中,几乎每次入网都需要等数十秒后,再次发出router request ,才能完成正常数据交互。
这就导致了,整个入网流程非常缓慢。
在AN123中,图片示例(figure 3),可以看到,router request都是非常快的。
user5032796:
路由多跳入网慢.rar
以上为抓包数据:秘钥:48:77:01:59:33:01:56:36:81:69:03:03:54:11:67:21
user5032796:
回复 YiKai Chen:
是的,发出device announce 确实很快。
可是我的设定是入网成功后,需要马上进行通讯。
您可以看下,第一次发出route request后,协调器并没有回复,导致路由的消息发不出去。
直到数十秒后,再次发出route request,得到route reply。才通讯正常。
我的加网流程成功标志是以第一次数据通讯正确为参考,并不是以发出device announce。
YiKai Chen:
回复 user5032796:
routing的速度是由協議棧處理的,一旦路由更新,就會需要比較久的時間,這部份可能沒什麼空間可以加速
user5032796:
回复 YiKai Chen:
是,有时候第一次route request,马上就能回复。有时候就需要第二次才收到回复。是否还和信号质量有关系。
user5032796:
回复 Alvin Chen:
是的,我回看了之前的几次抓包数据,确实都没有回复ACK。是否和信号质量有关?请问有什么方法,在没有收到mac ACK的情况下,马上重发。
YiKai Chen:
回复 user5032796:
你0x8C17這個設備離sniffer多遠?
user5032796:
回复 YiKai Chen:
都去掉天线,一米多,有格挡。相同的位置,有的可以可以很快。
YiKai Chen:
回复 user5032796:
為什麼要都去掉天线?