zigBee实验报告

合集下载

无线点灯实验报告

无线点灯实验报告

一、实验目的本次实验旨在通过Zigbee无线通信技术,实现无线点灯功能。

通过实验,加深对Zigbee无线通信协议的理解,掌握无线点灯系统的搭建与调试方法,并了解其应用前景。

二、实验原理Zigbee是一种低功耗、低成本、低速率的无线通信技术,广泛应用于智能家居、工业控制等领域。

本实验采用CC2530芯片作为Zigbee模块,通过编程实现无线点灯功能。

实验原理如下:1. Zigbee节点盒:包括LED1、LED2、SW1、CC2530芯片等。

节点盒的功能是控制LED1、LED2的亮灭,并接收Zigbee模块发送的信息。

2. Zigbee模块:包括D4、D3、D6、D5、CC2530芯片等。

模块的功能是接收节点盒发送的信息,并控制LED1、LED2的亮灭。

3. 无线通信:Zigbee节点盒与Zigbee模块之间通过无线信号进行通信。

4. 程序控制:通过编程实现LED1、LED2的亮灭状态,以及流水灯状态。

三、实验器材1. CC2530无线节点盒模块1套2. CC2530无线模块1套3. LED灯2个4. 按键开关2个5. 电阻、电容等电子元器件6. 仿真软件(如Proteus)7. 连接线若干四、实验步骤1. 搭建实验电路:将CC2530无线节点盒模块、CC2530无线模块、LED灯、按键开关等元器件按照电路图连接好。

2. 编写程序:在仿真软件中编写Zigbee节点盒和Zigbee模块的程序。

程序主要实现以下功能:(1)节点盒程序:控制LED1、LED2的亮灭,并接收Zigbee模块发送的信息。

(2)模块程序:接收节点盒发送的信息,并控制LED1、LED2的亮灭。

3. 调试程序:将编写好的程序烧录到CC2530芯片中,进行调试。

4. 实验测试:观察LED1、LED2的亮灭状态,以及流水灯状态,验证实验结果。

五、实验结果与分析1. 当程序开始运行时,Zigbee节点盒上的LED1、LED2灯亮,Zigbee模块上的D4、D3、D6、D5灯亮。

zigbee实训报告总结

zigbee实训报告总结

zigbee实训报告总结IntroductionZigbee是一种低功耗、低速率、低成本的无线通信技术,旨在提供简便的无线连接解决方案。

本篇文章总结了我们参加的Zigbee实训的经验和成果。

1. 实训目的本次实训旨在让我们了解Zigbee技术的基本原理和应用,培养我们在物联网领域的实践能力。

通过进行实际操作和实验,我们可以更好地理解并掌握Zigbee协议栈的功能和使用方法。

2. 实训内容2.1 硬件准备在实训开始前,我们需要准备相应的硬件设备,其中包括Zigbee通信模块、开发板以及相应的传感器。

这些硬件设备使我们能够建立起一个基于Zigbee的无线传感器网络。

2.2 Zigbee协议栈在实训过程中,我们学习了Zigbee协议栈的结构和功能。

它包括物理层、MAC层、网络层和应用层。

我们在实验中使用TI的Z-Stack软件包进行协议栈的开发和调试。

2.3 网络拓扑建立我们学习了如何建立Zigbee网络的拓扑结构,包括星型拓扑、树型拓扑和网状拓扑。

同时,我们还了解了路由协议和网络子树的概念,以及如何使用网络层的路由表实现数据包的路由。

2.4 数据传输与处理在实验中,我们学习了如何使用Zigbee传输数据。

通过配置和使用Zigbee的数据帧,我们能够实现不同设备之间的数据传输,并在接收端对传输的数据进行处理和解析。

3. 实训成果在实训的过程中,我们不仅仅是理论的学习,更是实际的操作。

通过完成一系列的实验任务,我们熟悉了Zigbee技术的应用,掌握了Zigbee协议栈的开发和调试方法。

同时,我们还学会了使用Zigbee通信模块建立无线传感器网络,并成功实现了数据的传输和处理。

这些实践经验对我们今后从事物联网相关工作具有很大的帮助。

4. 总结与展望通过参加这次Zigbee实训,我们对物联网领域的Zigbee技术有了更深入的了解。

我们学会了如何利用Zigbee协议栈搭建无线传感器网络,并实现了数据的传输和处理。

ZigBee网络基础试验报告

ZigBee网络基础试验报告

ZigBee网络基础试验报告ZigBee网络基础试验报告本报告通过Sample App这个例子实现数据在ZigBee网络中的简单传输。

要求掌握网络组建及协议分析仪的使用方法。

1 设备的分类ZigBee网络只支持两种设备:1)全功能设备(FFD Full Function Device)2)精简功能设备(也叫半功能设备Reduced Function Device)两者的比较:其中FFD设备能够提供MAC层的所有服务,可充当任何ZigBee 节点,不仅可以接收发送数据,还具有路由功能,因此可以接收子节点;而RFD只能提供部分的MAC层服务,只能充当子节点,只负责将采集到的数据发送给协调器和路由器节点,本身并不具有路由功能,因此不能接收子节点信息,RFD之间的通信只能通过FFD来完成。

ZigBee标准在此基础上定义了三种节点:ZigBee协调器(Coordinator)、ZigBee路由器(Routers)、ZigBee终端(End Device)2 所使用的设备所用的ZigBee设备都具有连接网络和断块网路的功能。

ZigBee协调器和路由器都具有以下附加功能:1)允许设备以如下方式连接网路:①MAC(Medium Access Control)层的连接命令。

②应用层的连接请求2)允许设备以如下方式断开网络;①MAC层的断开命令②应用层的断开命令③对逻辑网络地址的分配④维护邻居设备3 组建网络组建一个网状的ZigBee网络包括两个步骤:网络的初始化和节点加入网络;而节点加入网络又有两个步骤:通过协调器加入网络和通过已有节点入网。

1)网络的初始化ZigBee网络的建立是由协调器(Coordinator)发起的,任何一个节点想建立一个网络必须满足两个条件:①节点是FFD节点,具有协调器功能;②节点还没有和其他网络连接(一个网络中只许有一个协调器)网络初始化过程:图1:网络初始化流程网络初始化流程如下:1)确定网络协调器。

zigbee实习报告

zigbee实习报告
以与任何物理设备通信的全功能设备,也叫络节点;精简功能设备,因其内部功能结构简单、
上层应用少,且某些仅仅包含ieee标准协议栈,所有又被称为ieee节点(ieeenode)。络协
调器的主要功能是协调建立络,其他功能还包括:传输络信标,管理络节点,存储络节
点信息并且提供关联节点之间的路由信息。此外,络协调器要存储一些基本信息,如节点数
是简化功能的设备(rfd)。在络中,ffd通常有3种工作状态:作为个人区域络的协调器
(pan);作为路由器;作为一个终端设备。一个ffd可以同时和多个rfd或多个其他的ffd通信,
而对于rfd,它只能和一个ffd进行通信,故只能作为终端设备。zigbee协调器,即zigbee的
个域协调器,是络建立的起点,负责络的初始化,确定个域标识符和络工作的物理
= 0;
16. }
17. }
18. if(rxtxflag == 3)
19. {
20.
21. if(recdata[0]==a)
22. {
(recdata[1]==0)
24.{
= 0;
= 1;
= 1;// a0# 关所 有led
28.}
30.{
31. rled = 1;
32. yled = 1;
33. gled = 1; // a1# 开所 有led
逐渐成为无线传感器络的首选通信协议。工作于无须注册的 ghz ism频段,传输速率为
10~250 kb/s,传输距离为10~75 m。该项技术自XX年起由zigbee技术联盟研究开发,采
用ieee 标准作为其物理层和媒体接入子层标准、络层及上层标准,即zigbee技
术标准。以传感器和自组织络为代表的无线应用并不需要较高的传输带宽,但却需要较低的

Zigbee组网实验报告

Zigbee组网实验报告

Zigbee组网实验一.实验目的1.了解zigbee网络2.掌握zigbee节点程序下载方式3.掌握如何组建zigbee星状网络二.实验意义通过实验了解zibee网络的特点,体会其组网及通信过程三.实验环境PC机一台(内安装IAR环境)智能网关一个ZigBee节点ZigBee仿真器一套四.实验原理每一个星状网络中只有一个协调器,当协调器被激活后,它就会建立一个自己的网络。

其它位于协调器附近的zigbee节点,如果与该协调器处于同一信道,则会自动加入到该网络当中。

五.实验步骤一、认识实验设备以及下载设备连接连接线路如图所示:二、Zigbee网络组建1、协调器下载协调器在本套智能家居系统中担任信息收集与传输的工作,它和每个ZigBee模块进行无线通讯,并将信息传送给智能网关,同时也将网关的控制指令发送给各个模块。

我们首先将一个ZigBee模块下载成协调器,具体步骤如下:(1)打开“\实验程序\协调器\Projects\zstack\Samples\collector SimpleApp 1.25\ CC2430DB\SimpleApp.eww”。

如图1-6所示:(2)不同的实验小组选择自己所分配的信道。

点击左侧的文件导航栏,找到tools文件夹,打开其中的文件f8wConfig.cfg,找到自己小组的信道,将行的注释去掉,并且确认其他各个信道代码均为注释状态。

更改完信道之后,在菜单栏中选择Project\Rebuild All进行编译,编译完成后生成的HEX 文件保存在\实验程序\协调器\Projects\zstack\Samples\collectorSimpleApp1.25\CC2430DB\SimpleCollectorEB\Exe 中。

(3)更改完信道之后,在菜单栏中选择Project\Rebuild All进行编译,编译完成后生成的HEX文件保存在\实验程序\协调器\Projects\zstack\Samples\collectorSimpleApp1.25\CC2430DB\SimpleCollec torEB\Exe中;(4)打开smartRF下载软件,如图所示,按照图将下载设备的各个线连接好,之后按一下下载器(也就是白色盒子)上面的黑色按钮,则下载界面中将会识别到要与下载器相连接的zigbee模块芯片,如图所示,对相关条件进行勾选;2.其它zigbee终端节点的下载Zigbee终端节点在上电后自动加入到处于同一信道的zigbee协调器所组建的zigbee网络当中。

现代通信技术实验——ZigBee星状网络实验

现代通信技术实验——ZigBee星状网络实验

现代通信技术试验报告(一)ZigBee星状网络实验学院:计算机学院班级:24010107班学号:2012040101330姓名:赵堃日期:2015.05.13ZigBee星状网络实验一、【实验目的】1. 了解ZigBee 星状网络结构;2. 掌握构建星状网络的方法。

二、【实验设备】1. 装有IAR 开发工具的PC 机一台;2. 下载器一个;3. 物联网多网技术综合教学开发设计平台一套。

三、【实验要求】1. 编程要求:使用协议栈提供的API 函数编写应用程序;2. 实现功能:构建星状网络进行数据通信;3. 实验现象:协调器通信指示灯(D9)闪烁,其他节点通信指示灯(D9)熄灭,说明其他节点向协调器发送数据,星状网络构建成功。

四、【实验原理】通过设置网络中各个节点的网络拓扑参数为星型组网方式,使协调器建立一个ZigBee 网络,其他终端节点连接到网络时,直接以协调器节点作为父节点,构成星型网络拓扑结构。

并通过“ZigBee 调试助手”查看现象。

星状网络结构图示例如下:图1-星状网络结构图五、【程序流程图】图2-ZigBee星状网络实验节点流程图六、【实验步骤】1.将调试器连接到实验箱的调试口;2.打开协议栈工程文件;3.打开工程目录下 NWK 中的 nwk_globals.h 文件,看到网络拓扑形状是由如图 3 所示的“NWK_MODE_STAR”(星型网)、“NWK_MODE_TREE”(树状网)、“NWK_MODE_MESH”(网状网)3 个宏定义作为网络参数确定的。

图3-协议栈中ZigBee网络模式参数宏定义4.按照图 4 修改 ZigBee 节点组网的网络拓扑结构参数,将图示部分修改为“NWK_MODE_STAR”即规定了网络的拓扑结构为星型连接方式。

图4-修改网络拓扑为星型网5. 使用实验箱上的旋钮选中协调器节点,然后编译协调器的代码,然后点击下载图标,如图 5 所示:图5-下载协调器节点程序6.下载完成后,点击图 6 所示的调试界面的“全速运行”,再点击“退出调试”。

zigbee实验报告

zigbee实验报告

将 J-link 与电脑相连。
实验内容(算 法、程序、步 骤和方法)
将转接口插到 J-link 仿真器的 JTAG 端
Zigbee 模块
2 . 将转接板与节点相连,将路由器代码下载到 Z igbee 模块中。 二.配置协调:
将转接板与节点相连,将协调器代码下载到 Z igbee 模块中。 三.先给协调器上电,再上电路由器。 四.在节点上按 SW1 按键可让另一节点的指示灯亮。 五.再按一次 SW1 按键,灯灭。
忻州师范学院计算机科学与技术系学号:姓Fra bibliotek:实验报告
班级:
1302 班
课程名称
无线网络技术
实验课时
2
实验项目
Zigbee 实验
实验时间
2015.12.14
指导老师
实验成绩
实验目的(本 次上机实验所 涉及并要求掌 握的知识点) 实验环境(本 次上机实验所 使用的平台和 相关软件)
1. 了解并认识 Zigbee; 2. 掌握 Zigbee 的配置方法及实现; 3. 利用 Zigbee 完成无线点灯实验。
硬件部分:
PC 机;Zigbee 模块; 软件部分:
keil u Vision4 开发环境、J-Link 驱动程序。
一.配置路由:
1. 取出 J-link 仿真器,将转接口插到 J-link 仿真器的 JTAG 端,通过转接线将 J-link
与转接板连接,通过 10pin 转接线将转接板与节点连接,通过 J-link 的标配 USB 线,
1/2
调试过程及实 验结果(详细 记录程序在调 试过程中出现 的问题及解决 方法,记录程 序执行的结
果)
总结(对上机 实验结果进行 分析,上机心 得体会及改进

Zigbee实验报告

Zigbee实验报告

一、Zigbee简介1.1 什么是ZigBeeZigBee是基于IEEE802.15.4标准的低功耗局域网协议。

ZigBee技术是一种短距离、低功耗的无线通信技术。

其特点是近距离、低复杂度、自组织、低功耗、低数据速率。

主要适合用于自动控制和远程控制领域,可以嵌入各种设备。

简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。

ZigBee是一种低速短距离传输的无线网络协议。

1.2 Zigbee协议栈ZigBee协议从下到上分别为物理层(PHY)、媒体访问控制层(MAC)、传输层(TL)、网络层(NWK)、应用层(APL)等。

其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。

1.3 Zigbee技术优势•数据传输速率低:10KB/秒~250KB /秒,专注于低传输应用•功耗低:在低功耗待机模式下,两节普通5号电池可使用6~24个月•成本低:ZigBee数据传输速率低,协议简单,所以大大降低了成本•网络容量大:网络可容纳65,000个设备•时延短:典型搜索设备时延为30ms,休眠激活时延为15ms,活动设备信道接入时延为15ms。

•网络的自组织、自愈能力强,通信可靠•数据安全:ZigBee提供了数据完整性检查和鉴权功能,采用AES-128加密算法(美国新加密算法,是目前最好的文本加密算法之一),各个应用可灵活确定其安全属性•工作频段灵活:使用频段为2.4GHz、868MHz(欧洲)和915MHz(美国),均为免执照(免费)的频段1.4 Zigbee应用条件•低功耗;•低成本;•较低的报文吞吐率;•需要支持大型网络接点的数量级;•对通信服务质量QoS要求不高(甚至无QoS);•需要可选择的安全等级(采用AES-128),•需要多方面的较复杂的网络拓扑结构应用;•要求高的网络自组织、自恢复能力。

二、CC2530实验及实验修改2.1 基础实验(1)实验要求:按键触发中断,DS18B20测外部温度,数据以一定格式传输到串口显示(2)程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作uint KeyTouchtimes=0; //定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4, 0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//初始化按键为中断输入方式void InitKeyINT(void){P0INP |= 0x02; //上拉P0IEN |= 0X02; //P01设置为中断方式PICTL |= 0X01; //下降沿触发EA = 1; //使能总中断IEN1 |= 0X20; // P0设置为中断方式;P0IFG |= 0x00; //初始化中断标志位}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//外部中断程序#pragma vector = P0INT_VECTOR__interrupt void P0_ISR(void){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行P0IFG = 0; //清中断标志P0IF = 0; //清中断标志}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){}}(3)实验效果:按键一下,串口传出一次“DS18B20采集到的温度是:xx”显示在串口调试助手软件显示屏上2.2 实验修改(1)实验要求:按键触发中断改成按键检测程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作int Keytouchtimes=0;//定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4,0xCE ,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//按键初始化函数void InitKey(){P0SEL &= ~0X2; //设置P04为普通IO口P0DIR &= ~0X2; //按键在P04 口,设置为输入模式P0INP &= ~0x2; //打开P04上拉电阻,不影响}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//按键检测函数uchar KeyScan(void){if(KEY1==0) //判断按键是否按下{Delayms(10); //延时很短一段时间if(KEY1==0) //再次判断按键情况{while(!KEY1); //松手检测return 1; //有按键按下}}return 0; //无按键按下}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){Keyvalue = KeyScan(); //读取按键动作if(Keyvalue==1){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行}Delay(100); //延时}}实验效果:按键一下,串口传出一次“DS18B20采集到的温度是:xx”显示在串口调试助手软件显示屏上(2)实验要求:去掉松手检测,观察效果程序代码:#include <stdio.h>#include"iocc2530.h"#include"ds18b20.h"#define uint unsigned int#define uchar unsigned char#define KEY1 P0_1 //定义按键为P01口控制//变量uchar Keyvalue=0; //定义变量记录按键动作int Keytouchtimes=0;//定义变量记录按键次数//函数声明void Delay(uint);//延时函数声明void Initial(void);//初始化函数声明void InitKey(void); //初始化按键函数声明uchar KeyScan(void); //按键扫描函数声明//字符串【DS18B20采集到的温度是:XXXXXXX】chardata[23]={0x44,0x53,0x31,0x38,0x42,0x32,0x30,0xB2,0xC9,0xBC,0xAF,0xB5,0xBD,0xB5,0xC4, 0xCE,0xC2,0xB6,0xC8,0xCA,0xC7,0xA3,0xBA};unsigned char temp; //定义温度缓冲//延时void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}//时钟初始化void InitialCLK() //系统初始化{CLKCONCMD = 0x80; //系统选择32M振荡器while(CLKCONSTA&0x40); //这里等待晶振稳定}//按键初始化函数void InitKey(){P0SEL &= ~0X2; //设置P04为普通IO口P0DIR &= ~0X2; //按键在P04 口,设置为输入模式P0INP &= ~0x2; //打开P04上拉电阻,不影响}//串口初始化设置void UartInitial(void){PERCFG = 0x00; //位置1 P0口P0SEL = 0x0c; //P0用作串口P2DIR &= ~0xc0; //P0优先作为UART0U0CSR |= 0x80; //串口设置为UART方式U0GCR |= 11;U0BAUD |= 216; //波特率设为115200U0CSR |= 0x40;UTX0IF = 0;}//串口输出字符void UartPutChar(unsigned char DataChar){U0DBUF = DataChar; //发送字符while(UTX0IF == 0); //等待发送完成UTX0IF = 0;}//串口发送字符串函数void UartPutString(char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;//发送字符串while(UTX0IF == 0);UTX0IF = 0;}}//按键检测函数uchar KeyScan(void){if(KEY1 == 1) //高电平有效{Delay(100); //检测到按键if(KEY1 == 1){return(1);}}return(0);}//主函数void main(){InitialCLK(); //初始化系统时钟UartInitial(); //串口初始化InitKeyINT(); //按键初始化P0SEL &= 0xbf; //DS18B20的io口初始化while(1){Keyvalue = KeyScan(); //读取按键动作if(Keyvalue==1){temp=ReadDs18B20(); //温度检测UartPutString(data,23); //串口输出字符串if(temp/10>0) //判断是否数据只有1位UartPutChar(temp/10+48); //十位UartPutChar(temp%10+48); //个位UartPutChar('\n'); //换行}Delay(100); //延时}}实验效果:按键按下时,不断循环换行显示“DS18B20采集到的温度是:xx”,显示速度很快。

zigbee组网实验报告

zigbee组网实验报告

zigbee组网实验报告
《Zigbee组网实验报告》
近年来,随着物联网技术的迅猛发展,各种无线传感器网络的研究和应用也日
益受到关注。

其中,Zigbee作为一种低功耗、低成本的无线传感器网络技术,
被广泛应用于智能家居、工业自动化、农业监测等领域。

为了更好地了解Zigbee组网技术的性能和应用,我们进行了一系列的实验。

首先,我们搭建了一个小型的Zigbee传感器网络,包括一个协调器和若干个终端节点。

通过Zigbee协议栈的支持,我们成功实现了这些节点之间的通信和数据传输。

在实验过程中,我们发现Zigbee组网具有较高的稳定性和可靠性,即使在复杂的环境中也能够保持良好的通信质量。

其次,我们对Zigbee组网的能耗进行了测试。

结果显示,由于Zigbee采用了
低功耗的通信方式,因此整个传感器网络的能耗非常低,能够满足长期监测和
控制的需求。

这使得Zigbee成为了很多物联网应用的首选技术之一。

另外,我们还对Zigbee组网的网络拓扑结构进行了研究。

通过改变节点之间的布局和距离,我们发现Zigbee能够自动调整网络拓扑结构,保持良好的网络覆盖和通信质量。

这为实际应用中的网络规划和优化提供了重要的参考。

总的来说,我们的实验结果表明,Zigbee组网技术具有很好的性能和应用前景。

它不仅在能耗方面表现优异,而且在通信稳定性和网络拓扑结构方面也具有很
强的适应能力。

我们相信,在未来的物联网应用中,Zigbee将会发挥越来越重
要的作用。

希望我们的实验报告能够为相关研究和应用提供一定的参考和借鉴。

zigbee组网实验报告

zigbee组网实验报告

zigbee组网实验报告ZigBee组网实验报告引言:ZigBee是一种低功耗、低速率、低成本的无线通信技术,被广泛应用于物联网领域。

本实验旨在通过搭建ZigBee网络,探索其组网原理和应用。

一、实验背景随着物联网的快速发展,各种智能设备的出现使得人们的生活更加便捷和智能化。

而ZigBee作为一种独特的无线通信技术,具有低功耗、低成本和可靠性强的特点,成为物联网领域的重要组成部分。

二、实验目的1.了解ZigBee组网的基本原理和拓扑结构;2.搭建ZigBee网络,实现设备之间的通信;3.探索ZigBee在物联网领域的应用。

三、实验步骤1.准备工作在实验开始前,需要准备一些硬件设备,包括ZigBee模块、开发板、传感器等。

同时,还需要安装相应的软件开发环境。

2.搭建ZigBee网络首先,将ZigBee模块插入开发板,连接电源并进行初始化设置。

然后,通过软件开发环境,配置网络参数,包括网络ID、信道等。

接下来,将各个设备逐一加入网络,形成一个完整的ZigBee网络。

3.通信测试完成网络搭建后,进行通信测试。

通过发送指令或传感器数据,验证设备之间的通信是否正常。

同时,还可以进行数据传输速率测试,评估网络的性能。

四、实验结果与分析经过实验,成功搭建了一个ZigBee网络,并实现了设备之间的通信。

通过测试发现,ZigBee网络具有较低的功耗和较高的可靠性,适用于物联网领域的各种应用场景。

五、实验总结ZigBee作为一种重要的无线通信技术,具有广泛的应用前景。

通过本次实验,我们深入了解了ZigBee组网的原理和应用,并通过实际操作掌握了搭建ZigBee网络的方法。

这对我们进一步研究和应用物联网技术具有重要意义。

六、展望在未来,随着物联网的不断发展,ZigBee网络将在更多的领域得到应用。

例如智能家居、智能医疗、智能交通等,ZigBee技术将为这些领域带来更多的便利和创新。

结语:通过本次实验,我们对ZigBee组网技术有了更深入的了解,并体验了其在物联网领域的应用。

zigbee实训报告总结

zigbee实训报告总结

zigbee实训报告总结在过去的几周中,我们团队一起参加了一项关于ZigBee技术的实训项目。

通过这个实训,我们学到了许多关于ZigBee网络的知识和技能,也获得了实际操作和解决问题的经验。

本文将对我们的实训过程进行总结,并分享我们的收获和思考。

一、实训背景在本次实训中,我们的主要任务是设计和搭建一个基于ZigBee技术的无线传感器网络。

该网络由多个终端设备和一个协调器组成,通过无线信号在设备之间传输数据。

我们需要在给定的环境条件下,利用ZigBee协议进行网络布线和通信。

二、实训步骤1. ZigBee网络规划与拓扑结构设计在项目开始时,我们对实训环境进行了调研和布局规划。

根据实际需求,确定了ZigBee网络的拓扑结构,并规划了每个终端设备的位置。

我们考虑到信号覆盖范围和设备之间的距离,以确保网络的稳定性和可靠性。

2. ZigBee协议配置与网络配置在网络规划完成后,我们进行了ZigBee协议配置和网络配置。

通过配置协调器和终端设备的参数,我们确保它们能够相互通信并建立稳定的连接。

我们调整了数据传输速率和功率以适应不同的应用场景,并设置了安全功能以保护网络的数据传输过程。

3. ZigBee终端设备开发与编程为了实现具体的应用功能,我们需要为每个终端设备进行开发和编程。

我们使用ZigBee开发工具包进行开发,并编写了适应项目需求的程序代码。

通过编程,我们实现了终端设备之间的数据交互和传感器数据的采集与处理。

4. ZigBee网络测试与故障排除在整个实训过程中,我们对ZigBee网络进行了多次测试和调试。

我们使用专业的测试工具对网络的连通性、数据传输速率和稳定性进行了评估。

当遇到故障或问题时,我们采取了适当的排除措施,以确保网络运行正常。

三、实训收获与思考通过这次实训,我们取得了一系列显著的收获和成果。

首先,我们对ZigBee技术有了更深入的了解,包括网络拓扑结构、协议配置、设备开发和编程等方面。

其次,我们熟悉了实际操作过程,提高了团队合作和问题解决的能力。

zigbee实训报告总结

zigbee实训报告总结

zigbee实训报告总结1. 引言ZigBee是一种低功耗、近距离无线网络通信协议,该协议在物联网应用中具有广泛的应用前景。

为了更好地理解和应用ZigBee技术,本次实训我们进行了相关的实践操作和学习,以提升对ZigBee的理论知识和实际应用的掌握能力。

本文将对实训过程和结果进行总结和归纳。

2. 实践操作在实训过程中,我们首先进行了ZigBee网络环境的搭建和设备的连接。

通过学习相关的ZigBee协议和通信原理,我们了解了协调器、路由器和终端设备之间的关系,并成功地搭建了一个基本的ZigBee网络。

接着,我们进行了传感器节点的配置和数据采集,通过编程和调试,实现了对温度、湿度和光照等环境数据的实时监测和采集。

此外,我们还学习了ZigBee协议栈的相应功能和使用方法,进行了相关的软件开发和调试。

3. 学习成果在实训过程中,我们不仅仅是进行了简单的实践操作,更重要的是通过实验和调试,我们深入学习了ZigBee的原理和通信机制。

我们熟悉了ZigBee协议栈的各个层次,了解了其在物联网应用中的优势和适用范围。

通过实践操作,我们不仅掌握了ZigBee网络的搭建和配置技巧,还学习了相关的软件开发和调试方法。

在实训过程中,我们解决了许多实际问题,积累了宝贵的经验,提高了自己的综合能力和解决问题的能力。

4. 实践感悟通过本次实训,我们更加深入地认识到了ZigBee在物联网应用中的重要性和潜力。

ZigBee作为一种低功耗、近距离无线通信协议,具有广阔的应用前景。

在智能家居、工业自动化、环境监测等领域,ZigBee技术都有着巨大的市场需求和应用空间。

我们相信,通过不断地学习和实践,我们将能够更好地应用ZigBee技术,为物联网行业的发展做出自己的贡献。

5. 结论通过本次ZigBee实训,我们在理论和实践方面都取得了很好的进展。

我们通过实验操作和学习,深入了解了ZigBee的通信原理和应用场景,提高了对ZigBee技术的理解和掌握程度。

ZIGBEE实习报告

ZIGBEE实习报告

zigbee实训报告实训要求:(1)eb板按键能控制led灯的亮灭;(2)c#软件开发界面控件能控制zigbee板上led灯的亮灭;(3)c#界面能通过图片实时显示zigbee板上led的亮灭情况;需求分析:这次实训做的是一个简单的智能家居控制灯,能实现pc机控制灯,并且实时查看灯的开与关状态,锻炼我们上位机对下位机的控制与下位机反馈信息到上位机的能力,要求能熟炼使用iar软件进行zigbee编程和使用microsoft visual studio进行c#界面的开发。

知识点整理:(1)zigbee按键控制led灯程序的运用;(2)zigbee接收串口发送来的数据识别并做处理;(3)zigbee发送串口数据函数的调用;(4)c#串口部分如串口号,波特率,检验位的设定;(5)c#接收到串口数据并处理,c#发送串口数据;遇到的难题:(1)zigbee使用到的串口中断和按键中断两个中断,经常使得功能不稳定;(2)c#串口接收到的数据可以调用显示但无法识别;(3)c#的接收后显示和发送出现线程经常出错,无法在一个元件实现实时led灯状态;(4)程序整合的过程经常出现无法兼顾两个程序原来的功能。

部分问题处理办法:下位机zigbee:if(key1==1){delay(25000);} 注:按键的简单去抖if(key1==1){keytouchtimes++;}if(keytouchtimes ==1){uarttx_send_string(txdata,r); rled = 0; keytouchtimes =2;} if(keytouchtimes ==3){uarttx_send_string(txdata2,r); rled = 1;keytouchtimes =0;}注:按键每次按下keytouchtimes加1,当1状态时关led灯并且发送txdata数组到上位机同时自身跳转到状态2;当3状态时开led灯并且发送txdata2数组到上位机同时自身跳转到0;这样写可以保证每次按键按下时led灯会取反并且每次状态改变时把状态通过数组发送到上位机。

zigbee实验报告

zigbee实验报告

zigbee实验报告Zigbee实验报告引言无线通信技术的快速发展已经改变了我们的生活方式和工作方式。

随着物联网的兴起,越来越多的设备需要无线通信来实现互联互通。

Zigbee作为一种低功耗、短距离通信的无线技术,被广泛应用于家庭自动化、智能城市和工业控制等领域。

本文将对Zigbee进行实验研究,探讨其在物联网应用中的优势和应用场景。

一、实验背景在开始实验之前,我们需要了解Zigbee的基本原理和特点。

Zigbee是一种基于IEEE 802.15.4标准的无线通信技术,它采用了低功耗、低数据速率和短距离传输的特点。

Zigbee网络由一个协调器和多个终端节点组成,协调器负责网络的管理和控制,终端节点负责数据的传输和接收。

二、实验目的本次实验的主要目的是通过搭建一个简单的Zigbee网络,了解其通信原理和网络拓扑结构。

同时,我们还将探索Zigbee在家庭自动化中的应用,比如智能照明、温度监测等。

三、实验步骤1. 实验器材准备:我们需要准备一台Zigbee协调器、多个Zigbee终端节点、一台电脑和相应的软件开发工具。

2. 网络搭建:首先,我们将协调器和终端节点连接到电脑上,并通过软件开发工具进行配置。

然后,我们按照一定的拓扑结构将终端节点连接到协调器上,形成一个Zigbee网络。

3. 通信测试:在网络搭建完成后,我们可以进行通信测试。

通过发送和接收数据包,我们可以验证网络的可靠性和稳定性。

同时,我们还可以通过改变节点之间的距离和障碍物的影响,来观察Zigbee网络的传输性能。

四、实验结果与分析在实验过程中,我们成功搭建了一个Zigbee网络,并进行了通信测试。

实验结果显示,Zigbee网络具有较高的可靠性和稳定性,即使在节点之间存在一定的障碍物,数据传输的成功率也很高。

此外,我们还观察到Zigbee网络的传输距离较短,适用于室内环境或者小范围的应用场景。

根据实验结果,我们可以得出以下结论:1. Zigbee网络适用于低功耗、短距离传输的应用场景,比如家庭自动化、智能城市等。

zigbee期末实践报告总结

zigbee期末实践报告总结

zigbee期末实践报告总结一、引言ZigBee技术是一种低功耗、短距离无线通信技术,被广泛应用于传感器网络和物联网等领域。

在本次期末实践中,我们小组以ZigBee技术为基础,设计搭建了一个智能家居系统,并进行了实际的应用测试。

本报告将对我们的实践过程和结果进行总结和分析。

二、实践目标本次实践的目标是设计一个具有温度监测、灯光控制和安全警报等功能的智能家居系统。

通过ZigBee技术,实现各个设备之间的无线通信,使它们能够互相协作,实现智能化的控制和管理。

三、实践过程1. 系统架构设计我们首先进行系统架构设计,确定了系统的基本组成和模块功能。

整个系统由一个中心控制器、多个传感器和执行器组成,它们通过ZigBee无线网络进行通信。

2. 硬件搭建在硬件层面,我们选用了TI的CC2530单片机作为中心控制器,通过串口与PC进行通信。

传感器方面,我们选用了温度传感器和人体红外传感器,用于监测室内温度和人的动态。

执行器方面,我们选用了灯光和报警器。

3. 软件开发在软件层面,我们使用了Z-Stack套件进行开发。

通过Z-Stack,我们完成了无线通信的驱动和协议开发。

同时,我们还基于PC开发了一个图形化界面,以便用户能够方便地控制和监测整个系统。

4. 功能实现我们通过测试和调试,逐步实现了系统的基本功能。

温度传感器可以精确地测量室内温度,并通过无线网络发送给中心控制器。

中心控制器接收到温度数据后,根据设定的温度范围,控制灯光的亮度。

当人体红外传感器检测到有人进入室内时,中心控制器会触发报警器,发出警报。

四、实践结果和分析1. 功能测试我们对系统的各个功能进行了测试,结果表明所有功能均能正常运行。

温度传感器的测量精度在可接受范围内,灯光的亮度控制也符合要求。

人体红外传感器对人的动态也能快速响应,报警器的声音清脆响亮。

2. 性能分析经过对系统的性能测试,我们发现整个系统的性能表现良好。

无线通信的传输速率较快,延迟较低。

实验三ZigBee协议实验

实验三ZigBee协议实验

实验三ZigBee协议实验【实验目的】1、了解ZigBee 2007 协议栈操作系统的工作机制2、了解ZigBee 2007 协议栈应用程序框架的工作机制3、了解ZigBee 广播通信的原理4、掌握在ZigBee 网络中进行广播通信的方法5、了解ZigBee 组播通信的原理6、掌握在ZigBee 网络中进行组播通信的方法【实验设备】1、装有IAR 开发环境的PC 机一台2、物联网开发设计平台所配备的基础实验套件一套3、下载器一个【实验要求】1、广播通信实验要求:在GenericApp 应用程序框架下,编写程序,使得协调器周期性以广播的形式向终端节点发送数据“Coord Broadcast”(每隔5s广播一次),终端节点收到数据后,使开发板上的LED红灯状态翻转(如果LED原来是亮,则熄灭LED;如果LED原来是灭的,则点亮LED),同时向协调器发送字符串“EndDevice received!”,协调器收到终端节点发回的数据后,通过串口输出到PC机,用户可以通过串口调试助手查看该信息。

设备:一个协调器,二个终端2、组播通信实验要求:在GenericApp 应用程序框架下,编写程序,使得协调器周期性的以组播的形式向路由器发送数据“Group1”(每隔5s发送组播数据一次),组内的路由器收到数据后,使开发板上的红色LED状态翻转(如果LED原来是亮,则熄灭LED;如果LED原来是灭的,则点亮LED),同时向协调器发送自己的网络短地址和字符串“Router received!”,协调器收到路由器发回的数据后,通过串口输出到PC机,用户可以通过串口调试助手查看该信息。

设备:一个协调器,三个路由器,其中两个加入组,一个不加入组。

【实验原理】1.无线数据传输模式: 组播和广播(1)组播:主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。

ZigBee无线温度检测实验报告(模板)

ZigBee无线温度检测实验报告(模板)

ZigBee无线温度检测实验——实验报告(项目编号:07012026 学时:2)一【实验目的】1、熟悉Zigbee协议栈Z-Stack2、掌握串口通信原理与方法3、掌握编写协调器节点与上位机串口通信编程、串口设置方法4、掌握用户事件添加方法5、掌握定时触发事件方法6、掌握CC2530模块自带温度传感器采集温度方法二【实验内容】1、协调器建立ZigBee无线网络,终端节点自动加入网络,然后终端节点周期性地采集温度并将数据发送到协调器.协调器接受数据并通过串口把接受到的数据传给PC端的串口调试助手。

2、工具/原料•IAR Embedded Workbench for MCS-51•CC2530 Zigbee开发套件•CCDebuger调试器•串口调试助手3、方法/步骤3.1新建工程新建工程,不知道如何配置的可以查看《IAR如何建立工程》学习如何建立、配置、编译、调试嵌入式系统。

3.2 相关知识串口发送接受数据的基本步骤:初始化串口(设置波特率、中断等)、向缓冲区发送数据或者从接受缓冲区读取数据。

然而,上面的步骤都是以前不带操作系统单片机的步骤,而在OSAL中已经实现了串口的读取函数和写入函数。

可以作为API一样使用。

与串口相关的三个API函数:uint8 HalUARTOpen(uint8 port,halUARTCfg_t * config);uint16 HalUARTRead(uint8 port,uint8 *buf,uint16 len);uint16 HalUARTWrite(uint8 port,uint8* buf,uint16 len);事件添加方法:定时器方法:温度采集方法:3.3完整代码#include <ioCC2530.h>3.4下载调试注意:项目配置运行程序,完成实验要求。

总结:通过以上实验,了解并熟悉CC2530开发板中温度的采集方法;掌握,能。

思考:。

zigbee实训报告总结

zigbee实训报告总结

zigbee实训报告总结Zigbee是一种低功耗、低速率、近距离无线通信技术,广泛应用于物联网领域。

本篇文章将对我进行的Zigbee实训进行总结与回顾。

通过本次实训,我对Zigbee协议、网络拓扑结构和通信过程有了更加深入的了解。

一、实训背景本次实训是在xx大学xx实验室进行的,旨在提供对Zigbee技术的实践操作和应用。

实训内容主要包括Zigbee网络的搭建、节点的配置与连接、数据的传输与处理等。

通过实际操作,进一步了解Zigbee的特点和应用场景。

二、实训过程1. Zigbee网络搭建在实训开始之前,我们首先了解了Zigbee网络的组网方式和拓扑结构。

根据实验要求,我们选择了星型拓扑结构来搭建Zigbee网络。

通过安装和配置Zigbee网络协调器和终端设备,我们成功地建立了一个能够正常工作的Zigbee网络。

2. 节点配置与连接在Zigbee网络中,协调器是网络的中心,负责管理和控制整个网络。

我们通过配置协调器的参数和属性,使其具备网络管理的功能。

同时,我们还配置了一些终端设备,并将其与协调器进行连接。

通过配置节点的地址、频道和安全模式,节点能够与协调器进行通信和数据交换。

3. 数据的传输与处理在Zigbee网络中,节点之间的通信是通过数据包进行的。

我们学习了如何通过Zigbee协议进行数据包的封装和解封装,以及传输数据的方法。

通过编写程序,我们能够实现节点之间的数据传输和处理,包括数据的发送、接收和解析等。

三、实训成果通过本次实训,我取得了以下几方面的成果:1. 对Zigbee技术有了更深入的了解通过实际操作和上机实践,我对Zigbee的特点、工作原理和应用场景有了更加深入和全面的了解。

我了解了Zigbee网络的组网方式和拓扑结构,认识到Zigbee在物联网领域的重要性和潜力。

2. 熟悉了Zigbee网络的搭建与配置在实训过程中,我亲自搭建了一个Zigbee网络,了解了网络节点的配置和连接过程。

zigbee实训报告总结

zigbee实训报告总结

zigbee实训报告总结【标题】Zigbee实训报告总结【正文】Zigbee是一种低功耗、短距离无线通信协议,被广泛应用于物联网领域。

本文将对我所参与的Zigbee实训进行总结和回顾,包括实训目标、实训内容、实训心得以及未来发展方向等方面。

1. 实训目标Zigbee实训旨在深入了解和掌握Zigbee通信技术的原理、应用场景以及开发过程。

通过实践操作,培养学生对Zigbee技术的实际运用能力,提升解决实际问题的能力和创新思维。

2. 实训内容本次实训主要包括以下几个方面的内容:a) Zigbee协议与标准的介绍:深入了解Zigbee协议的工作原理、层次结构以及通信模型等;b) Zigbee模块的选型和应用:学习如何选择合适的Zigbee模块,以及常见的Zigbee应用场景;c) Zigbee网络的搭建与配置:实际操作搭建Zigbee网络,并进行相应配置;d) Zigbee应用程序开发:利用Zigbee协议进行数据传输和通信,开发简单的Zigbee应用程序;e) Zigbee实验与调试:通过实验和调试,掌握Zigbee模块的使用和故障排除技巧。

3. 实训心得通过参与Zigbee实训,我对Zigbee技术的应用有了更深入的了解,同时也收获了一些宝贵的心得体会。

首先,实训中的实践操作对于学生来说非常重要,通过亲自动手搭建Zigbee网络、开发应用程序,我们不仅增加了对Zigbee技术的理解,还学会了如何解决实际问题。

其次,与同学们的合作也是实训的重要组成部分,通过团队合作,我们相互学习、交流,共同进步。

最后,实训中的失败和挑战也使我认识到学习的道路上并非一帆风顺,但只要持之以恒,就一定能够克服困难,取得更好的成绩。

4. 未来发展方向随着物联网的快速发展,Zigbee技术作为一种重要的通信协议,在智能家居、工业自动化等领域具有广阔的应用前景。

我个人在未来的发展中,希望能进一步深入学习和研究Zigbee技术,不断提升自己的实践能力和创新思维,为物联网行业的发展做出更多的贡献。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ZIgBee学习心得实验报告项目名称基于无线传感器网络的采温实验专业班级软件1105学号姓名目录《计算机网络》................................................................................................错误!未定义书签。

实验报告. (1)一、实验目的 (3)二、实验内容和报告简介 (3)三、实验相关设备环境 (3)四、实验内容 (7)4.1.内容简介 (7)4.2. 无线传感器网络采温系统实验 (7)4.2.1实验简介 (7)4.2.2 工程结构简介 (8)4.2.3 设备功能及网络拓扑结构介绍 (10)4.2.4 main()函数和OSAL (10)4.2.5 设备相关功能主要函数介绍 (14)4.3 ZigBee协议和ZStack分析 (26)4.3.1 ZigBee协议和ZStack简介 (27)4.3.2 OSAL原理分析和实现 (28)4.3.3IEEE 802.15.规定的PHY层 (35)4.3.4IEEE 802.15.规定的MAC层 (37)4.3.5 ZigBee2007的网络层。

(40)4.3.6 ZigBee2007的应用层 (45)五、实验结果 (46)六、实验结论 (47)七、实验小结 (47)7.1 短距离无线通信网络的现状和发展 (47)7.2 ZigBee通信技术的应用 (48)7.3 学习ZigBee开发的心得体会 (48)7.4 下一步可能的学习计划 (49)实验《基于无线传感器网络的采温实验》实验学时:1 实验地点:201 实验日期: 5.10一、实验目的1. 设计并实现一套无线传感器网络的采温系统。

2. 较为详细的分析ZigBee协议栈。

二、实验内容和报告简介完成采集器、传感器设备的设计和实现。

对ZigBee2007协议和Zstack进行较为详细的分析。

三、实验相关设备环境介绍了开发板、CC2530和协议栈四、实验内容第一部分详细描述了开发的工作,附上了关键代码和注释。

第二部分分析了ZIgBee协议操作系统,描述了其运行机制;以及PHY 层、MAC层、网络层、应用层。

在网络层描述了其网络拓扑结构,并针对Ad-Hoc 路由算法提出了一个我自己的一个想法。

五、实验结果通过照片展示了实验效果。

六、实验结论说明了温度数据偏差的原因。

六、实验小结谈了些无线通信的现状;学习的心得,不足和未来的能力方向。

三、实验相关设备环境1. 主要的硬件环境ZigBee开发板(两个)本实验利用的开发板是在淘宝上买的。

应该是一个小店参考TI公司产品生产的。

外形如图1所示:图1:ZigBee开发板外形图本开发板采用TI公司的CC2530芯片,外有晶振、RS232串口、按键、电源灯外围电路及元件。

本实验利用CC2530芯片集成的片上温度传感器采集温度。

部分核心板电路如图2所示:图2:部分核心板电路图部分底板电路图如图3所示:图3:部分底板电路图CC2530芯片CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。

它能够以非常低的总的材料成本建立强大的网络节点。

CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。

CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。

运行模式之间的转换时间短进一步确保了低能源消耗。

图4:CC2530框图CC2530 具有一个IEEE 802.15.4 兼容无线收发器。

RF 内核控制模拟无线模块。

另外,它提供了MCU 和无线设备之间的一个接口,这使得可以发出命令,读取状态,自动操作和确定无线设备事件的顺序。

无线设备还包括一个数据包过滤和地址识别模块。

CC2530的硬件设计也支持ZigBee协议所要求的各种协议和算法。

2. 主要的软件环境TI公司的ZStack-CC2530-2.2.2-1.3.0。

ZStack是TI公司为开发者提供的符合ZigBee2007的协议栈,是开发ZigBee模块必不可少的环境(当然你也可以选择其他协议栈或自己开发一个协议栈)。

ZStack是一个免费半开源的产品。

注:ZigBee协议是ZigBee联盟给出的一个短距离无线传输协议。

ZigBee协议栈是ZigBee协议的具体实现。

ZStack是TI公司开发的ZigBee协议栈。

四、实验内容4.1.内容简介本节内容主要分为以下两方面:1. 无线传感器网络采温系统实验 2. ZigBee协议(ZigBee2007版,下同)和ZStack分析。

无线传感器网络采温系统实验部分是对本次开发的一个描述。

在商业的ZigBee模块开发中是都利用了ZigBee协议栈,其为开发提供了必要的接口。

开发者所做的代码工作主要是相关的硬件驱动和应用程序。

本实验室基于TI官方实例SimpleAPI所做,并对这个实例进行了必要的改写。

虽然ZigBee协议栈为开发者提供了所需的API,使得开发者不必关心ZigBee 协议的具体实现,便可开发出产品,但是要想更好的开发ZigBee产品,我想还必须对ZigBee协议和协议栈进行研究分析。

本段内容的另一个部分便是对此的描述。

4.2. 无线传感器网络采温系统实验4.2.1实验简介本实验基于ZigBee网络设计了一个无线传感器网络,可以完成无线的采温功能。

设备类型简介:协调器(作为采集器)协调器是一个ZB网络的第一个开始的设备,或者是一个ZB网络的启动或建立网络的设备。

协调器节点选择一个信道和网络标志符(也叫PAN ID),然后开始建立一个网络。

协调器设备在网络中还可以有其他作用,比如建立安全机制、网络中的绑定的建立等等。

注意:协调器主要的作用是建立一个网络和配置该网络的性质参数。

一旦这些完成,该协调器就如同一个路由器,网络中的其他操作并不依赖该协调器,因为ZB是分布式网络。

路由器(作为传感器)一个路由器的功能有(1)作为普通设备加入网络(2)多跳路由(3)辅助其它的子节点完成通信。

终端设备(作为传感器)为了维持网络最基本的运行,对于终端设备没有指定的责任。

也就是说,在一个基本网络中,终端设备没有必不可缺少性。

所以它可以根据自己功能需要休眠或唤醒,因此为电池供电设备。

一般来说,该设备需要的内存较少(特别是内部RAM)网络的拓扑结构网状结构(无线mesh网络)图5:网络拓扑结构图黑色的为协调器节点,作为采集器,接收温度信息,并通过串口发送到PC 机上。

红色的和白色的为传感器节点,采集温度数据发送到采集器。

红色的具有路由功能。

网络从功能上讲是基于ad hoc 网络的,具有自组织,多跳等特点。

因此可扩展性、健壮性都很有优势。

4.2.2 工程结构简介工程结构如图5所示:图6:工程的工作空间说明:APP(Application Programming):应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。

HAL(Hardware (H/W) Abstraction Layer):硬件层目录。

MAC:介质接入控制子层目录,包含了MAC 层的参数配置文件及其MAC 的LIB 库的函数接口文件。

实现的功能有:1、能产生网络信标。

2、支持PAN的连接和断开连接。

3、同信标保持同步。

4、在对等的MAC实体之间提供一个可靠的通信链路。

5、处理和维护GTS机制。

6、信道接入采用CSMA-CA接入机制。

7、支持设备的安全性。

介质访问控制层(MAC)帧被称为MAC协议数据单元(MPDU),其长度不超过127个字节。

它具有四种不同的帧形式,即信标帧、数据帧、确认帧和命令帧。

MT(Monitor Test):实现通过串口可控各层,与各层进行直接交互。

NWK(ZigBee Network Layer):网络层目录,含网络层配置参数文件及网络层库的函数接口文件,APS 层库的函数接口。

OSAL(Operating System (OS) Abstraction Layer):协议栈的操作系统。

Profile:AF(Application work)层目录,包含AF 层处理函数文件。

Security:安全层目录,安全层处理函数,比如加密函数等。

Services:地址处理函数目录,包括着地址模式的定义及地址处理函数。

Tools:工程配置目录,包括空间划分及ZStack 相关配置信息。

ZDO(ZigBee Device Objects):ZDO 目录。

ZMac:MAC 层目录,包括MAC 层参数配置及MAC 层LIB 库函数回调处理函数。

ZMain:主函数目录,包括入口函数及硬件配置文件。

Output:输出文件目录,这个EW8051 IDE 自动生成的。

4.2.3 设备功能及网络拓扑结构介绍ZigBee设备可分为全功能设备(FFD)和简化功能设备(RFD)。

全功能设备可以作为协调器(路由器)节点,可以进行数据的转发等功能。

简化功能设备只能作为终端节点发送和接受数据。

ZigBee协议支持多种网络拓扑结构,包括星型结构,树形结构,网状结构等。

关于ZIgBee网络拓扑结构的较为详细的介绍,将在本段3节中给出。

由于我暂时只买了两个模块,所以网络拓扑结构也很简单了。

一个是协调器节点,作为采集器模块通过串口同我的笔记本相连。

另一个是终端节点作为传感器模块测量温度并传输数据。

需要指出的是,只要有足够多的节点,本实验完全能够根据实际需要设计出有效的网络拓扑结构。

4.2.4 main()函数和OSAL这部分是Zstack的程序,与我们编程工作密切相关,所以进行简单说明。

一个程序是从main()函数开始运行的。

在ZStack中main()函数主要完成了各种初始化任务,以及操作系统OSAL的启动。

相关的函数代码如下:/**************************************************************** ****** @fn main* @brief First function called after startup.* @return don't care*/int main( void ){// Turn off interruptsosal_int_disable( INTS_ALL );// Initialization for board related stuff such as LEDsHAL_BOARD_INIT();// Make sure supply voltage is high enough to runzmain_vdd_check();// Initialize board I/OInitBoard( OB_COLD );// Initialze HAL driversHalDriverInit();// Initialize NV Systemosal_nv_init( NULL );// Initialize the MACZMacInit();// Determine the extended addresszmain_ext_addr();// Initialize basic NV itemszgInit();#ifndef NONWK// Since the AF isn't a task, call it's initialization routine afInit();#endif// Initialize the operating systemosal_init_system();// Allow interruptsosal_int_enable( INTS_ALL );// Final board initializationInitBoard( OB_READY );// Display information about this devicezmain_dev_info();/* Display the device info on the LCD */#ifdef LCD_SUPPORTEDzmain_lcd_init();#endif#ifdef WDT_IN_PM1/* If WDT is used, this is a good place to enable it. */WatchDogEnable( WDTIMX );#endifosal_start_system(); // No Return from herereturn 0; // Shouldn't get here.} // main()OSAL即Operating System (OS) Abstraction Layer,是一个基于事件驱动的轮询式的操作系统。

相关文档
最新文档