基于CC2530的zigbee信道、PANID扫描设备
2013-04-18 16:45
645 查看
转载:http://www.amobbs.com/thread-5519128-1-1.html
快过年了,在这里送上年前最后一篇分享,也是第四篇,是一个关于zigbee信道扫描和PANID扫描的,主要目的是为了在复杂现场环境中辅助调试、安装zigbee设备的。采用的平台为TI公司的CC2530,协议栈使用的版本为“ZStack-CC2530-2.5.1a”。该设备具有以下功能:
1、设备为终端节点型或路由型设备,可以手动配置信道和PANID,加入任意网络,且可以和协调器通信,测量现场环境中各个位置协调器或路由设备信号强度。
2、可以扫描zigbee的全部16个信道,检查哪些信道已经被占用,从而可以避开这些信道。
3、可以扫描zigbee任意信道内已经存在的网络的PANID,从而可以避开这些PANID。
在这里送上我在开发板上调试时完成的程序,希望能给大家一些思路。有兴趣的朋友可以一起交流下。(程序太大,所以分成5个包,大家要全部下载才能解压)
注释:
1、本设备主菜单分四个功能:正常启动,配置信道PANID,信道扫描,PANID扫描;还有一个确认件,和一个系统复位键(非单片机复位键);
2、关于配置信道、PANID的思路:文件“ZComDef.c"中,有关于信道和PANID初始化语句”uint32 zgDefaultChannelList = DEFAULT_CHANLIST; uint16 zgConfigPANID = ZDAPP_CONFIG_PAN_ID;“;
我们可以将其赋值去掉,然后再为其重新赋值,至于我们自己的信道和PANID需要事先保存在flash中。重新赋值的位置在”ZMain.c=>zgInit()=>zgInitItems( setDefault )"后面;
3、关于信道扫描,我们知道当终端节点或路由的设PANID为0xFFFF时,会随机选择信号较好的PANID加入,正式利用这一点,我们便可以做到检查信道是否被占用;
4、关于PANID的思想和信道扫描一样,也是利用0xFFFF。设备上电启动后会向指定的信道内的协调器发送请求包,收到回应后变可获知协调器的PANID,我们可以屏蔽掉设备入网的程序,让设备一直处于入网请求状态,变可以并一直可以不停的检测信道已经存在的PANID;位置在“ZDApp.c=>networkDesc_t* ZDApp_NwkDescListProcessing(void)=>for ( i = 0; i < ResultCount; i++, pNwkDesc = pNwkDesc->nextDesc )循环内”;
快过年了,在这里送上年前最后一篇分享,也是第四篇,是一个关于zigbee信道扫描和PANID扫描的,主要目的是为了在复杂现场环境中辅助调试、安装zigbee设备的。采用的平台为TI公司的CC2530,协议栈使用的版本为“ZStack-CC2530-2.5.1a”。该设备具有以下功能:
1、设备为终端节点型或路由型设备,可以手动配置信道和PANID,加入任意网络,且可以和协调器通信,测量现场环境中各个位置协调器或路由设备信号强度。
2、可以扫描zigbee的全部16个信道,检查哪些信道已经被占用,从而可以避开这些信道。
3、可以扫描zigbee任意信道内已经存在的网络的PANID,从而可以避开这些PANID。
在这里送上我在开发板上调试时完成的程序,希望能给大家一些思路。有兴趣的朋友可以一起交流下。(程序太大,所以分成5个包,大家要全部下载才能解压)
注释:
1、本设备主菜单分四个功能:正常启动,配置信道PANID,信道扫描,PANID扫描;还有一个确认件,和一个系统复位键(非单片机复位键);
2、关于配置信道、PANID的思路:文件“ZComDef.c"中,有关于信道和PANID初始化语句”uint32 zgDefaultChannelList = DEFAULT_CHANLIST; uint16 zgConfigPANID = ZDAPP_CONFIG_PAN_ID;“;
我们可以将其赋值去掉,然后再为其重新赋值,至于我们自己的信道和PANID需要事先保存在flash中。重新赋值的位置在”ZMain.c=>zgInit()=>zgInitItems( setDefault )"后面;
3、关于信道扫描,我们知道当终端节点或路由的设PANID为0xFFFF时,会随机选择信号较好的PANID加入,正式利用这一点,我们便可以做到检查信道是否被占用;
4、关于PANID的思想和信道扫描一样,也是利用0xFFFF。设备上电启动后会向指定的信道内的协调器发送请求包,收到回应后变可获知协调器的PANID,我们可以屏蔽掉设备入网的程序,让设备一直处于入网请求状态,变可以并一直可以不停的检测信道已经存在的PANID;位置在“ZDApp.c=>networkDesc_t* ZDApp_NwkDescListProcessing(void)=>for ( i = 0; i < ResultCount; i++, pNwkDesc = pNwkDesc->nextDesc )循环内”;
相关文章推荐
- CC2530 zigbee 全信道扫描
- 基于CC2530的ZigBee转以太网网关的设计与实现
- 基于CC2530的ZigBee转以太网网关的设计与实现
- ZigBee TI ZStack CC2530 5.2 实例(二)终端设备低功耗与电池寿命00-总
- zigbee基本概念--网络设备类型和PANID
- ZIGBEE学习之:网络设备类型和PANID
- ZigBee帮助wifi设备选择信道的实验总结
- 第二篇 zigbee基本概念--网络设备类型和PANID
- Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下。
- Zigbee 设置信道,PANID,发射功率
- ZigBee TI ZStack CC2530 3.6 创建基于ZStack的新工程
- ZigBee_CC2530_05H_终端修改PANID
- TI Zigbee中协调器和其他设备固定PANID通信,设置PANID
- Zigbee 设置信道,PANID,发射功率
- ZigBee 设置信道、PANID、发射功率
- ZigBee_CC2530_05H_终端修改PANID
- Zigbee 设置信道,PANID,发射功率
- Zigbee 设置信道,PANID,发射功率
- Zigbee 学习计划——第4天——基于CC2530 Basic RF的无线点灯
- ZigBee TI ZStack CC2530 4.5 设备地址01-Primary/Secondary IEEE Address