自制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几乎也是凤毛 ...
随机推荐
- ADG监控
cx_Oracle环境配置 export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 ...
- windows 命令行打开浏览器
在命令行打开百度 start chrome www.baidu.com
- pyshark 得到payload
mydata = pkt[okt.highest_layer].data mydata.decode("hex")
- 自定义php错误异常处理
set_exception_handler() 函数设置用户自定义的异常处理函数. 该函数用于创建运行时期间的用户自己的异常处理方法. 该函数会返回旧的异常处理程序,若失败,则返回 null. set ...
- Django__WSGI
WEB应用的本质 : 1. 浏览器发送一个http请求 2. 服务器收到请求,生成一个html文档 3. 服务器把HTML文档作为HTTP响应的body发送给浏览器 4. 浏览器收到http响应,从h ...
- class, classloder, dex 详解
class与dex文件 什么是class文件 class文件是一种能够被JVM识别,加载并且执行的文件格式. class文件的作用 class文件的作用是记录一个类文件的所有信息. 例如记住了当前类的 ...
- Lucene.net(4.8.0) 学习问题记录二: 分词器Analyzer中的TokenStream和AttributeSource
前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...
- leetcode — linked-list-cycle-ii
/** * Source : https://oj.leetcode.com/problems/linked-list-cycle-ii/ * * Given a linked list, retur ...
- JS大小写字母转换
var a = "ABCd"; console.log(a.toLowerCase());//转换成小写 console.log(a.toUpperCase());//转换成大写
- Struts2学习笔记(1)---相关配置
Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架. 1创建action对象(三种) 1 创建普通的类,不继承任何类, ...