讲师博文
ZigBee协议栈的基础实验 来源 : 未知     2018-08-16

虽然对ZigBee 协议的基本内容还不太了解,甚至ZigBee 协议栈是什么也不清楚。这个没关系我们可以通过相应的实验来逐步了解ZigBee。通过协议栈的基础实验来对ZigBee 协议以及ZigBee 协议梳建立一个形象、直观的认识,这将有助于对ZigBee 协议的理解。

1.1ZIGBEE点灯实验

数据传输实验的基本功能:两个ZigBee节点进行点对点通信,ZigBee终端节点2发送"LED"三个字符,ZigBee协调节点收到数据后,对接收到的数据进行判断,如果收到的数据是"LED",则使开发板上的LED灯闪烁(1S闪烁一次)。数据传输实验原理图如图下所示。无线控制终端节点灯,一秒钟闪亮一次。

ZigBee无线传感器网络中有三种设备类型:协调器(Coordinator)、路由器(Router)和终端节点(EndDevice),设备类型是由ZigBee 协议钱不同的编译选项来选择的。

协调器主要负责网络组建、维护、控制终端节点的加入等。路由器主要负责数据包的路由选择。终端节点负责数据的采集,不具备路由功能。

工程路径:C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\GenericApp\CC2530DB

双击GenericApp工程名打开工程,

从新编译工程,

删除工程中的GenericApp.C 文件,删除方法是:先选择要删除的文件,右键在弹出的下拉菜单中选择Remove 即可,如下

在工程工程中添加两个文件Coordinator.c和EndDevice.c。添加如下:先在C:\Texas Instruments\ZStack-CC2530-2.3.0-1.4.0\Projects\zstack\Samples\GenericApp\Source文件夹中新建上面两个.c文件。然后添加你刚才新建的文件(EndDevice.c和Coordinator.c)。

添加完之后

接下来就可以在CoordinatorEB工程中的Coordinator.c中是实现协调功能和对数据处理。

Coordinator.c中添加如下:(略)

在EndDevice.c文件中添加:(略)

这里用到timer定时发送信息,需要定义一个时间标志LED_EVENT,需要在GenericApp.h中定义一下:

#define LED_EVENT 0x0002

编译工程CoordinatorED:

弹出对话框,选择Exclude from build:

同理在EndDeviceED工程中,把Coordinator.c的文件禁止编译,具体操作同上。

安装好SmartRF04B驱动后,通过USB先连接仿真器和PC机。仿真器的十针插头线与ZigBee设备的十针接口相连。下载编译后的程序:

下载完之后,从新上电等待连接。观察实验现象(协调节点的灯的闪亮情况)。

打开协调器电源开关,然后打开终端节点电源开关,儿秒钟后,会发现协调器的LED 灯已经闪烁起来了,这说明协调器已经收到了终端节点发送的数据。

扫码申领本地嵌入式教学实录全套视频及配套源码

上一篇:什么是 ZigBee协议栈?

下一篇:RTLinux的介绍

400-611-6270

Copyright © 2004-2024 华清远见教育科技集团 版权所有
京ICP备16055225号-5京公海网安备11010802025203号