ZIGBEE协议栈网络管理.pptVIP

  • 110
  • 0
  • 约3.06千字
  • 约 16页
  • 2018-03-02 发布于山东
  • 举报
ZIGBEE协议栈网络管理.ppt

ZIGBEE协议栈网络管理 授课内容 网络管理的基础实验 网络管理的扩展实验 协议栈网络管理的内容 查询本节点有关的网络地址信息 查看节点网络地址 MAC地址 父节点网络地址及MAC地址 查询网络中其他节点的有关的地址信息 已知16位网络地址,查询节点的IEEE地址 已知IEEE地址查询网络地址 协议栈实现网络管理的函数 uint16 NLME_GetShortAddr(void) 该函数返回该节点的网络地址。 byt * NLME_GetExtAddr(void) 该函数指向该节点MAC地址的指针 void NLME_GetCoordShortAddr(void) 该函数返回父节点的网络地址 void NLME_GetCoordExtAddr (void) 指向存放父节点的物理地址 协议栈网络管理—基础实验 实验原理: 协调器上电建立网络 路由器自动加入网络 路由器通过管理函数获取信息 PC通过串口获取信息 网络管理流程图 协议栈网络管理 Coordinator Router 无线信号 RS232 Pc 网络管理实验原理图 协议栈网络管理 过程描述 协调器或终端每隔2秒自动由串口输出ZigBee网络信息,帧格式如下: (1)+WSN(3)+节点网络地址(2)+节点物理地址(8)+父节点网络地址(2)+父节点物理地址(8)+”yyyyyyy”(7)+*(1) 协议栈网络管理—代码 在“SampleApp.h”添加事件, #define MY_SAMPLE_EVT 0x4000 “SampleAppMaster.c” 或 “SampleAppSlave.c” union { uint8 data[32]; struct { uint8 Head; // uint8 type[3]; //WSN 协议栈网络管理—代码 uint8 Saddr[2]; //节点网络地址 uint8 ExtAddr[8]; //节点物理地址 uint8 faSaddr[2]; //父节点网络地址 uint8 faExtAddr[8]; //父节点物理地址 uint8 DataBuf[7]; //数据区 uint8 foot; //* }packet_Struct; }UartTrans_Buffer;//定义数据帧格式 协议栈网络管理—代码 uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events ) { ………………………………………………. case ZDO_STATE_CHANGE: osal_start_timerEx( SampleApp_TaskID, MY_SAMPLE_EVT, 2000 ); ………………………………………………. if ( events MY_SAMPLE_EVT ) { osal_start_timerEx( SampleApp_TaskID, 协议栈网络管理—代码 MY_SAMPLE_EVT, 2000 ); ? // return unprocessed events return (events ^ MY_SAMPLE_EVT); } …………………………………………………….. } 协议栈网络管理—代码 获取节点网络地址、物理地址,父节点网络地址、物理地址 uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events ) { uint16 temp16; ………………………………………………. if ( events MY_SAMPLE_EVT ) { memset(UartTrans_Buffer.data,y,32); UartTrans_Buffer.packet_Struct.Head = ; UartTrans_Buffer.packet_Struct.type[0] = W; 协议栈网络管理—代码 UartTrans_Buffer.packet_Struct.type[1] = S; UartTrans_Buffer.packet_Struct.type[2] = N;? temp16= NLME_GetShortAddr();

文档评论(0)

1亿VIP精品文档

相关文档