《信息安全技术》实验报告

 

 

 

 

 

实验一 物联网实验箱基本使用

1、实验目的

  掌握ZXBee物联网开发套件的使用。

 

2、实验环境

  硬件:ZXBee CC2530 节点板 2 块、USB  接口的 CC2530 仿真器,PC 机;

  软件:Windows 7/Windows XP、IAR 集成开发环境、串口监控程序。

 

3、实验内容

    以下内容均使用《基于 CC2530 Zigbee 无线传感网协议开发》一书作为实验指导书,以后简称《指导书》。其中的代码不提供copy,请同学们自己输入。

1)自行阅读《指导书》第1章有关ZXBee开发环境的介绍,并完成1.5“创建第一个IAR应用程序”。

2)完成第2章基本接口实验:2.2“LED控制实验”和2.5“串口实验”。

3)完成第4章无线射频实验:4.1“点对点通信实验”、4.2“广播通信实验”和4.4“信道监听实验”。

 

2.2 LED 控制实验

实验目的

 通过 I/O 控制小灯闪烁的过程;

 在 ZXBee CC2530 节点板上运行自己的程序。

实验环境

 硬件: ZXBee CC2530 节点板一块, CC2530 仿真器, PC 机;

 软件: Windows 7/Windows XP, IAR 集成开发环境。

实验原理

通过 CC2530 的 I/O 引脚,输出高低电平来控制 D6 及 D7 的亮与灭。

CC2530 的 I/O 控制口一共有 21 个,分成 3 组,分别是 P0、 P1 和 P2;由电路原理图可以看

出 D7 所对应的 I/O 口为 P1_0, D6 所对应的 I/O 口为 P1_1。

如图为 LED 灯的驱动电路,本实验选择 P1_0 和 P1_1 I/O 引脚, P1_0 与 P1_1 分别控制

LED4(D7)和 LED3(D6),因此,在软件上只要配置好 P1_0 口及 P1_1 口

实验步骤

1) 正确连接 CC2530 仿真器到 PC 机和 ZXBee CC2530 节点板,确定按照第一章 1.2 节设置 节点板跳线为模式一,打开 ZXBee CC2530 节点板电源(上电)。

2) 打开实验工程:在文件夹“05-实验例程\第 2 章\2.2-LED”下双击打开工程 LEDs.eww, 选择 Project->Rebuild All 重新编译工程。

3) 将连接好的硬件平台上电(CC2530 务必按下开关上电),然后按下 CC2530 仿真器上的复 位按键。接下来选择 Project->Download and debug 将程序下载到 CC2530 节点板。

4) 下载完后将 CC2530 重新上电或者按下复位按钮,观察两个 LED 的闪烁情况。

5) 修改延时函数,可以改变 LED 小灯的闪烁间隔时间。

实验截图

 

 

 

 

2.5

串口实验

实验目的

本次实验将会学习如何使用串口实现与 PC 机的通讯(实验中需要 PC 机与开发板之 间使用 RS232 交叉串口连接线); Ø 能正确配置 CC2530 的串口。

实验环境

硬件:ZXBee CC2530 节点板一块,CC2530 仿真器,PC 机,交叉串口线一根;软件:Windows 7/Windows XP,IAR 集成开发环境、串口调试助手。

实验步骤

1) 正确连接 CC2530 仿真器到 PC 机和 ZXBee CC2530 节点板,确定按照第一章 1.2 节设置 节点板跳线为模式一,打开 ZXBee CC2530 节点板电源(上电)。用 RS-232 串口线一端连接 ZXBee CC2530 节点板,另一端连接 PC 机串口。

2) 在 PC 机上打开串口终端软件,设置好波特率为 19200。

3) 打开实验工程:在文件夹“05-实验例程\第 2 章\2.5-UART”下双击打开工程 uart.eww, 选择 Project->Rebuild All 重新编译工程。

4) 将连接好的硬件平台上电(CC2530 务必按下开关上电),然后按下 CC2530 仿真器上的复 位按键。接下来选择 Project->Download and debug 将程序下载到 CC2530 节点板。

5) 下载完后可以点击“Debug”->”Go”程序全速运行;也可以将 CC2530 重新上电或者按下 复位按钮让刚才下载的程序重新运行。

6) 程序运行后,在 PC 机上的串口软件中会看到串口输出“Please Input string end with '@'”。在 PC 机通过键盘发送数据到 CC2530,输完后按@结束。然后检查 CC2530 回送给 PC 机的数据。

实验截图

 

 

 

4.1点对点通信实验

实验目的

  • Ø 在 ZXBee CC2530 节点板上运行相应实验程序;
  • Ø 熟悉通过射频通信的基本方法;
  • Ø 练习使用状态机实现收发功能。

实验环境

  • Ø 硬件:ZXBee CC2530 节点板 2 块、USB 接口的 CC2530 仿真器,PC 机;

 Ø 软件:Windows 7/Windows XP、IAR 集成开发环境、串口监控程序。

实验原理

Zigbee 的通讯方式主要有三种:点播、组播、广播。点播,顾名思义就是点对点通信,也就是 2 个设备之间的通讯,不容许有第三个设备收到信息;组播,就是把网络中的节点分组,每一个组 员发出的信息只有相同组号的组员才能收到;广播,最广泛的也就是一个设备上发出的信息所有设 备都能接收到。这也是 ZigBee 通信的基本方式。 在点对点通信的过程中,先将接收节点上电后进行初始化,然后通过指令 ISRXON 开启射频接 收器,等待接收数据,直到正确接收到数据为止,通过串口打印输出。发送节点上电后和接收节点 进行相同的初始化,然后将要发送的数据输出到 TXFIFO 中,再调用指令 ISTXONCCA 通过射频前 端发送数据。

实验步骤

1)准备两个 CC2530 无线节点板(参考 1.2 章节,将无线节点板跳线设置为模式一),分别接上出厂电源;将其中一个 CC2530 无线节点板通过 RS-232 交叉串口线连接到 PC 机串口。

2)在 PC 机上打开串口终端软件,设置好波特率为 19200。

3)双击本实验程序“第 4 章\4.1-P2P”双击 p2p.eww,打开本实验工程文件。

4)打开 main.c 文件,下面对一些定义进行介绍。RF_CHANNEL 宏定义了无线射频通信时使

用的信道,在实验室中,多个小组同时进行实验时建议每组选择不同时信道,即每个小组使用不同的 RF_CHANNEL 值(可按顺序编号)。但同一组实验中两个节点需要保证在同一信道,才能正确通信。

5)PAN_ID 个域网 ID 标示,用来表示不同在网络,在同一实验中,接收和发送节点需要配置为相同的值,否则两个节点将不能正常通信。

SEND_ADDR 发送节点的地址;

RECV_ADDR 接收节点的地址。

6)NODE_TYPE 节点类型:0-接收节点,1-发送节点。在进行实验时一个节点定义为发送节点用来发送数据,一个定义为接收节点用来接收数据。

7)修改 main.c文件中的 NODE_TYPE 的值为 0,保存,然后选择 Project->Rebuild All 重新编译工程。

8 ) 将 CC2530 仿 真 器 连 接 到 串 口 与 PC 机 相 连 接 的 CC2530 节 点 上 , 点 击 菜 单Project->Download and debug 下载程序到节点板。此节点以下称为接收节点。

9)修改 main.c 文件中的 NODE_TYPE 的值为 1,然后点击保存,然后选择 Project->Rebuild All重新编译工程。

10)接下来将接收节点断电,取下 CC2530 仿真器连接到另外一个节点上,点击菜单Project->Download and debug 下载程序到节点板。此节点板以下称为发送节点。

11)确保接收节点的串口与 pc 的串口通过交叉串口线相连。

12)先将接收节点上电。查看 PC 机上的串口输出。接下来将发送节点上电。

13)从 PC 机上串口调试助手观察接收节点收到的数据。可以修改发送节点中发送数据的内容,然后编译并下载程序到发送节点,然后从串口调试助手观察收到的数据。可以修改接收节点的地址,然后重新编译并下载程序到接收节点,然后从发送节点发送数据,观察接收节点能否正确接收数据。

实验结果

发送节点将数据发送出去后,接收节点接收到数据,并通过串口调试助手打印输出。发送数据的最大长度为 125 (加上发送的数据长度和校验,实际发送的数据长度为 128 字节)。

实验截图

 

 

 

 

4.2广播通信实验

实验目的

 在 ZXBee CC2530 节点板上运行自己的程序;

 理解广播的实现方式。

实验环境

 硬件:ZXBee CC2530 节点板 3 块、USB 接口的 CC2530 仿真器,PC 机;

 软件:Windows 7/Windows XP、IAR 集成开发环境、串口监控程序。

实验原理

ZigBee 协议中,数据包能被单播传输、组播传输或者广播传输。

当应用程序需要将数据包发送给网络的每一个设备时使用广播模式,地址模式设置为AddrBroadcast,目标地址可以设置为下面广播地址的一种:

NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)——数据包将被传送到网络上的所有设备包括睡眠中的设备。对于睡眠中的设备数据包将被保留在其父亲节点 直到查询到它或者消息超时(NWK_INDIRECT_MSG_TIMEO 在 f8wConifg.cfg 中)。NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)——数据包将被传送到网络上的所有的打开接收的空闲设备(RXONWHENIDLE),也就是除了睡眠中的所有设备。NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)——数据包发送给所有的路由器,包括协调器。

实验步骤

1)准备 3 个 CC2530 无线节点板(参考 1.2 章节,将无线节点板跳线设置为模式一),分别接上出厂电源。

2)打开光盘“第 4 章\4.2-BroadcastCommunication”,双击 p2p.eww,打开本实验工程文件。

3)按实验原理修改程序。先将 main.c 中的节点类型变量 NODE_TYPE 的值设置为 0 作为接收节点,然后选择 Project->Rebuild All 重新编译工程。

4)将 CC2530 仿真器连接到其中一个 CC2530 节点板,上电 CC2530 节点板,然后点击菜单Project->Download and debug 下载程序到节点板。此节点以下称为接收节点 1。

5)修改 main.c 中的节点短地址 RECV_ADDR 的值为 0x2510,保存,然后选择 Project->RebuildAll 重新编译工程。接下来通过 CC2530 仿真器把程序下载到另外一个 CC2530 节点板中,称为接收节点 2。

6)将节点类型变量 NODE_TYPE 的值设置为 1,保存。然后选择 Project->Rebuild All 重新编译工程编译工程,并下载到 ZXBee CC2530 节点板中,作为发送节点。

7)将发送节点通过串口线连接到 PC 上,在 PC 机上打开串口调试助手,配置串口助手波特率为 19200。

8)复位发送节点(让节点发送数据),可以看到串口调试助手上打印出发送情况

实验结果

实验中,只要节点为接收数据的节点,便能接收数据,实现了射频广播的功能,事实上,若不考虑收发数据的地址,即是广播。

实验截图

 

 

 

4.4信道监听实验

实验目的

 在 ZXBee CC2530 节点板上运行自己的程序;

 了解信道扫描的概念。

实验环境

 硬件:ZXBee CC2530 节点板 2 块、USB 接口的 CC2530 仿真器,PC 机;

 软件:Windows 7/Windows XP、IAR 集成开发环境、串口监控程序。

实验原理

ZigBee 中物理层上面是 mac 层,它的核心是信道接入技术,包括 GTS(时分复用技术)和随机信道接入技术(csma-ca)。不过 zigbee 没有对 gts 技术进行支持,因此我们仅需要考虑 csma-ca技术。802.15.4 网络的所有节点都工作在一个信道上,因此如果邻近节点同时发送数据就会产生冲突,为此采用 csma-ca 技术,简单来说,就是节点在发送数据之前,先监听信道,如果这个信道空闲则可以发送数据,否则就进行随机退避,即延时一个随机时间,然后再进行信道监听,这个退避时间是指数增长的,但有一个最大值。即如果上一次退避后监听信道忙,则退避时间要倍增,这样做的原因是如果多次监听信道忙,则表明信道上传输的数据量很大,因此节点要等待更长时间,避免繁忙的监听。通过这种技术,所有节点共享一个信道。在 mac 层中还规定了两种信道接入模式,一种是信标(beacon)模式,另一种是非信标模式。信标模式当中,规定了一种超帧格式,在超帧的开始发送信标,里面包含一定的时序和网络信息,紧接着是竞争接入时期,在这段时间内,各节点竞争接入信道,再后面是非竞争接入时期,节点采用时分复用方式接入信道,然后是非活跃时期,节点进入休眠状态,等待下一个超帧周期的开始又发送信标帧。而非信标模式则比较灵活,节点均以竞争方式接入信道,不需要周期性的发送信标帧。显然在信标模式下,由于有了周期性的信标帧,整个网络的各个节点都能够同步,但这种同步网络规模不会大。实际上 zigbee 中更多的应用是非信标模式。

实验步骤

1)准备 2 个 CC2530 无线节点板(参考 1.2 章节,将无线节点板跳线设置为模式一),分别接上出厂电源。

2)打开光盘“第 4 章\4.4-ChannelScan”,双击 ChanelScan.eww,打开本实验工程文件。

3)将工程文件 main.c 中的节点类型变量 NODE_TYPE 的值设置为 0,信道变量 RF_CHANNEL设置为 13,选择 Project->Rebuild All 重新编译工程;(注意:在实验室中多个小组同时实验时,为防止相互间的信道干扰,RF_CHANNEL 应设置为不同值,可按小组编号设置,这里举例设为 13)。

4)将 CC2530 仿真器连接到第 1 个 CC2530 节点板,上电 CC2530 节点板,然后点击菜单Project->Download and debug 下载程序到此节点板。此节点以下称为接收节点。

5)将工程文件 main.c 中节点类型变量 NODE_TYPE 第值设置为 1,选择 Project->Rebuild All重新编译工程。

6)将 CC2530 仿真器连接到第 2 个 CC2530 节点板,上电 CC2530 节点板,然后点击菜单Project->Download and debug 下载程序到此节点板。此节点以下称为发送节点。

7)将接收节点,上电并复位。

8)将发送节点通过串口线连接到 PC 上,打开串口调试助手,配置串口助手波特率为 19200。

9)上电并复位发送节点,可是看到串口上打印出信道监听结果及接收到的数据

10)修改接收节点的信道设置值,重复以上步骤。

实验结果

当接收节点进行信道扫描时,它只能在发送节点使用的信道上接收到数据。

实验截图

 

posted on 2021-06-30 11:05  翎凌零  阅读(775)  评论(0)    收藏  举报