Part Number:CC2530Other Parts Discussed in Thread: Z-STACK
您好!
假设现在有若干cc2530设备,他们都使用同一套Z-stack2.5.1开发的程序,安装在不同的位置,当协调器接收到来自他们的数据时,如何确定这条数据是来自哪一个位置的设备?
假如我知道每个位置的设备对应的IEEE地址,那么可以根据数据中的IEEE地址判断出来数据来源,请问您还有别的建议么?
Galaxy Yue:
您好,根据IEEE地址是一个很好的方法来确定数据来源。
为您提供其他思路
1.使用设备的短地址:每个设备在加入网络时都会被分配唯一一个短地址。您可以将每个位置的设备于其特定的短地址进行映射,然后根据数据中的短地址来确定数据来源。
2.使用设备的唯一标识符:如果每个设备都有一个唯一的标识符,您可以将每个位置的设备与特定的标识符进行映射。
3.使用网络拓扑信息:您可以通过构建设备之间的拓扑关系来确定数据来源。通过了解设备之间的直接关系以及路径
,
?? ?:
谢谢您的回复!
1.关于IEEE地址:当我拿到一个cc2530模块后,有没有比较方便的方法能够在它进行无线传输之前就获取他的IEEE地址
2.假如这些设备同时上电入网,而且我无法与这些终端模块交互,那么我是不是没有办法获取每个终端对应的短地址
3.您提到的位移标识符指的是出厂时设备出厂自带的(类似IEEE地址)吗,还是说烧录程序时人为添加的
,
Galaxy Yue:
3.唯一标识符 是 PANID
PANID简介PANID其全称是Personal Area Network ID,即某个网络的标识符,是针对一个或 多个应用的网络,一般是mesh或者cluster tree两种拓扑结构之一。一个网络只有一个PANID,该网络中的所有节点的panID唯一,它是由协调器生成的,PANID是可选配置项,用来控制ZigBee路由器和终端节点要加入那个网络。若要在应用中查看PANID,可以通过_NIB.nwkPanId读取即可。
,
Galaxy Yue:
1.
用CCdebugger通过调试接口读取IEEE地址
或者
用Z-stack中的ZDO接口,使用ZDO命令
,
Galaxy Yue:
2.
等待传感器节点发送数据,可以从数据中去获取短地址
或者是
使用zigbee网络分析仪
,
?? ?:
谢谢您的回复,我比较好奇如何使用CCdebugger读取IEEE地址
,
Galaxy Yue:
在ccdebugger中会有memory view,可以看到078c到0x793的8个字节,这是IEEE地址,但是是反序的。IEEE地址是出厂时写入的,所以可以通过读取特殊区域来获取信息。当然,这只是一种小方法,仅仅可以一试。
,
YiKai Chen:
可以直接使用aExtendedAddress获取终端模块的IEEE地址
,
Galaxy Yue:
建议您参考一下YiKai的提议,会比较有效
,
?? ?:
好的,非常感谢
,
Galaxy Yue:
不用客气,有问题欢迎您随时来论坛交流。