自制ZigBee协议分析仪
关键词 ZigBee Sniffer 协议 分析仪 自制 CC2530 CC2531
在开发ZigBee / Bluetooth的过程,难免会要用到Sniffer工具,Packet Sniffer是SmartRF Studio的组件,也可以单独安装,下载地址是:http://www.ti.com/tool/packet-sniffer
它的主要作用是监听空中数据包,并以按照协议格式分解出来,非常便于人的阅读和网络数据传输过程中问题的查找。是非常重要的一个工具。这是一个免费的工具,功能还比较常规,只能找描一个信道,其他 ZigBee 半导体厂商也有相应的工具。如果想更最专业的,可以了解 Perytons, Luxoft等公司的产品。
TI Packet Sniffer支持多种硬件搭配使用,预算有即而且想自己动手作一个Sniffer也是可行的,两种方案,基于不同的硬件。
|
方案一 |
CC2531 USB Dongle |
使用时最方便 |
|
方案二 |
CC2530 Module + SMART RF EB/CC DEBUGGGER |
使用时要占用SMART RF EB/ CC DEBUGGER |
由于在Sniffer运行时,CC253x模块都是需要运行特定的程序的,所以还要下载安装另一个软件 SmartRF Flash Programmer, 安装好两个软件之后,可以开始下面的步骤。无论哪种方案,都需要一个下载工具 SMARTRF EB/ CC DEBUGGER。
方案一
首先可以到淘宝买一个CC2531 USB Dongle硬件,带下载接口的,这一点很重要,这个硬件设计是公开的,也可以自已做。前提是会RF Layout。
1 将下载工具与Dongle连接起来,将USB插入电脑,设Dongle自己能供电
2 打开 Flash Programmer, 复位下载工具
3 下载CC2531的固件,它的位置是 X:\Program Files (x86)\Texas Instruments\SmartRF Tools\Packet Sniffer\bin\general\firmware,X 是Sniffer软件的安装盘。文件名为sniffer_fw_cc2531.hex
4 断开下载工具,重新插上Dongle,安装Dongle的驱动,驱动目录 X:\Program Files (x86)\Texas Instruments\SmartRF Tools\Drivers\Cebal\win_64bit_x64
5 安装好驱动以后,在电脑的设备管理器中查看,有CC2531 USB Dongle 为成功
方案二
硬件上要有一个CC2530模块,一个下载工具,这里要注意TI 原装的CCDEBUGGER不会给目标板供电,因此要给模块电源,国内仿TI设计的大部分都是电源供电的。
1 将下载工具与CC2530模块连接, 供电(若有必要)
2 打开 Flash Programmer, 复位下载工具
3 下载CC2530的固件,它的位置是 X:\Program Files (x86)\Texas Instruments\SmartRF Tools\Packet Sniffer\bin\general\firmware,X 是Sniffer软件的安装盘。文件名为sniffer_fw_cc2530.hex
4 连接下载工具的 CS,SCK, MO, MI到CC2530模块的P14,P15,P16,P17。一共9个脚,若模块自行供电,则VCC可以不连接。
下载工具与 CC2530全部连接的对应如下
|
CC2530 |
下载工具 |
下载工具 |
CC2530 |
|
GND |
GND |
VCC |
VCC |
|
P22 |
DC |
DD |
P21 |
|
P14 |
CSn |
SCK |
P15 |
|
RESET |
RES |
MO |
P16 |
|
- |
NC |
MI |
P17 |
另外,SmartRF EB 05的外扩Debug接口并不具备SPI连接功能,所以如果想用这个原厂的板来做协议分析仪,则可参照如下的信号连接, Pn表示接口的位置,#n表示编号
|
CC2530 |
SmartRF EB原板 |
SmartRF EB原板 |
CC2530 |
|
GND |
P2 #1 |
P2 #2 |
VCC |
|
P22 |
P1 #20 |
P1#22 |
P21 |
|
P14 |
P1 #24 |
P1# 30 |
P15 |
|
RESET |
P10 #30 |
P1 #28 |
P16 |
|
- |
- |
P1 #26 |
P17 |

自制ZigBee协议分析仪的更多相关文章
- 手把手教你如何通过CC2531抓取Zigbee包,并解析加密Zigbee包
前言 好久不见啊,大伙假期过得咋样? 最近我在研究 Zigbee ,使用了EFR32(购买链接)的开发板,之前也研究过一点,水了几篇文章,但是没有深了解和使用.最近 arduino 玩腻了,我开始回过 ...
- 【转】zigbee终端无法重连的问题解决
zigbee终端无法重连的问题解决 1.zigbee重连的原因 (1)zigbee由于各种原因的干扰导致信号太差而掉线. (2)协调器重启. 2.zigbee终端重连的处理 (1)zigbee掉线后会 ...
- 【转】ZigBee终端入网方式深入分析
前述 继之前对终端Direct Join的分析,发现很多东西还很模糊,存在很多问题.终于找到时间继续深入挖下去,这次应该比较完整地搞清了终端的入网机制,并纠正之前的几个认识偏差. 由于Z-Stack网 ...
- 【转译】加入ZigBee联盟,共画物联网的未来
Zigbee联盟是物联网全球革命的领导者,创造了随心控制的时代.Zigbee简化了无线产品的整合.加快了市场化,同时让那些希望引入高能效的无线控制的厂商,降低了成本和风险.我们的联盟成员在开放的全球环 ...
- [Unity3D]自制UnityForAndroid二维码扫描插件
一周左右终于将二维码生成和扫描功能给实现了,终于能舒缓一口气了,从一开始的疑惑为啥不同的扫码客户端为啥扫出来的效果不同?通用的扫描器扫出来就是一个下载APK,自制的扫描器扫出来是想要的有效信息,然后分 ...
- .NET中使用APlayer组件自制播放器
目录 说明 APlayer介绍 APlayer具备功能 APlayer使用 自制播放器Demo 未完成工作 源码下载 说明 由于需求原因,需要在项目中(桌面程序)集成一个在线播放视频的功能.大概要具备 ...
- [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)
说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...
- 【转】ZigBee是如何组网的?
组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化.节点(路由器或终端)加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网. 一.网络初始化: ...
- 关于zigbee 网络拓扑节点数量的一点说明
理论上,一个zigbee网络可以存在65535个节点,即一个协调器下挂这么多个节点(ZR & ZE),但是实际应用中几乎是不可能达到的,达到100~200已经是很不错了,达到300几乎也是凤毛 ...
随机推荐
- JS画几何图形之三【正弦曲线】
数学式:y=Asin(ωx+φ)+k 样例:http://www.zhaojz.com.cn/demo/draw7.html 依赖:[点].[直线] JS函数的声明: //画正弦曲线 //dot 原点 ...
- Windows as a Service(2)—— 使用WSUS管理Windows10更新
前言 在上一篇Windows as a Service(1)-- Windows 10服务分支中,我和大家分享了Windows 10三个服务分支CB/CBB/LTSB的概念及不同,从这篇文档开始,我将 ...
- lesson - 4 笔记 /inode / suid / sgid / sbit / chmod /umask / chown / rwx / wc /grep / tr / sort / cut /which / whereis / locate / find / ln /
一.帮助+基本文件管理+用户管理 1.怎么查看命令帮助 ls --help man ls :查看命令/man 5 file:查看配置文件 二.基本文件管理,通过{查,建,删,改} 四个维度介绍了不同的 ...
- MySQL 字符集问题及安全的更新操作
一.字符集乱码 1.操作系统字符集 [root@mysql5 ~]# cat /etc/system-release /etc/sysconfig/i18n CentOS release 6.5 (F ...
- php消息队列之 think queue消息队列初体验
使用thinkphp 5的 消息队列 think queue ● php think queue:listen --queue queuename ● php think queue:work -- ...
- Git添加远程库和从远程库中获取
一. Git添加远程库 1. 在本地新建一个文件夹,在该文件夹使用Git工具,运行$ git init,将该文件夹变为本地Git仓库,同时会生成一个隐藏的.git文件夹. 2. 在该文件夹中用Note ...
- ssh整合开发
ssh整合思想 ssh整合 第一步:导入ssh相关jar包 第二步:搭建struts环境 (1)创建 action struts.xml配置文件, 配置action struts.xml约束 & ...
- Hibernate学习笔记(3)---hibernate关联关系映射
一对一关联 假设有两个持久化类(实体类)User与Address,它们之间存在一对一的关系 1,通过主键关联(个人偏向另外一种) User.hbm.xml文件配置 <id name=" ...
- vue2.0 关于Vue实例的生命周期
什么是生命周期 Vue实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom.渲染→更新→渲染.卸载等一系列过程,我们称这是Vue的生命周期.通俗说就是Vue实例从创建到销毁的过 ...
- html5 storage事件
HTML5 虽然很多年了,但是真的了解不不够不够.主题说的是 storage时间,说起对 storage 事件的了解还是从 QQ音乐 说起. QQ音乐的主页是 https://y.qq.com , 而 ...