APP下载

基于Z-Stack协议栈的环境数据无线传输实验的递进式实现

2023-06-10严海洲

电脑知识与技术 2023年12期
关键词:无线传输工程实践创新能力

严海洲

关键词:Z-Stack协议栈;无线传输;工程实践;创新能力

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)12-0086-03

0 引言

基于Z-Stack协议栈的环境数据无线传输实验的硬件环境为UP-MOBNET-A9-II型移动互联网教学科研平台,软件开发平台为IAR Embedded Work?bench for MCS-51 ,实现无线组网及通信的协议栈是ZStack-2.3.0-1.4.0。本实验是《无线传感网络技术》课程中难度较大的综合性实验项目,通过本实验,可以让学生理解无线传感网络系统硬件的构成、具体功能和工作原理,进一步掌握无线传感网络软件集成开发环境IAR Embedded Workbench的功能、使用方法和特点。培养他们应用无线传感网络开发平台的基本技能、工程思维和团队协作精神。

在实验的整体设计方面,考虑到涉及相关知识点的多面性与综合性,为降低学习难度,采用由基础实验到高级实验,由简单模块实验到复杂系统实验的递进式实现方法。先安排两个前置实验,传感器实验(以温湿度传感器为例)和TI CC2530 Z-Stack协议栈IAR工程配置实验。前者的主要目的是为了熟悉Zig?Bee(TI CC2530) 模块相关硬件接口、传感器(以温湿度传感器为例)的工作原理和时序操作;后者的主要目的是为了学生熟悉Z-Stack协议栈的安装、结构,掌握Z-Stack协议栈中SampleApp工程的具体应用流程,以及IEEE802.15.4标准和ZigBee协议在无线传感网络架构中的作用。完成这两个前置实验后,再去做难度较高的基于Z-Stack协议栈的环境数据(以温湿度传感器为例)无线传输实验,掌握ZigBee(TI CC2530) 模块的无线组网、数据无线收发的原理与过程。

1 基于Z-Stack 的环境数据无线传输实验的两个前置实验

1.1 传感器实验(以温湿度传感器为例)

系统配套的温湿度传感器,与ZigBee(TI CC2530) 模块的A/D 排针相连,这样我们可以知道,温湿度传感器模块的时钟线与ZigBee 模块的P0_0 IO引脚相连,温湿度传感器的数据线与P0_1 IO引脚相连[1]。因此,我们要监测温湿度传感器状态,只需要在代码中对对应的引脚进行输入输出控制,从而模拟该传感器的时序即可。我们在IAR开发环境中编译、运行、调试程序,设置ZigBee(TI CC2530) 模块的IO的状态,不仅模拟温湿度传感器的时序,同时将数据线的上拉电阻功能打开。其中温湿度传感器(UPM-1303 SHT GID=0x08) 的数值转换公式为[2]:

Uint16 humi_val = BUILD_UINT16(HUMI_L,HUMI_H);

Uint16 temp_val = BUILD_UINT16(TEMP_L,TEMP_H);

Double humi = -4 + 0.0405*humi_val - 2.8*pow(10, -6)*pow(humi_val, 2);

Double temp = -39.6 + 0.01*temp_val;

采集到温湿度值后,通过硬件平台的串口打印方式输出相应的温湿度数据。将显示终端(如PC机)的串口与之相连,即可从终端的显示窗口(如PC机支持的超级终端软件窗口)观察到温湿度数据。

1.2 TI CC2530 Z-Stack 协议栈IAR 工程配置实验

Z-Stack协议栈是TI公司基于CC2530芯片推出的、符合IEEE802.15.4标准和ZigBee2007协议的协议栈,该协议栈为用户提供了能实现各个功能的框架代码,让他们在Z-Stack协议栈的框架上进行修改和补充,即可实现用户需要的功能。

IEEE802.15.4标准只定义了PHY层和数据链路层的MAC子层。PHY层由射频收发器以及底层的控制模块组成。MAC子层为高层访问物理信道提供点到点通信的服务接口[3]。而ZigBee协议定义了网络层(NWK) 和应用层。ZigBee协议的网络层主要提供网络管理功能。规范了建立新网络、设备入网或与网络断开的操作。ZigBee协议在应用层定义了一些组件,主要由APS子层、ZigBee协议设备对象(ZOD) 和设备商自定义的应用组件组成[4]。

TI CC2530 Z-Stack協议栈IAR工程配置实验基于ZigBee(TI CC2530) 模块,通过Z-Stack 协议栈IAR 工程的配置过程,可以学习TI Z-Stack协议栈和实际需要相结合的基本开发过程。

首先,我们安装TI CC2530 Z-Stack协议栈:打开TI CC2530 Z-Stack协议栈的安装包,启动其中的协议栈安装程序ZStack-2.3.0-1.4.0.exe,可选择接收协议和典型安装。协议栈安装后,会在C盘Texas Instru?ments目录下新增一个ZStack-2.3.0-1.4.0目录,其中含有Components、Documents、Projects和Tools等4个文件夹。其中,在Projects 的zstack\Samples\Sample?App\CC2530DB 路径下,含有一个名为SampleApp 的工程样例可以作为模板,我们用IAR Embedded Work?bench 打开TI CC2530 Z-Stack 协议栈安装目录中的SampleApp.eww工程,如图1所示。即可通过进一步的操作了解到协议栈的目录结构及相关软件流程。

在IAR Embedded Workbench 的Workspace 工作区,我们还可以看到这个SampleApp工程有8种模板可以选择(见图2) 。其中CoordinatorEB、RouterEB、EndDeviceEB和DemoEB等4种模板合乎ZigBee 2007 协议的ZigBee 功能指令集;此外4 种模板CoordinatorEB-Pro、RouterEB-Pro、EndDeviceEB-Pro和DemoEB-Pro合乎ZigBee 2007协议的ZigBee Pro功能指令集。这8种模板对应的设备类型各不相同。ZigBee标准确定了ZigBee网络中的三种设备:ZigBee 协调器、ZigBee路由器和ZigBee终端设备[5]。一个Zig?Bee网络通常由一个ZigBee协调器以及多个ZigBee路由器和多个ZigBee终端设备组成。其中,ZigBee协调器在完成网络的启动和配置后,其工作角色即转化为一个路由器。这是ZigBee 网络本身的分布特性决定的,因为此时网络已不再需要协调器。

可以根据ZigBee(TI CC2530) 模块和传感器等硬件设备的配置情况,展开TI CC2530 Z-Stack协议栈的工程配置。我们既可以给某个ZigBee(TI CC2530) 模块下载CoordinatorEB工程,让它成为协调器,具备自动组建网络的功能;也可以给某个ZigBee(TI CC2530) 模块下载EndDeviceEB 工程,让它成为终端节点模块;还可以给某个ZigBee(TI CC2530) 模块下载Rou?terEB工程,让它成为路由模块。

结合UP-MOBNET-A9-II 型移动互联网教学科研平台的实际配置情况,现做一项较为简单的入门级的TI CC2530 Z-Stack 协议栈IAR 工程配置。选择2 个ZigBee(TI CC2530) 模块,通过IAR工程的Debug对其中的任意一个下载烧写协调器CoordinatorEB工程,对另一个下载烧写终端节点EndDeviceEB工程。然后先开启指定为协调器的ZigBee(TI CC2530) 模块,则其会自动组建网络,并在组网成功时点亮模块上的绿灯。接着打开指定为终端节点的ZigBee(TI CC2530) 模块,其在入网成功时也会点亮模块上的绿灯。至此,TI CC2530 Z-Stack 协议栈IAR 工程配置即告完成。

2 基于Z-Stack 协议栈的环境数据无线传输实验

为实现基于Z-Stack协议栈的环境数据的无线传输,我们需要ZigBee(TI CC2530) 模块能够无线组网和实现数据通信。我们继续以温湿度传感器为例,就是要求协调器(Coordinator) 能够自动组网,附带有温湿度传感器的终端节点(EndDevice) 能够自动入网,并能够按照一定周期广播传输采集到的温湿度数据。

本实验同前置实验Z-Stack协议栈IAR工程配置实验一样,也是使用IAR Embedded Workbench 开发环境打开ZStack-2.3.0-1.4.0 协议栈中的源码例程SampleApp.eww,将其中的工程样例作为模板。

在温湿度传感器状态的获取方面,与前置实验传感器实验(以温湿度传感器为例)相比也有提升:在传感器实验里面是通过配置TI CC2530 处理器的IO引脚P0_0、P0_1以模拟温湿度传感器的时序,进而取得传感器的状态。而本实验是在终端节点模块的函数中,加入温湿度采集数据,通过AF_DataRequest()函数接口发送给PC计算机串口进行显示。

在打开SampleApp.eww 工程后,同前置实验ZStack协议栈IAR工程配置实验一样,先后完成协调器ZigBee(TI CC2530) 模块和终端节点ZigBee(TICC2530) 模块的编译和烧写,然后进行测试。在网络组建完成后,用串口线把PC 机的串口和ZigBee(TICC2530) 协调器模块对应的串口连接起来,调整串口终端设置,即可在超级终端上看到无线传感网络终端节点采集的温湿度数据。为确认显示的温湿度数据是该终端节点所采集的,可以通过人为干扰传感器造成温湿度数据变化进行证明,如图3所示:当把手指放到终端节点附带的温湿度传感器上以后,温湿度数据发生了明显的上升。

基于Z-Stack协议栈的环境数据无线传输有着广泛的用途,以温湿度传感器为例,农业生产、化学工程、天气预报、文物保护、大型服务器机房的监控,凡此种种都离不开温湿度的测量与调控。同理,此系统的终端节点也可附带其他种类的传感器,譬如广谱气体传感器、热释红外传感器、三轴加速度传感器、压力传感器、红外对射传感器,等。同时,类似于本实验的环境数据无线传输系统具有低复杂度、低功耗、低成本、短时延、网络容量大、运行稳定等特点。所有这些充分表明无线传感网络技术有着广泛的应用前景。

3 结束语

基于Z-Stack协议栈的环境数据无线传输实验是《无线传感网络技术》实验环节中的一个综合设计类实验项目,也是实验环节中的一个重点和难点。要求学生进一步掌握IAR开发环境下的程序设计,通过IAR开发环境编程,实现基于Z-Stack协议栈的无线传感器的网络数据传输,即协调器自动组网,终端节点自动入网。掌握ZigBee(TI CC2530) 模块无线组网的原理及过程,利用ZigBee(TI CC2530) 模块的IO口来监测温湿度传感器(也可以是前述的其他传感器)的状态,并通过串口把检测到的数据打印到显示终端上。

通过本实验项目可以培养学生自身的软件工程管理能力,能够对ZigBee(TI CC2530) 节点模块和各种环境传感器进行管理,同时学习和深刻理解Z-Stack 协议栈的丰富内容,加深对Z-Stack协议栈底层逻辑的理解。该实验项目被安排在整个实验周期的中间,符合循序渐进的专业学习路径。相关实验课基本包含“讲、练、思、创”四个方面的内容。

讲,是对实验项目相关知识点的梳理和讲解。如Z-Stack 协议栈的底层逻辑,ZigBee(TI CC2530) 模块无线组网的原理及过程,常用的几类环境传感器的驱动接口等。

练,让学生们放开手脚尝试实现实验项目。让每个学生都加到小组之中,动脑思考、动口交流、动手实施,充分参加到实验之中。只有通过一定的摸索和试错,才有可能真正熟悉和掌握整个项目实现的软硬件条件、SampleApp工程的架构等。才有可能让他们充分了解到无线传感网络系统的配置过程、各种不同外设的设置与调用方法。

思,提出若干問题或设想供学生思考并验证。以实验目的为指导,引导他们掌握相关实验由易到难的迭代过程。研读和思考Z-Stack协议栈中的Sample?App工程样例,探讨协调器自动组网和终端节点设备自动入网功能是如何实现的;以及发送periodic信息的流程,特别是Periodic消息是如何在ZigBee组网成功后,通过开启定时器来推送周期信息的。

创,指导学生通过举一反三,去创造新的实验结果。如尝试对实验平台上的其他传感器(如广谱气体传感器、红外对射传感器、磁场强度传感器、压力传感器和三轴加速度传感器,等)采集到的环境数据进行无线传输。此一阶段主要是协助一些能力较强的学生,对他们予以指导和鼓励,甚至在时间允许的情况下,让一两位做得比较好的学生上台分享他们的思路和编程技巧。

本实验项目通过软硬件协同的综合性设计,有利于培养学生对专业知识的综合运用能力、创新意识和实践能力,也有利于他们创新能力的培养。通过课程内容的递进式设计、实验过程的互动和自主设计实验的创新引领,延伸了学生的认识和思维过程、引导和发展了学生的创新能力。

猜你喜欢

无线传输工程实践创新能力
高中数学课堂教学中创新能力的培养
创新能力培养视角下的无机化学教学研究
基于创新能力培养的高职音乐教育改革探讨
基于无线传输的LED灯远程控制系统设计
公路路面现场检测数据无线传输系统的设计
高分子材料与工程专业实习模式的探索与实践
基于CDIO模式的机械电子工程专业教学体系改革
基于LABVIEW的温室管理系统的研究与设计
基于职业标准的三维数字建模技术课程改革