第六次无线传感器网络实验 - 图文

2019-09-01 14:09

南昌航空大学实验报告

二O 一六 年 五 月 10 日

课程名称: 无线传感器网络 实验名称:Z‐Stack 协议栈工作原理实验 班级: 姓名:

指导教师评定: 签名:

一、实验目的

1. 分析CC2530 BasicRF工程的文件组织和源代码,为学习Z-Stack协议了解Z-Stack协议栈工程文件的组织结构;

2. 了解基于Z-Stack协议栈的SappWsn应用程序框架的工作机制; 3. 认识协议栈中将节点按照“功能端点”区分的思想。

二、实验内容

在SappWsn应用程序框架下,编写程序,使得节点具有一个测试功能端点,该端点每隔3秒钟向协调器发送一个“Z-Stack for SunplusAPP”的字符串。

三、实验原理

1. Z-Stack for SunplusAPP简介

Z-Stack for SunplusAPP(以下简称Z-Stack APP)是基于TI提供的ZStack中的SampleAPP,修改了其应用层代码而得到一个完整的基于Zigbee 2007协议栈的Zigbee节点开发框架。 a) 端点

在Z-Stack APP中,任意一个节点的代码,都以功能为基本单位来设计其代码,而每一个功能都对应于一个端点。例如,对于一个温度传感器节点,“温度”即为其功能,在框架中只需要为“温度”这个功能添加代码即可。对于Zigbee协议来说,该功能即是一个端点。节点之间通信时,目标地址中也包含了端点的信息,表示数据包最终由某个特定的功能接收到。 b) Z-Stack APP应用程序框架文件结构

Z-Stack APP下的应用程序框架,主要包括四个文件:SAPP_FrameWork.c、 SAPP_FrameWork.h、SAPP_Device.c和SAPP_Device.h。 其中,SAPP_FrameWork定义并实现了标准协议的全部内容,它是应用程序框架的主要组成部分。它为任意节点提供了两个最基本的任务:controlEpProcess和functionEpProcess,分别对应于节点的控制端点和其它所有的普通功能端点。SAPP_Framework相关文件通常不需要做任何修改。 SAPP_Device为单个节点定义并实现了常见传感器(或执行器)节点的功能,这些传感器(或执行器)可以通过SAPP_Device.h文件中的宏定义来选择或禁止。同时,可以同时选择多种传感器(或执行器)。通常,在实现一个具体的系统时,只需要修改SAPP_Device相关文件,或为其增加功能代码即可。

2. Z-Stack APP工作流程简介

在Z-Stack APP编程框架下,Zigbee网络中的协调器、路由和终端节点,都被统一看待。任何一个节点所具有的功能,都在SAPP_Device中定义。下面展示了简化了的SAPP_Device.c文件:

其中,funcList是一个数组,其每一个单元代表了该节点具备的一种功能,同时也对应了一个端点。funcList数组中的单元是一个ep_info_t类型的结构体,该结构体的定义如下:

其各个成员的作用如表 2.1所示。

表1 ep_info_t结构体成员说明

表 2 afMSGCommandFormat_t 结构体定义

表 3 res_available回调函数中的资源类型

表 4 FUNCINFO结构体定义

也就是说,当我们需要为节点增加功能时,只需要在funcList数组中添加该功能对应的信息,并编写相应的处理函数即可。 同时,Z-Stack APP框架还为应用程序提供了若干个函数,为应用程序提供发送数据、创建定时器等功能,它们的定义如下:

【函数原型】uint8 SendData(uint8 srcEP, const void *buf, uint16 addr, uint8 dstEP, uint8 Len);

【函数说明】发送数据包到指定节点的指定端点

【函数参数】srcEP - 源端点,通常可以通过ep_info_t结构体中的ep成员来获取到

buf - 待发送的数据的首地址 addr - 目标节点的网络地址 dstEP - 目标节点的端点

Len - 待发送数据的长度(单位:字节)

【函数原型】void CreateUserTimer(struct ep_info_t *ep, uint8 seconds); 【函数说明】为端点创建一个用户定时器,该定时器时间到了之后,系统会以


第六次无线传感器网络实验 - 图文.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于中国传统节日与西方节日的调查问卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: