- 实验内容
IAR 集成开发环境下基于 Zstack 协议栈,控制 Esp8266 模块连接云平台的工程,完成 ONENet
平台的登录及测试数据的发送。在协调器工程中设计 Esp8266 初始化函数及串口数据收发函数,
实现 Zigbee-WIFi 网关的功能,实现云平台与 Zigbee 终端节点的数据透明传输。
- 实验环境
软件: IAR 开发工具,64 位 win10 操作系统,SmartRF Flash Programmer 下载软件
硬件: PC,CC2530 开发板,一根数据线,SmartRF04EB 下载器 ,dht11温度传感器,杜邦线
三、实验目标
掌握建立新的 Zstack 的流程;
掌握 Zstack 协议栈下添加任务的方法;
掌握 Zstack 协议栈下添加事件的方法;
掌握 Zstack 协议栈下网关传送数据给云平台及云锁终端节点的方法;
掌握 Zstack 协议栈下 8266 模块初始化程序的设计的方法;
掌握使用串口调试助手、网络调试助手进行程序调试、结果检测的方法。
- 实验操作步骤
1.网关发送数据给云锁终端模块实现
具体过程分两步:第一步,协调器节点通过串口接收到 8266 模块通过 wifi 网络接
收到的来自云平台的数据,在串口回调函数中通过调用 HalUARTRead 函数实现;第二
步,通过 zigbee 网络发送给云锁终端,通过在串口回调函数中调用 AF_DataRequest 函
数来实现。
2.网关发送数据给云平台的实现
具体过程分两步:第一步,协调器通过 Zigbee 网络接收到来自云锁终端的数据,
在任务处理函数 IOTApp_ProcessEvent 中使用语句调用 osal_msg_receive 函数实现;第二步,将数据通过串口发送给 8266 模块,使用 TCP 透传方式发送给云平台,在任务处理函数IOTApp_ProcessEvent中通过判断事件类型调用IOTApp_ProcessMSGCmd( MSGpkt )函数,在该函数中通过判断 clusterId,调用 HalUARTWrite 函数,实现数据发送。
3.编译并下载协调器程序
打开工程文件,在Workspace下拉框中选择“CoordinatorEB”,在工程名上点右键选
择”Rebuild All”,没错误提示再按照实验2.1的方法,使用下载器将编译好的代码下载到开发板当中。
4.使用以上的方法,选择“EndDeviceEB-Pro”编译下载终端节点程序。
5.网络设置
使用实验实验2.2 ESP8266连接OneNET云平台实验中的网络设置方法,设置好后打开网络调试助手,并设置好连接方式
6.硬件连接
协调器节点使用实验2.5的连接方式,连接8266模块,接好天线,使用电源供电;终端节点 ,接上天线并使用usb线连接PC,打开串口调试助手终端界面,做好设置
7.观察实验现象
1)esp8266初始化的测试
两个zigbee节点都下载好程序后,分别上电,进行esp8266初始化的测试及数据发送接收的
测试,结果如下 :
1)首先,上电后,等待大约15秒的时间。8266模块初始化成功,进入透传数据模式,此时若连接云平台,发送登录指令后即可实现设备登录。
2)发送数据给云平台测试
接收来自云锁终端(通过zigbee网络接收来自终端节点的数据)数据并通过8266模块发送给
网络调试助手,此时在串口调试助手发送界面进行数据发送,可以看到网络调试助手接收端显示
3)发送数据给云锁终端测试
即在网络调试助手(模拟云平台)进行数据发送,观察终端节点的串口调试助手是否可以收到数据
- 实验总结
因为实验室人比较多,所以需要更改信号避免发到别人哪里,另外就是需要注意网络,如果网不太好的话,设备可能连接不到云平台