今天做zigbee的抓包实验,结果发现不能实验过程跑不起来!
出现了错误:
not able to setup connection to device smartRF04EB的错误;当时就懵了!
到底是哪里出问题了呢?这个平台怎么搭建起来呢?在网上找了很久都没有找到相关抓包实验的基本过程,很多都是直接给出实验步骤都完成后的描述(首先需要把各种软件装上,IAR工作台,SmartRF Flash Programmer软件,Packet Sniffer三个软件)!
后面又到买开发板的赠送相关资料找了找材料,然后结合网上的信息,终于做好了这个实验!现在把这个实验的详细过程叙述下:
这里以TI公司自带的例程SimpleApp的数据抓包实验为基础进行描述。
第一步,打开SimpleApp的工作空间文件,即用IAR软件打开文件SimpleApp.eww。
第二步,配置相关文件,点击project选项的linker选项,相关的具体配置如下图:
配置完成后,找到zigbee协议栈的Tools文件夹下的f8w2530.xcl文件,把该文件的下列两句话的注释给去掉:
//-M(CODE)[(_CODEBANK_START+_FIRST_BANK_ADDR)-(_CODEBANK_END+_FIRST_BANK_ADDR)]
//_NR_OF_BANKS+_FIRST_BANK_ADDR=0x8000
去掉注释后的f8w2530.xcl文件如下:
完成上述配置后,进行编译,编译后可能会有warning弹出,但是没关系,直接忽略就可以!
编译好了之后,分别把SimpleSensorEB 和SimpleCollectorEB对应的程序下载到传感器节点,然后把IAR工作台关闭(停止debug也行)。
当下载完成后。首先对下载了SimpleCollectorEB程序的节点,进行如下操作:
打开软件SmartRF Flash Programmer,
我们点击Read IEEE按钮后可以知道该节点的IEEE地址;然后对应的flash image的位置,该flash image 是对应hex文件,因此需要导入SimpleCollectorEB程序所有对应的hex文件。如何导入呢??点击下图箭头指向的按钮
打开SimpleApp\SimpleCollectorEB\Exe文件夹,点击后会出现hex文件,选择该hex文件即可;我电脑上的SimpleCollectorEB程序所有对应的hex文件是在:C:\Texas Instruments\ZStack-CC2530-2.2.2-1.3.0\Projects\zstack\Samples\SimpleApp\CC2530DB\SimpleCollectorEB\Exe目录下面。
然后点击Actions选项下的Erase,program and verify选项;再点击Perform actions,总而言之,各个选项(除了flash image选项对应自己的配置)按照图中的选项选择后再点击Perform actions就可以了!类似的,对下载了SimpleSensorEB程序的节点也执行相同的操作!完成这一步之后,给下载了SimpleSensorEB程序的节点上电。而 SimpleCollectorEB程序对应的节点一直是连接到电脑上(通过仿真器连接到电脑,如下图示,这里我的设备如果要做抓包实验,需要把传感器节点上的跳冒排一下,所以读者如果要做这个抓包实验,也许你所买的厂商实验指导进行硬件的相关布置)
此时,当两个节点都上电后,并且 SimpleCollectorEB程序对应的节点也是按照上图方式连接到电脑上(通过仿真器连接到电脑)。
打开zigbee协议嗅探软件,选择IEEE 802.15.4/Zigbee,如下图示:
点击Start按钮,出现下图
然后选择zigbee 2006(这里是看个人的zigbee协议栈的版本,我的是zigbee2006),再点击箭头所示的三角形按钮就大功告成了!!出现了如下的画面:
紧接着就是分析zigbee数据包的内容了!!
哈哈,搞定zigbee嗅探数据的实验过程!欢迎各位留言!!