基于CC2530的zigbee信道、PANID扫描设备

转载: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 )循环内”;

转载于:https://www.cnblogs.com/dreamcatcher-tanqw/archive/2013/04/18/3028926.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值