TI中文支持网
TI专业的中文技术问题搜集分享网站

请问一下网络地址的问题。

各位大侠好,我进入WSN不是很久,因需要,我设计了一个节点上的程序,让其实现路由和终端功能的切换,切换代码是

void ChangeNodeType(uint8 nodeType)

 {     

   uint8 logicalType = nodeType;         

 zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);        

 zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );       

 startOptions = ZCD_STARTOPT_AUTO_START;     

 zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );    

 zb_SystemReset();

 }

使用的平台是CC2430, ZStack-CC2430-1.4.3-1.2.1 ,切换好像实现了,但是加大节点数量和测试时间后,发现全负荷工作几个小时后,就有节点掉线,难以入网的情况,检查数据发现,有的节点的网络地址出现了0x FF FE,好像到了最大值,不知道是不是节点网络地址的回收出现问题?另外我想通过程序指定各节点的网络地址,不管节点是路由还是终端,都保持我指定的节点短地址不变(因为我们用的节点数量不是很多,不超过100个,可以人为保证网络地址不冲突),不需要TI的网络地址分配,回收,冲突监测等过程,不知道在哪里去修改?

请指教!谢谢。

Y.SH. Tang:

坐等,自己顶一下。我的问题如果不是网络地址的问题,那节点掉线就一直上不来(肯定有电),是什么原因呢。我就加了个 软重启的函数zb_SystemReset(),但是如果硬件Reset一下后,就可以正常入网通讯了,但是时间长了之后又会出现某个节点掉线上不来。此过程中协调器是一直正常工作的。

Y.SH. Tang:

呼唤达人

VV:

节点在切换以后,有没有重新入网?

Y.SH. Tang:

回复 VV:

      感谢VV的回复!

      一般情况下应该是重新入网了,因为每次软重启,节点的类型都变了,从理论上说,分配给路由和终端的网络地址应该是不一样的,但是节点在切换类型之后,有时候网络地址变了,有时候没有变,但是采集的数据都发送给协调器了,所以我认为它是入网了,要是没入网怎么会有采集数据来?测试时,我是采用了5个节点,每节点都是半分钟切换一次,像这样大概要6~8小时就会出现有的节点消息了(没数据上来),但是都有电,我认为这时候可能是入网失败了。然后就一直没有,如果硬件Reset一下,马上就又入网了。之后这个问题又会跑到别的节点上,已经测试好久了,每次都会出现,不知道测试现象我说清楚了没?

VV:

回复 Y.SH. Tang:

类型切换,分配的地址一样是正常的,因为父设备是有保存的,而且会根据IEEE做比对的。

没数据上来的时候,网络中节点的状态是什么,能否抓下包看看

Y.SH. Tang:

回复 VV:

好的,我现在正在抓包,现在只设置了一个节点工作,要等到它掉线才能看到需要的东西,但是您说的网络中节点的状态是在哪个字段呢?

Y.SH. Tang:

回复 Y.SH. Tang:

       想抓包也不太好弄啊,测试工作太需要耐心了。

       因为原实验方案是1协调器+5个节点;经过6~10小时后,每次都会出现某1、2个节点掉线,如果按照这个方案抓包,因为时间长,掉线时间和节点均不能确定,节点掉线之后别的节点还正常工作,所以掉线节点出问题时的包会被后续正常数据包湮没,所以我把实验方案是1协调器+1个节点,专抓这个节点的数据包。可是已经不休不眠的工作了近30小时了,单个节点的话,它工作正常,一直都是半分钟重启变换类型一次,没出问题。

       节点多才会出问题,每次测试都会,但是要等6~10小时的样子,出问题的节点也是随机的,造成看目的包困难;只测试单个节点,好像问题不能出现,怎么办?

      另一个现象,单个节点测试时,不管是作为路由还是终端,它的网络地址始终都是00 01,如果是多个节点测试的话,有的节点的网络地址有时不会改变,有时候会变。

上次图片不清楚,重新发一次。

Y.SH. Tang:

回复 Y.SH. Tang:

这是测试单个节点工作的抓包截图(帖子中如果看不清,请点击图片一下即可放大显示)

这是串口接收的数据截图:

数据格式为7字节,01(自定义)+51(节点编号)+00 01(节点的网络地址)+01/02(节点类型)+ 11 22 (自定义数据),可以看到,数据都收到13万字节了,基本都在正常工作。

VV:

回复 Y.SH. Tang:

能不能把抓包文件另存为,用附件上传啊,这样图片发送看不到解析的数据的。

谢谢!

Y.SH. Tang:

回复 VV:

 

VV大侠您好!

        这一周都在做测试抓包,测试说明和数据,抓包文件见附件,测试说明里面应该说得比较清楚了,帖子里就不赘述了,真想邀请您来武汉出差^_^,抓包数据文件大小25M,超过允许的20M了,能给我个邮箱或者QQ什么的吗?我的QQ是1553867265,非常感谢。

赞(0)
未经允许不得转载:TI中文支持网 » 请问一下网络地址的问题。
分享到: 更多 (0)