zigbee组网实验报告
- 格式:docx
- 大小:3.47 KB
- 文档页数:2
实验-ZigBee组⽹实验:ZigBee基本通信实验⼀、实验⽬的1.了解ZigBee协议及其在软件上如何实现。
2.学习使⽤sniffer嗅探⽹络节点之间通信数据包并分析数据包。
3. 学习Zigbee⽹络组⽹及路由选择。
⼆、实验内容1.基于z-stack协议栈的组⽹及数据传输。
2.使⽤sniffer抓取节点之间传输的数据包并分析数据包组成。
三、实验设备1.IAR开发平台环境2.ZigBee开发套件3.Sniffer抓包⼯具(软件和硬件)实验开发套件的领取注意事项:1、每周五上午1-2节可到电信5号楼东303A房间,协同创新中⼼找蓝伟涛学长(领取FPGA开发板)或电信1号楼515室找赵曜学长(领取Zigbee开发套件)。
2、每个⼩组以组长为代表签字领取⼀套开发套件,并在三周内归还。
请爱护实验套件,归还时确保所有部件完好齐全。
3、实验中若有问题可在周五上午1-2节课时间去上述地址找两位助教答疑。
四、实验原理1,ZigBee协议概述ZigBee作为⼀种⽆线通信标准,它是以IEEE802.15.4⽆线通信技术为基础的⼀组涉及到⽹络、安全和应⽤⽅⾯的软件协议。
它是⼀种短距离、低复杂度、低功耗、地数据传输速率和低成本的双向⽆线通信技术。
该技术可以应⽤于超低功耗率损耗的⽆线⽹络中,它满⾜ISO/OSI参考模型。
其物理层和MAC层采⽤了IEEE802.15.4标准;ZigBee联盟定义了上层部分,包括⽹络层和应⽤层。
⽆线通信⽹络软件以z-stack作为ZigBee的协议栈,硬件为基于CC2530-ZigBee开发套件。
2 设备类型(Device Types)在ZigBee⽹络中存在三种逻辑设备类型:Coordinator(协调器),Router(路由器)和End-Device(终端设备)。
ZigBee⽹络由⼀个Coordinator以及多个Router和多个End_Device组成。
在ZStack-CC2530-2.3.1-1.4.0中⼀个设备的类型通常在编译的时候通过编译选项确定。
一、实验目的通过本次实验,了解物联网的基本概念、技术架构和应用场景,掌握物联网通信技术的基本操作,包括ZigBee组网、数据采集和RFID技术等,为后续物联网相关课程的学习打下基础。
二、实验环境1. 硬件环境:CC2530开发平台、SmartRF04EB仿真器、PC机、LED灯、ZigBee模块、RFID模块、USB串口驱动、串口调试助手等。
2. 软件环境:IAR嵌入式集成开发环境、SmartRF Flash Programmer、ZigBee工具包等。
三、实验内容1. ZigBee组网实验(1)搭建实验平台:将CC2530开发平台、ZigBee模块、LED灯等硬件连接到PC 机。
(2)配置ZigBee网络:使用ZigBee工具包配置ZigBee网络参数,如网络ID、PAN ID、设备地址等。
(3)编写程序:在IAR环境中编写ZigBee通信程序,实现节点间的数据传输。
(4)编译与烧写:编译程序生成hex文件,使用SmartRF Flash Programmer将hex文件烧写到CC2530芯片中。
(5)调试与验证:通过串口调试助手查看数据传输情况,确保节点间通信正常。
2. 数据采集实验(1)搭建实验平台:将CC2530开发平台、传感器、ZigBee模块等硬件连接到PC 机。
(2)编写程序:在IAR环境中编写数据采集程序,读取传感器数据并通过ZigBee 模块发送到PC机。
(3)编译与烧写:编译程序生成hex文件,使用SmartRF Flash Programmer将hex文件烧写到CC2530芯片中。
(4)调试与验证:通过串口调试助手查看传感器数据,确保数据采集功能正常。
3. RFID实验(1)搭建实验平台:将CC2530开发平台、RFID模块、标签等硬件连接到PC机。
(2)编写程序:在IAR环境中编写RFID识别程序,实现标签数据的读取。
(3)编译与烧写:编译程序生成hex文件,使用SmartRF Flash Programmer将hex文件烧写到CC2530芯片中。
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简介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”,显示速度很快。
无线节点自组网开发与设计综合实训姓名:陈荣荣、王娜学号: 1204333127、1204333142班级:物联1211指导教师:戴娟、何志勇课程名称:无线节点自组网开发与设计综合实训提交日期:2014 年 6月20日概要本实训通过无线节点组网系统的完整的设计,使学生理解并掌握zigbee2007协议内涵,能利用该协议完成组网、跳频、跳网编程,进一步将已学过的相关内容课程和在课程中初步掌握的单项、单元(技能)能力有机的融合在一起,培养学生完成一个实际无线节点网络系统从设计开发到功能调试完整的综合职业能力。
在此过程中充分发挥学生的主动性、创造性,经进一步培养他们在整个工作过程中的团队协作能力和敬业爱岗意识。
目录概要前言第一章 ZigBee的简介第二章无线传感器网络技术第三章自组网及协议栈各层功能第四章 CC2530常用的控制寄存器第五章 ZigBee节点自动跳频、跳网问题第六章自组网典型应用结论致谢前言通过5个星期的实训,我对无线网络技术有了更深层次的了解,对ZigBee的组网也有了进一步的认识,与此同时通过该次实训还培养了我理论联系实际的能力,提高了我分析问题和解决问题的能力,增强了独立工作的能力。
培养了我与其他同学的团队合作、共同探讨、共同前进的精神。
1.了解了无线网络技术。
2.熟悉了ZigBee的基本知识以及ZigBee的协议各层功能。
3.知道了一些基础实验的实现方法。
4.熟悉对组网典型应用的编程和相关的设置。
5.能够正确使用物联网测试仪进行数据的空中抓包并进行数据的分析。
第一章 ZigBee的简介随着国内经济的高速发展,城市的规模在不断扩大,尤其是各种交通工具的增长更迅速,从而使城市交通需求与供给的矛盾日益突出,而单靠扩大道路交通基础设施来缓解矛盾的做法已难以为继。
在这种情况下,智能公交系统(AdvancedPublicTransportationSystems,APTS)也就应运而生,并且成为国内研究的热点。
zigbee组网实验报告
《Zigbee组网实验报告》
近年来,随着物联网技术的迅猛发展,各种无线传感器网络的研究和应用也日
益受到关注。
其中,Zigbee作为一种低功耗、低成本的无线传感器网络技术,
被广泛应用于智能家居、工业自动化、农业监测等领域。
为了更好地了解Zigbee组网技术的性能和应用,我们进行了一系列的实验。
首先,我们搭建了一个小型的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组网小实验1(实验所用程序在SampleApp基础上修改)终端经路由器入网:首先把协调器和两个终端的天线拔掉,以大幅减小传输距离,把两个终端放到稍远或障碍物多的地方,使协调器数据传输不到终端。
测试,两个终端入不了网。
然后把路由器放到协调器和终端中间某一处。
启动协调器,启动路由器,最后再启动两终端,测试,两个终端入网成功,网络地址分别为0x1430和0x1431,路由器网络地址为0x0001,协调器串口广播发送数据,路由器和两个终端成功接收到。
最后,再把路由器关闭,数据发送不成功,并且两终端的灯已经一闪一闪,与网络断开了。
各串口依次为:协调器/路由器/其中一个终端(路由器执行两次扫描入网)左那只:路由器右边两只:终端协调器:天线拔掉终端未经路由器入网:节点保持原来位置,但把协调器和两个终端的天线重新安上,以增加传输距离。
启动协调器,启动路由器,最后再启动两终端,测试,两终端入网成功,网络地址分别为0x796F和0x79 70,路由器网络地址为0x0001,协调器串口广播发送数据,路由器和两个终端成功接收到。
把路由器关闭,协调器串口广播发送数据,两终端同样成功接收。
各串口依次为:协调器/路由器/其中一个终端(路由器执行两次扫描入网)用无线龙的网络监控软件来查看拓扑图,不过因为电脑上串口的原因,监控软件只有com1~com9,而我这小电脑上经常是com10+,因此调整下相应模块的节点类型,然后下载与其配套的<C51RF-WSN无线传感器网络演示程序>的SampleApp例子再次组网,以下拓扑图不代表上面两种网络。
协调器和绿色网络线连接的那个路由器都是无线龙的两块老板子,明显很扛的!~图1:两个终端经过路由器入网(把模块的天线拔了,信号强度明显下降,网络线呈红色)图2:两个终端未经路由器入网三块蜂舞的CC2430模块,其中有一块组网入网极其慢,至少都十五秒以上,而那三块电源板,供电不稳,接触不良,最纠结的是因电源板的问题导致2430模块会乱发数据,同样程序的模块放蜂舞那扩展底板上很稳定,一换电源板上就尽情抽风,初步测试了下应该是串口引脚问题,把程序应用层中串口数据处理注释掉,很稳定。
《接入技术课题报告》学院:计算机与信息学院专业班级:通信工程一班课题名称:Zigbee实现树状网络日期:2014年5月9日课题任务:1.用zigbee 开发套件实现zigbee 设备的组网;2.了解PAN 协调器的启动过程;3.了解路由器与设备加入网络的过程;4.通过zigbee 网络传输温度与湿度的数据;5.理解Z-stack 的协议架构;6.用抓包器分析MAC 帧的内容。
课题结果:任务1:用zigbee 开发套件实现zigbee 设备的组网Zigbee组网就是调用协议栈的组网函数、加入网络函数,实现网络的建立与节点的加入。
组网可有多种方案而且还有不同的拓扑结构,如任务4中我们所建立的数据传输网络也是其中的一部分。
详见任务4。
任务2:了解PAN协调器的启动过程建立网络是一个自动的过程,协调器在应用指定的网络信道范围内进行能量扫描,通过在各个信道上进行监听,获取各信道能量水平。
协调器会选择一个干扰和冲突最少的信道建立网络。
确定了工作信道后,设备可以进一步设置其余网络参数,包括PAN标识,网络地址,扩展PAN标识等。
应用层通过NLME-NETWORK-FORMATION.request触发网络层进行网络建立过程。
原语包括扫描信道,扫描时间,信标阶,超帧阶,电池寿命扩展标志等参数。
网络建立的具体过程:调用MAC层MLME-SCAN原语先后进行能量扫描和主动扫描,在选择好信道、PAN标识等参数后调用NLME-SET原语先后对参数进行设置,最后通过MLME-START原语启动协调器。
具体过程如下:ZSEG int main ( void ){……//初始化操作系统osal_init_system ();……}OSAL.cbyte osal_init_system( void ){……//初始化系统的任务osalInitTasks ();……}OSAL_SampleApp.cvoid osalInitTasks( void ){……ZDApp_Init( taskID++ );SampleApp_Init( taskID );}ZDApp.cvoid ZDApp_Init( byte task_id ){ZDAppTaskID = task_id;// Initialize the ZDO global device short address storageZDAppNwkAddr.addrMode = Addr16Bit;//地址模式为 16bit 短地址ZDAppNwkAddr.addr.shortAddr = INVALID_NODE_ADDR;//短地址=0xFFFE(void)NLME_GetExtAddr(); //API 函数,用于得到 64bit IEEE 地址// Initialize ZDO items and setup the device - type of device to create.ZDO_Init();afRegister( (endPointDesc_t *)&ZDApp_epDesc );//为设备注册端点 0 描述符// Start the device?if ( devState != DEV_HOLD ) // 无 HOLD_AUTO_START 此项预编译,所以 devState = DEV_INIT{ZDOInitDevice( 0 );}ZDApp_RegisterCBs();}ZDApp.cuint8 ZDOInitDevice( uint16 startDelay ){uint8 networkStateNV = ZDO_INITDEV_NEW_NETWORK_STATE;//0x01,初始化该设备新的网络状态devState = DEV_INIT; // 无连接ZDAppDetermineDeviceType();//确定该设备的类型extendedDelay = (uint16)((NWK_START_DELAY + startDelay)+ (osal_rand() & EXTENDED_JOINING_RANDOM_MASK));//加入网络的时延ZDApp_NetworkInit( extendedDelay );//开始形成网络}ZDApp.cvoid ZDApp_NetworkInit( uint16 delay ){if ( delay ){// Wait awhile before starting the deviceosal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT , delay );}else{osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );}}UINT16 ZDApp_event_loop( byte task_id, UINT16 events ){if ( events & ZDO_NETWORK_INIT )//网络初始化事件处理{// Initialize apps and start the networkdevState = DEV_INIT;ZDO_StartDevice( (uint8)ZDO_Config_Node_Descriptor.LogicalType, devStartMode, DEFAULT_BEACON_ORDER, DEFAULT_SUPERFRAME_ORDER );HalLedSet (HAL_LED_1, HAL_LED_MODE_ON);//点亮 LED1 表示网络初始化完成。
zigbee实训报告总结随着物联网技术的不断发展,越来越多的设备需要实现互联互通。
ZigBee技术作为一种低功耗、无线、自组织的网络解决方案,被广泛应用于家庭自动化、智能电网、智慧城市等领域。
在实践中,我们通过ZigBee实训,深入了解了该技术的原理、特点和应用场景,并掌握了相关工具和技能。
一、实验概述ZigBee实训内容丰富,主要包括如下几个方面:1.理论介绍介绍ZigBee协议、网络组建和控制、数据传输和安全等方面内容,理论课程为实验提供理论基础以及实验目标。
2.软硬件环境配置配置实验所需的软硬件环境,包括配置ZigBee开发套件、Smart RF Flash Programmer、ZigBee网络组件等。
3.实验流程根据实验指导书,进行基本的ZigBee实验,包括节点组建、数据传输测试、网络性能测试等。
4.实验报告撰写根据实验结果,撰写实验报告。
报告应该包含实验目的、实验过程和实验结果等方面,以便于对实验的进一步复盘、总结和提高。
二、实验结果通过ZigBee实训,我们深入了解了该技术的原理和特点。
ZigBee无线网络结构简单、内存占用少、功耗低,适用于低速数据传输和长期待机的场景,例如家庭自动化和智能电网。
在实验过程中,我们通过软硬件环境配置,建立了ZigBee节点、网络组件和数据传输测试,检验了ZigBee的网络性能。
具体实验结果如下:1.节点组建实验我们通过硬件平台,将ZigBee无线节点进行适当配置,成功构建ZigBee节点网络。
通过数据传输测试,我们发现ZigBee节点间的通信速度快,能够满足低速数据传输的需求。
2.数据传输测试实验我们利用ZigBee开发套件,通过触发器和计数器,连通ZigBee节点,发送和接收数据包。
通过数据传输测试实验,我们验证了ZigBee网络的可靠性和稳定性。
实验结果表明ZigBee网络能够稳定地传输数据,即使在干扰较多的环境中也能保持数据传输的可靠性。
3.网络性能测试实验我们通过利用网络组件,对整个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技术,实现各个设备之间的无线通信,使它们能够互相协作,实现智能化的控制和管理。
三、实践过程1. 系统架构设计我们首先进行系统架构设计,确定了系统的基本组成和模块功能。
整个系统由一个中心控制器、多个传感器和执行器组成,它们通过ZigBee无线网络进行通信。
2. 硬件搭建在硬件层面,我们选用了TI的CC2530单片机作为中心控制器,通过串口与PC进行通信。
传感器方面,我们选用了温度传感器和人体红外传感器,用于监测室内温度和人的动态。
执行器方面,我们选用了灯光和报警器。
3. 软件开发在软件层面,我们使用了Z-Stack套件进行开发。
通过Z-Stack,我们完成了无线通信的驱动和协议开发。
同时,我们还基于PC开发了一个图形化界面,以便用户能够方便地控制和监测整个系统。
4. 功能实现我们通过测试和调试,逐步实现了系统的基本功能。
温度传感器可以精确地测量室内温度,并通过无线网络发送给中心控制器。
中心控制器接收到温度数据后,根据设定的温度范围,控制灯光的亮度。
当人体红外传感器检测到有人进入室内时,中心控制器会触发报警器,发出警报。
四、实践结果和分析1. 功能测试我们对系统的各个功能进行了测试,结果表明所有功能均能正常运行。
温度传感器的测量精度在可接受范围内,灯光的亮度控制也符合要求。
人体红外传感器对人的动态也能快速响应,报警器的声音清脆响亮。
2. 性能分析经过对系统的性能测试,我们发现整个系统的性能表现良好。
无线通信的传输速率较快,延迟较低。
《传感网原理及应用》实验报告专业班级: 物联网工程姓名: ##学号:指导教师:评阅成绩:评阅意见:提交报告时间: 2015年 12月 21日目录实验二无线自组网实验1.实验目的…………………………………………………………………………2.实验内容…………………………………………………………………………3.实验步骤…………………………………………………………………………4.实验现象描述与实验结果分析…………………………………………………5.实验思考…………………………………………………………………………实验一点对点通信实验一、实验目的1.了解无线自组网工作原理。
2.掌握利用ZigBee协议栈和传感器组件无线自组网的方法。
二、实验内容本实验使用lAR Embedded Workbench环境和物理地址烧写软件smadRF Flash Programmer,利用ZigBee协议栈和传感器组建无线传感网络,学习zigbee网络组成过程以及各个传感器模块的工作原理和功能。
三、实验步骤1.给zigbee模块下载程序:1.1使用JTAG仿真器连接zigbee模块和PC机;1.2 打开软件SmartRF Flash PrOgramme(物理地址烧写软件):1.3下载*.hex文件。
找到下载所需的程序(*.hex文件),分别为协调器程序以及各个传感器板卡程序。
使用Sma戌RF Flash Programmer软件将*.heX文件下载到协调器以及各个传感器模块中(协调器模块已经集成在ARM网关上。
首先,使用SmadRF Flash Programmer软件打开将要下载的*.hex 文件, 然后,打开“协调器*.hex”文件后,打开将要下载的*.hex文件点击Perform actions, 最后,完成对*.hex 文件的烧写,即完成了对协调器程序文件的烧写.如图:用同样的方法分别对其他传感器终端节点模块进行程序烧写。
简单ZigBee星型组网实验【实验目的】了解ZigBee星型网络通信原理及相关技术【实验内容】利用1个ZigBee协调器、多个传感控制节点组建一个简单的星型网络,并观察射频顶板上LED指示灯的变化,利用上位机软件,查看生成的网络拓扑。
ZigBee相关基础知识1、ZigBee信道IEEE802.15.4定义了两个物理层标准,分别是2.4GHz物理层和868/915MHz物理层。
两者均基于直接序列扩频(DirectSequenceSpread Spectrum,DSSS)技术。
ZigBee使用了3个频段,定义了27个物理信道,其中868MHz频段定义了一个信道;915MHz 频段附近定义了10个信道,信道间隔为2MHz;2.4GHz频段定义了16个信道,信道间隔为5MHz。
2、ZigBee的PANIDPANID其全称是Personal Area Network ID,网络的ID(即网络标识符),是针对一个或多个应用的网络,用于区分不同的ZigBee网络,所有节点的PANID唯一,一个网络只有一个PANID,它是由协调器生成的,PANID是可选配置项,用来控制ZigBee路由器和终端节点要加入那个网络。
PANID是一个32位标识,范围为0x0000~0xFFFF。
3、ZigBee物理地址ZigBee 设备有两种类型的地址:物理地址和网络地址。
物理地址是一个64 位IEEE 地址,即MAC 地址,通常也称为长地址。
64 位地址是全球唯一的地址,设备将在它的生命周期中一直拥有它。
它通常由制造商或者被安装时设置。
这些地址由IEEE 来维护和分配。
16位网络地址是当设备加入网络后分配的,通常也称为短地址。
它在网络中是唯一的,用来在网络中鉴别设备和发送数据,当然不同的网络16位短地址可能相同的。
ZigBee设备类型ZigBee设备类型有三种:协调器、路由器和终端节点。
ZigBee协调器(Coordinator)它是整个网络的核心,是ZigBee网络的第一个开始的设备,它选择一个信道和网络标识符(PANID),建立网络,并且对加入的节点进行管理和访问,对整个无线网络进行维护。
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作为一种独特的无线通信技术,具有低功耗、低成本和可靠性强的特点,成为物联网领域的重要组成部分。
二、实验目的
1.了解ZigBee组网的基本原理和拓扑结构;
2.搭建ZigBee网络,实现设备之间的通信;
3.探索ZigBee在物联网领域的应用。
三、实验步骤
1.准备工作
在实验开始前,需要准备一些硬件设备,包括ZigBee模块、开发板、传感器等。
同时,还需要安装相应的软件开发环境。
2.搭建ZigBee网络
首先,将ZigBee模块插入开发板,连接电源并进行初始化设置。
然后,通过软件开发环境,配置网络参数,包括网络ID、信道等。
接下来,将各个设备逐一
加入网络,形成一个完整的ZigBee网络。
3.通信测试
完成网络搭建后,进行通信测试。
通过发送指令或传感器数据,验证设备之间的通信是否正常。
同时,还可以进行数据传输速率测试,评估网络的性能。
四、实验结果与分析
经过实验,成功搭建了一个ZigBee网络,并实现了设备之间的通信。
通过测试发现,ZigBee网络具有较低的功耗和较高的可靠性,适用于物联网领域的各种应用场景。
五、实验总结
ZigBee作为一种重要的无线通信技术,具有广泛的应用前景。
通过本次实验,我们深入了解了ZigBee组网的原理和应用,并通过实际操作掌握了搭建ZigBee网络的方法。
这对我们进一步研究和应用物联网技术具有重要意义。
六、展望
在未来,随着物联网的不断发展,ZigBee网络将在更多的领域得到应用。
例如智能家居、智能医疗、智能交通等,ZigBee技术将为这些领域带来更多的便利和创新。
结语:
通过本次实验,我们对ZigBee组网技术有了更深入的了解,并体验了其在物联网领域的应用。
随着科技的不断进步,我们相信ZigBee将在未来发挥更重要的作用,为人们的生活带来更多便利和智能化的体验。