关键词  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协议分析仪的更多相关文章

  1. 手把手教你如何通过CC2531抓取Zigbee包,并解析加密Zigbee包

    前言 好久不见啊,大伙假期过得咋样? 最近我在研究 Zigbee ,使用了EFR32(购买链接)的开发板,之前也研究过一点,水了几篇文章,但是没有深了解和使用.最近 arduino 玩腻了,我开始回过 ...

  2. 【转】zigbee终端无法重连的问题解决

    zigbee终端无法重连的问题解决 1.zigbee重连的原因 (1)zigbee由于各种原因的干扰导致信号太差而掉线. (2)协调器重启. 2.zigbee终端重连的处理 (1)zigbee掉线后会 ...

  3. 【转】ZigBee终端入网方式深入分析

    前述 继之前对终端Direct Join的分析,发现很多东西还很模糊,存在很多问题.终于找到时间继续深入挖下去,这次应该比较完整地搞清了终端的入网机制,并纠正之前的几个认识偏差. 由于Z-Stack网 ...

  4. 【转译】加入ZigBee联盟,共画物联网的未来

    Zigbee联盟是物联网全球革命的领导者,创造了随心控制的时代.Zigbee简化了无线产品的整合.加快了市场化,同时让那些希望引入高能效的无线控制的厂商,降低了成本和风险.我们的联盟成员在开放的全球环 ...

  5. [Unity3D]自制UnityForAndroid二维码扫描插件

    一周左右终于将二维码生成和扫描功能给实现了,终于能舒缓一口气了,从一开始的疑惑为啥不同的扫码客户端为啥扫出来的效果不同?通用的扫描器扫出来就是一个下载APK,自制的扫描器扫出来是想要的有效信息,然后分 ...

  6. .NET中使用APlayer组件自制播放器

    目录 说明 APlayer介绍 APlayer具备功能 APlayer使用 自制播放器Demo 未完成工作 源码下载 说明 由于需求原因,需要在项目中(桌面程序)集成一个在线播放视频的功能.大概要具备 ...

  7. [ZigBee] 16、Zigbee协议栈应用(二)——基于OSAL的无线控制LED闪烁分析(下)

    说在前面:上一篇介绍了无线LED闪烁实现的OSAL部分,本篇介绍如何实现无线数据收发及数据处理: 上一篇是用SI跟着流程查看源码,我个人认为以架构的思维去了解代码能让人更清晰 ::ZMain.c程序入 ...

  8. 【转】ZigBee是如何组网的?

    组网方案设计:组建一个完整的zigbee网状网络包括两个步骤:网络初始化.节点(路由器或终端)加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网. 一.网络初始化:  ...

  9. 关于zigbee 网络拓扑节点数量的一点说明

    理论上,一个zigbee网络可以存在65535个节点,即一个协调器下挂这么多个节点(ZR & ZE),但是实际应用中几乎是不可能达到的,达到100~200已经是很不错了,达到300几乎也是凤毛 ...

随机推荐

  1. vs发布项目webconfig替换语法

    关于vs发布项目时webconfig替换语法也是最近才学到的东西,写这篇文章就当是作个备忘录吧,如果能帮助别人能够学习到webconfig如何替换那就再好不过了. 1.认识一下web项目下的web.D ...

  2. 原创js自动补全---auotocomplete

    if ($("input.autocomplete_input").length > 0) { $("input.autocomplete_input") ...

  3. Vue入门总结

    技术栈:VUE:Vue-router:Vue-resource:Vue-cli: 项目:个人博客vue重构 一.vue-cli脚手架搭建项目结构 全局安装vue-cli: npm install vu ...

  4. vue基础学习(一)

    01-01 vue使用雏形 <div id="box"> {{msg}} </div> <script> window.onload= func ...

  5. Webpack 2 视频教程 016 - Webpack 2 中生成 SourceMaps

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  6. Mac说——关闭SIP

    今天在安装keras的时候总是提示numpy无法安装,百度了下,说是新版本的os系统加入了spi机制. 什么是SIP: 系统集成保护(System Integrity Protection,SIP), ...

  7. Django学习日记03_模型_Fields

    创建模型 模型对应工程中的应用,一个工程可能包含很多的应用,通过命令 python manage.py startapp myapp 创建一个叫myapp的应用,django会帮助生成以下目录: po ...

  8. Linux重启后raid5的名字发生变化

    Linux重启后raid5的名字发生变化 使用raid,每次重启后,都会变换设备路径 比如原来为/dev/md0 重启一次变成了/dev/md127 这个问题,可以使用修改配置文件来解决. 1.mda ...

  9. K:二叉树的非递归遍历

    相关介绍:  二叉树的三种遍历方式(先序遍历,中序遍历,后序遍历)的非递归实现,虽然递归方式的实现较为简单且易于理解,但是由于递归方式的实现受其递归调用栈的深度的限制,当递归调用的深度超过限制的时候, ...

  10. rsyslogd以及日志轮替logrotate的梳理

    rsyslog 1)日志类型 auth :(authpriv) 主要与认证有关的机制,例如 login, ssh, su 等需要帐号/密码的咚咚: cron: 就是例行性工作排程 cron/at 等产 ...