Zigbee获取设备地址信息
来源:互联网 发布:火影手游刷金币软件 编辑:程序博客网 时间:2024/05/16 06:56
Zigbee获取设备地址信息
第一种方法,利用NLME.h里面定义的专门API
获取设备自身IEEE地址
/*
* This function will return a pointer to the device's IEEE 64 bit address
*
* This function resides in nwk_util.c.
*/
extern byte *NLME_GetExtAddr( void );
获取设备自身网络地址
/*
* This function will return this device's 16 bit short address
*
* This function resides in nwk_util.c.
*/
extern uint16 NLME_GetShortAddr( void );
获取父设备网络地址
/*
* This function will return the MAC's Coordinator's short (16bit) address
* which is this device's parent, not necessarily the Zigbee coordinator.
*
* This function resides in nwk_util.c.
*/
extern uint16 NLME_GetCoordShortAddr( void );
获取父设备IEEE地址
/*
* This function will return the MAC's Coordinator's Extented (64bit) address
* which is this device's parent, not necessarily the Zigbee coordinator.
*
* This function resides in nwk_util.c.
*/
extern void NLME_GetCoordExtAddr( byte * );
第二种方法:
利用zb_GetDeviceInfo()函数
查看该函数定义即可知用法:
void zb_GetDeviceInfo ( uint8 param, void *pValue )
{
switch(param)
{
caseZB_INFO_DEV_STATE:
osal_memcpy(pValue,&devState, sizeof(uint8));
break;
caseZB_INFO_IEEE_ADDR:
osal_memcpy(pValue,&aExtendedAddress, Z_EXTADDR_LEN);
break;
caseZB_INFO_SHORT_ADDR:
osal_memcpy(pValue,&_NIB.nwkDevAddress, sizeof(uint16));
break;
caseZB_INFO_PARENT_SHORT_ADDR:
osal_memcpy(pValue,&_NIB.nwkCoordAddress, sizeof(uint16));
break;
caseZB_INFO_PARENT_IEEE_ADDR:
osal_memcpy(pValue,&_NIB.nwkCoordExtAddress, Z_EXTADDR_LEN);
break;
caseZB_INFO_CHANNEL:
osal_memcpy(pValue,&_NIB.nwkLogicalChannel, sizeof(uint8));
break;
caseZB_INFO_PAN_ID:
osal_memcpy(pValue,&_NIB.nwkPanId, sizeof(uint16));
break;
caseZB_INFO_EXT_PAN_ID:
osal_memcpy(pValue,&_NIB.extendedPANID, Z_EXTADDR_LEN);
break;
}
}
例如要获取设备短地址,可以这样:
uint16 my_short_addr;
zb_GetDeviceInfo(ZB_INFO_SHORT_ADDR,my_short_addr);
第三种方法:利用上述zb_GetDeviceInfo()函数的定义,同样可知,通过读取_NIB的值也可以获取地址信息,如下调用即可
uint16 my_short_addr = _NIB.nwkDevAddress;
第四种方法:直接读NV,方法如下:
uint8 pValue[8];
osal_nv_read(ZCD_NV_EXTADDR , Z_EXTADDR_LEN, size, pValue);
pValue里保存的即是设备扩展地址
第五种方法,利用OnBoard.c里定义的全局变量aExtendedAddress获取IEEE地址,如下:
uint8 *pValue[Z_EXTADDR_LEN];
osal_memcpy(pValue,&aExtendedAddress, Z_EXTADDR_LEN);
第六种方法,利用ZMacGetReq()函数,如下:
uint8 * pValue[Z_EXTADDR_LEN];
ZMacGetReq(ZMacExtAddr,pValue);
- Zigbee获取设备地址信息
- Zigbee获取设备地址信息
- Zigbee 获取设备地址信息
- Zigbee获取设备地址信息
- Zigbee获取设备地址信息
- Zigbee设备地址分配
- ZIGBEE获取本设备及父设备的IEEE64地址和短地址
- ZIGBEE获取本设备及父设备的IEEE64地址和短地址
- ZigBee获取本设备及父设备的Mac地址和网络短地址
- iOS获取设备信息,MAC地址,IP地址,设备名称
- Android设备信息IP地址等获取
- ZigBee网络中的设备信息
- Android 获取设备分辨率、设备ID、设备CUP、设备位置、MAC地址、以及存储信息
- Zigbee协议栈--重要设备地址
- iOS 获取本地设备相关信息,如:IP地址
- 获取android 设备的cpu gpu信息 mac地址
- android 获取当前设备的ip地址 mac地址 设备号 手机号 运营商信息
- zigbee 获取自身的mac地址
- android应用面试列举
- MFC的add files to project...失效的解决办法
- 迅雷多线程
- 【LaTeX入门】01、LaTeX基础知识
- Python使用struct处理二进制
- Zigbee获取设备地址信息
- C#调用SQL存储过程完整例子
- ThinkPHP的发展史
- 打印金字塔代码
- mysql的常用命令
- 每天一个linux命令(44):top命令
- Mobile development
- ubuntu rar乱码
- 关于ajaxfileupload.js的使用