tmote设计(五) - CC2420(边缘路由器接入)[RSSI猜想]
自己的tmote节点做好后,尝试接入边缘路由,并进行基于UDP的数据传输测试,结果在实验过程中发现了挺奇怪的现象:
手上的有两块儿买来的tmote节点,工作相对稳定,现在将其中的一块配置为边缘路由(命名为routerA),自己制作的tmote节点充当接入节点(命名为moteB),而剩下的那一块标准节点(命名为moteC)充当测试备用。
在实验过程中发现,在边缘路由器(routerA)配置完毕后,节点(moteB)开始工作,但没办法接入边缘路由(routerA)。而此时moteC上电工作后却能马上接入边缘路由(routerA)。然后奇怪的现象就发生了:原本不能接入边缘路由的moteA这时也能接入了。我重复了几次接入过程,发现最后的结果都是:moteA无法单独接入边缘路由(routeA),但当moteB上电并接入边缘路由后,moteA也能很快接入。此时,moteB不但能被ping6通,而且能稳定的收发数据,收发距离在5米以上。
再后来我发现,moteA是通过moteB转调接入routerA的(在moteA和moteB都接入routerA的情况下,ping6 moteA,当确保通路没问题后,关闭moteA,这时在routerA的终端上就会显示,moteB向moteA的转跳出现问题)。
在接下来的实验中,我发现moteA也不是完全不能接入routerA,在有的时候还是能接入的,只是时间相对比较长,没有moteB那么容易;而一旦moteA接入routerA后,便能直接与routerA进行通信,数据传输相对稳定。
现在将问题归纳下:
moteA很难单独接入routerA,但一旦直接接入,便能稳定进行数据传输。moteA能通过moteB转跳接入routerA,并进行数据传输,传输距离5m以上。对于上面的情况我做了如下猜测:自己设计的tmote节点在射频部分信号损耗大,相对于标准节点,收发能力弱。边缘路由器(routerA)在接入过程中,对接入节点(moteA、moteB)的RSSI是有要求的:只有达到一定强度的RSSI节点,才准许接入。对于已接入边缘路由(routerA)的节点(moteA、moteB),在数据收发过程,边缘路由器routterA对RSSI基本没有要求。边缘路由器(routerA)对RSSI的限定可以通过程序修改(虽然我现在还不知道从哪儿能进行修改)。上面的4点只是个人的猜测,并没有实际的实验验证,希望以后通过进一步的研究获得确定的结论。但对于进行边缘路由器接入实验的同学,这里可以给一个小小的建议:在发现自己设计的tmote节点不能顺利接入边缘路由时,可以找一块标准的tmote节点试试,没准通过转跳就顺利接入边缘路由了。