博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于CC2530的zigbee信道、PANID扫描设备
阅读量:6267 次
发布时间:2019-06-22

本文共 1133 字,大约阅读时间需要 3 分钟。

转载:

快过年了,在这里送上年前最后一篇分享,也是第四篇,是一个关于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

你可能感兴趣的文章
Python监控进程性能数据并画图保存为PDF文档
查看>>
Android属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
查看>>
Mac OS 10.10.3下Apache + mod_wsgi配置【一】
查看>>
Hibernate基于注解的双向one-to-many映射关系的实现
查看>>
算法竞赛入门经典 例题 3-2 蛇形填数
查看>>
remove-duplicates-from-sorted-list I&II——去除链表中重复项
查看>>
c++ 网络库
查看>>
Linux 格式化扩展分区(Extended)
查看>>
linux echo命令
查看>>
nginx 内置变量大全(转)
查看>>
lakala反欺诈建模实际应用代码GBDT监督学习
查看>>
java 解析excel工具类
查看>>
Google FireBase - fcm 推送 (Cloud Messaging)
查看>>
BBS论坛(二十七)
查看>>
html DOM 的继承关系
查看>>
装饰器的邪门歪道
查看>>
Dubbo常用配置解析
查看>>
【转】C#解析Json Newtonsoft.Json
查看>>
macports的安装及常用命令
查看>>
(转)使用C#开发ActiveX控件
查看>>