微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zigbee 节点地址管理

zigbee 节点地址管理

时间:10-02 整理:3721RD 点击:

我用的协议栈版本: Z-Stack Mesh 1.0.0      硬件:CC2530+CC2591

现在不想用zstack中随机分配的短地址,要做成短地址手动由用户配置,如何实现?



想做成的效果如下 (引用一个厂家的zigbee模块说明书的一段话):

---------------------------------------------------------------------------------------------------------------------

ZigBee 设备默认中心节点(Coordinator)的地址为固定0000,

从站(中继路由(Router)或终端节点(End Device))地址0001-FFFD 可随意设置,

但是两中继路由(Router)地址不能相同,否则不能通信。 同个网络中,所有设

备的 无线频点 与 网络ID 必须相同; 波特率、校验、数据位 必须与所连接设备匹配。

---------------------------------------------------------------------------------------------------------------------

我也想做成这样的效果,但是手工配置的这个地址也要能支持点对点通信,如将下面的

GenericApp_P2P_DstAddr.addr.shortAddr = des_short_addr; //发给目标设备

中的 des_short_addr  =  用户配置的地址,也能点播通信

//发送信息到目标地址
GenericApp_P2P_DstAddr.addrMode = (afAddrMode_t)Addr16Bit; // 点播
GenericApp_P2P_DstAddr.endPoint = GENERICAPP_ENDPOINT ; //GENERICAPP_P2P_ENDPOINT =10
GenericApp_P2P_DstAddr.addr.shortAddr = des_short_addr; //发给目标设备
if ( AF_DataRequest( &GenericApp_P2P_DstAddr, &GenericApp_epDesc,
GENERICAPP_P2P_CLUSTERID,
//(byte)osal_strlen( theMessageData ) + 1,
message_length,
//(byte *)&theMessageData,
message_uart0_buf,
&GenericApp_TransID,
AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) == afStatus_SUCCESS )
{
//Successfully requested to be sent.
} // end of AF_DataRequest()



在源码中一直没有找到地址分配在哪里实现的,上面的想法能实现吗?

现在的项目中设备间是使用zstack随机分配的短地址通信的, 我想要这个短地址事先能让用户手动配置, 虽然这样可能与zstack的初衷不一样,

但是有时工程中这样做能方便用户使用!

请 TI 的大神们发表一下高见, 谢谢!

父设备随机分配地址,这块是没办法修改的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top