自制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几乎也是凤毛 ...
随机推荐
- git push的用法
git push <远程仓库名> <本地分支名>:<远程分支名>
- UWP Windows历史上最漂亮的UWP框架出炉!!!
UWP Windows历史上最漂亮的UWP框架出炉!!! 本框架基于微软的开源项目WTS开发,并在其基础上增加了FDS(流畅设计元素,高光.亚克力等).多语言系统.沉浸式体验(扩展内容到标题栏) 同时 ...
- Qt中不同类型数据之间的相互转换
int类型转换为QString类型 ; QString string_data; string_data = QString::number(int_data,);//10进制 qDebug() &l ...
- 细说MyEclipse调试
在程序出现问题时,我们需要找到并解决掉这些恼人的Bug,才能使程序顺利的运行下去.但是,当代码很多,程序很大的时候,找起来就很麻烦. 所以,我们需要借助工具——Eclipse/MyEclipse中的 ...
- Android中Handler的消息处理机制以及源码分析
在实际项目当中,一个很常见的需求场景就是在根据子线程当中的数据去更新ui.我们知道,android中ui是单线程模型的,就是只能在UI线程(也称为主线程)中更新ui.而一些耗时操作,比如数据库,网络请 ...
- java多线程(一)-概述
最近这段在看java多线程编程方面的东西.所以特写了几篇文章,来总结和回顾一下自己所学习到的相关知识.因为水平有限,文章中总结不全面甚至理解错误的地方,欢迎读者指点批评. 我们平时所接触到的程序,都是 ...
- springMVC(7)---表单标签
springMVC(7)---表单标签 form标签作用 简单来讲form表单有两大作用 1:第一就是往后端提交数据或者前端回显 ...
- Redis学习之一VMWare Pro虚拟机安装和Linux系统的安装
一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一 ...
- [Spark性能调优] 第三章 : Spark 2.1.0 中 Sort-Based Shuffle 产生的内幕
本課主題 Sorted-Based Shuffle 的诞生和介绍 Shuffle 中六大令人费解的问题 Sorted-Based Shuffle 的排序和源码鉴赏 Shuffle 在运行时的内存管理 ...
- K:树与二叉树
相关介绍: 树(英语:tree)是一种抽象数据类型(ADT)或是作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点组成的一个具有层次关系的集合.把它 ...