ZIGBEE实习报告.docx

上传人:b****7 文档编号:9589789 上传时间:2023-02-05 格式:DOCX 页数:21 大小:26.85KB
下载 相关 举报
ZIGBEE实习报告.docx_第1页
第1页 / 共21页
ZIGBEE实习报告.docx_第2页
第2页 / 共21页
ZIGBEE实习报告.docx_第3页
第3页 / 共21页
ZIGBEE实习报告.docx_第4页
第4页 / 共21页
ZIGBEE实习报告.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

ZIGBEE实习报告.docx

《ZIGBEE实习报告.docx》由会员分享,可在线阅读,更多相关《ZIGBEE实习报告.docx(21页珍藏版)》请在冰豆网上搜索。

ZIGBEE实习报告.docx

ZIGBEE实习报告

zigbee实训报告

实训要求:

(1)eb板按键能控制led灯的亮灭;

(2)c#软件开发界面控件能控制zigbee板上led灯的亮灭;

(3)c#界面能通过图片实时显示zigbee板上led的亮灭情况;

需求分析:

这次实训做的是一个简单的智能家居控制灯,能实现pc机控制灯,并且实时查

看灯的开与关状态,锻炼我们上位机对下位机的控制与下位机反馈信息到上位机的能力,要求能熟炼使用iar软件进行zigbee编程和使用microsoftvisualstudio进行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灯会取反并且每次状态改变时把状态通过数组发送到上位机。

?

上位机c#整体效果图:

?

·

上位机显示灯状态图:

privatevoidbutton2_click(objectsender,eventargse)

{

myserialport.write(a1#);

picturebox1.image=picturebox3.image;

}

privatevoidbutton3_click(objectsender,eventargse)

{

myserialport.write(a0#);

picturebox1.image=picturebox2.image;

}

当c#界面按下关灯按键时会发送a0#命令到zigbee实现关灯命令同时把关灯图片付值到显示见面;当c#界面按下开灯按键时会发送a1#命令到zigbee实现关灯命令同时把开灯图片付值到显示见面;

zigbee接收c#命令程序:

1.if(rxtxflag==1)

2.{//接收状态

if(temp!

=0)

{

if((temp!

=#)&&(datanumber<3))

{//'#'被定义为结束字符

7.//最多能接收3

个字符

8.recdata[datanumber++]=temp;

9.}

10.else

11.{

12.rxtxflag=3;//进入改变小

灯的程序

13.}

14.if(datanumber==3)rxtxflag=3;

15.temp=0;

16.}

17.}

18.if(rxtxflag==3)

19.{

20.

21.if(recdata[0]==a)

22.{

23.if(recdata[1]==0)

24.{

25.rled=0;

26.yled=1;

27.gled=1;//a0#关所

有led

28.}

29.else

30.{

31.rled=1;

32.yled=1;

33.gled=1;//a1#开所

有led

34.}

35.}

注:

每次收到数据是以#号结束字符的判断并识别到接收的数据为a0#时关rled灯,识别到接收的数据为a1#时开rled灯。

3.4.5.6.篇二:

zigbee专业认识实习调研报告

专业认识实习调研报告

1zigbee的含义

zigbee技术是一种新兴的介于无线标记技术与蓝牙技术间的短距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,通过无线电波以接力方式将数据从一个传感器传送到另一个传感器,使数千个微小传感器之间实现相互协调的通信。

zigbee协议采用ieee802.15.4标准的物理层和链路层,并在其上增加了网络层,安全模块和应用支持子层模块,从而实现了大区域网络覆盖zigbee由于其在低功耗、低复杂度、自组织等方面的优势,逐渐成为无线传感器网络的首选通信协议。

工作于无须注册的2.4ghzism频段,传输速率为10~250kb/s,传输距离为10~75m。

该项技术自2002年起由zigbee技术联盟研究开发,采用ieee802.15.4标准作为其物理层和媒体接入子层标准、网络层及上层标准,即zigbee技术标准。

以传感器和自组织网络为代表的无线应用并不需要较高的传输带宽,但却需要较低的传输延时和极低的功率消耗。

因此,迫切需要一种符合传感器和低端的、面向控制的、应用简单的专用标准,zigbee技术的特点使它与无线传感器网络完美地结合在一起。

本文以zigbee技术为背景,研究基于zigbee的无线传感器网络。

蜜蜂在发现花丛后会通过一种特殊的肢体语言来告知同伴新发现的食物源位置等信息,这种肢体语言就是zigzag行舞蹈,是蜜蜂之间一种简单传达信息的方式。

借此意义zigbee作为新一代无线通讯技术的命名。

在此之前zigbee也被称为"homerflite"、"rf-easylink"或"firefly"无线电技术,目前统称为zigbee。

简单的说,zigbee是一种高可靠的无线数传网络,类似于cdma和gsm网络。

zigbee数传模块类似于移动网络基站。

通讯距离从标准的75m到几百米、几公里,并且支持无限扩展。

zigbee是一个由可多到65000个无线数传模块组成的一个无线数传网络平台,在整个网络范围内,每一个zigbee网络数传模块之间可以相互通信,每个网络节点间的距离可以从标准的75m无限扩展。

根据zigbee联盟公布的zigbee技术标准,各个芯片生产厂家都公布了基于自己产品的zigbee协议栈。

有ti公司、avr公司、microchip公司等,其中ti公司及microchip公司开发了源代码开放的zigbee协议栈。

zigbee标准采用分层结构,根据开放式通信系统互联模型,从上往下具有物理层、数据链路层、网络层、应用支持子层和应用层。

从网络层以上的协议有zigbee联盟制定,ieee802.15.4标准定义物理层和数据链路层。

这里介绍的是microchip公司基于zigbee2006标准的zigbee协议栈。

zigbee协议栈采用分层结构,每一层都为其上一层提供一套明确的服务:

数据实体提供数据传输服务,管理实体则提供其他所有的服务。

每个服务实体都通过服务接入点为上层提供一个接口,每个服务接入点都支持一定数量的服务原语来实现所需功能。

apsde-sap为数据实体接口,mlme-sap为管理实体接口。

zigbee协议栈中,各层间数据的传输通过帧来实现,在pan网络结构中定义了4种帧结构:

信标帧、数据帧、确认帧及命令帧。

不管是那种传输帧,发送时都是自协议栈高层向底层传输,

从产生层向下每个协议层都为其增加自己的帧头和帧尾。

接收时都是自底层向高层传输,从物理层向上依次去掉每个协议层的帧头和帧尾。

zigbee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术,是一种介于无线标记技术和蓝牙之间的技术提案,相对于现有的各种无线通信技术,zigbee将是最低功耗和成本的技术之一。

zigbee技术的低数据速率和通信范围较小的特点,也决定了zigbee技术适合于承载数据流量较小和qos的要求不高的业务。

zigbee在网络层和媒体接入控制层都加入了安全保密机制,采用了四种ieee802.15.4媒体接入控制底层的安全保障策略。

第一:

访问控制,设备保存那些网络中被信任的设备名单。

第二:

资料加密,使用高级128位对称加密(aes-128)算法。

第三:

帧完整地保护数据,保护数据免受因没有密钥而被修改。

第四:

拒绝连续刷新的数据帧,网络控制器将对刷新值与最后已知值比较从而决定是否对该数据帧进行丢弃。

不仅如此,zigbee的上层应用还可以灵活地定制不同的安全属性。

zigbee主要适合于自动控制和远程控制领域,可以嵌入各种设备中,同时支持地理定位功能。

zigbee网络支持两种类型的物理设备:

全功能设备(fullfunctiondevice,ffd)和精简功能设备(reducedfunctiondevice,rfd)。

zigbee网络支持两种类型的物理设备:

全功能设备(fullfunctiondevice,ffd)和精简功能设备(reducedfunctiondevice,rfd)。

一般来说,全功能设备(ffd)支持任何拓扑结构,可以充当网络协调器能和任何设备通信;精简功能设备(rfd)只适用于星型网络拓扑结构中,不可以充当网络协调器,且只能与ffd通信,不能与其他rfd通信,但它们内部的电路比ffd少,只有很少或没有消耗能量的内存,因此实现相对简单,也更利于节能。

于是,在任一个zigbee网络中必然存在三种功能设备:

网络协调功能设备;可以与任何物理设备通信的全功能设备,也叫网络节点;精简功能设备,因其内部功能结构简单、上层应用少,且某些仅仅包含ieee标准协议栈,所有又被称为ieee节点(ieeenode)。

网络协调器的主要功能是协调建立网络,其他功能还包括:

传输网络信标,管理网络节点,存储网络节点信息并且提供关联节点之间的路由信息。

此外,网络协调器要存储一些基本信息,如节点数据设备、数据转发表、设备关联表等。

在能量管理方面,网络协调器因为要处理控制问题,例如控制系统的同步问题(如发信标)、要转换长短位址的对应或处理装置彼此间的沟通等,需要较多的能量,因此一般使用连接式电源;而其余设备基本上都是使用电池。

zigbee网络中可同时存在两种不同类型的设备,一种是具有完整功能的设备(ffd),一种是简化功能的设备(rfd)。

在网络中,ffd通常有3种工作状态:

作为个人区域网络的协调器(pan);作为路由器;作为一个终端设备。

一个ffd可以同时和多个rfd或多个其他的ffd通信,而对于rfd,它只能和一个ffd进行通信,故只能作为终端设备。

zigbee协调器,即zigbee的个域网协调器,是网络建立的起点,负责网络的初始化,确定个域网标识符和网络工作的物理信道,并统筹短地址的分配。

zigbee协调器必须是全功能设备,并且一个网络只有一个协调器。

zigbee路由器是一个全功能设备,类似于定义的协调器,在接入网路后,它能获得一定的16位短地址空间。

在其通信范围内,它能允许其他节点加入或者离开网络,分配及收回短地址,路由

和转发数据。

zigbee终端设备,既可以是全功能设备,也可以是简化功能设备,它只能与其父节点通信,从其父节点处获得网络标识符、短地址等相关信息。

zigbee网络由ffd和rfd组成,网络有两种拓扑结构:

星型拓扑结构和对等拓扑结构。

星型拓扑网络是由一个pan协调器的中央控制器和多个从设备组成,主协调器必须是一个ffd设备,从设备既可以是ffd也可以rfd;对等网络拓扑结构也存在协调器,该网络不同于星型拓扑结构,在该拓扑结构中任何设备只要在其通信范围之内就可以和其他设备进行通信。

2zigbee发展现状与前景

随着zigbee协议标准的逐步完善和物联网大环境的带动,整个zigbee产业可以说是朝着越来越繁盛的趋势发展,在5大上游芯片厂商和zigbee联盟的不断努力推动下,基于zigbee应用层出不穷,并和我们的实际生活接轨,让人们的生活更加智能美好了。

虽然zigbee应用越来越多,芯片出货量也连年递增,但总体来说,zigbee市场仍然处于起步探索阶段,还没有真正上量起飞,主要表现在在于可应用的终端商用产品还多处于研发阶段,真正上市的不多,具有典型应用的方向和领域便少,点对点的应用较多,体现zigbee优势的网状网络应用少,缺乏体现zigbee大型组网应用。

虽然zigbee在艰难中前进,但未来整个zigbee产品还是值得我们期待,从技术标准层面上来看,未来zigbee将紧密迎合物联网大概念方向趋势的发展,努力扮演好传输层界面上的角色,在zigbee联盟的推动下,zigbee技术将朝着开发soc(片上系统),更多规范,于ipv6结合,更廉价,更省电,更快速等方向发展。

从应用领域和方向方面来看,zigbee完全有机会开拓在目前大然的智能手机领域中的应用,目前智能手机领域里短距离数据传输主要是通过蓝牙方式来实现,但相比于蓝牙,zigbee的低功耗更具有优势,2节5号干电池可支持1个节点工作6~24个月,甚至更长,相比较,蓝牙能工作数周,wifi只能工作数小时。

同时,贵重设备的定位也是未来值得关注的一个大的潜在应用领域,加大在大型停车场,矿井人员定位等方面的应用。

作为离我们最近的中国市场,zigbee产品的应用爆发可能需要的

时间更长,中国的无线网络市场还未成熟,本土厂商的参与度还非常有限,未来zigbee产业人士要加大无线自动抄表系统,车用无线领域等工业应用,便携设备等高端市场的应用。

综上所述,作为新兴的短距离无线通信技术,zigbee产品将以各种各样的方式快步向我们走来,成为人类工作和生活中布可或缺的一部分。

篇三:

zigbee心得体会

心得体会

本次实训之前,我就上网搜索了zigbee的概念和相关信息。

通过这次为期五周的无线通信技术综合训练,我对zigbee无线通信技术,以及单片机cc2530开发板的硬件结构和功能有了初步的了解和认识。

实训的第一周,我们学习利用iarembeddedwordbench软件,建立工程,编写、调试和下载程序,通过cc2530开发板的现象来分析程序的功能。

亲眼目睹了软件驱动硬件工作之后,我开始对这次实训产生了浓厚兴趣。

在熟悉了软件和硬件的基本操作后,我们开始编写和调试相对复杂的程序。

这个编写和调试的过程对我来说是个很大的挑战,因为我的c51基础很薄弱,所以很多看似简单的程序,我都要去查资料或者请教老师同学。

最后一周的综合实验,是小组合作共同完成的。

我体会到了zigbee技术的功能强大,也体会到了团队合作的快乐和价值。

现实和理想总是有差距的,或多或少都会出现一些问题。

对于通信方面的实训来说更是如此。

在这次实训过程中,我遇到了各种问题:

某句程序不理解,程序调试不成功,节点指示灯不闪烁,液晶屏显示乱码,实验现象和预期要求不符等。

通过查阅相关资料、小组成员探讨和请教老师等途径,这些问题得到了及时有效的解决。

解决问题的过程不是一帆风顺的,是要付出汗水和努力的,但这个过程很值得。

通过这次实训,我认识和了解了热门的zigbee技术,提高了c51的程序编写和调试能力。

更重要的是,这次实训提高了我们通信专业所必需的实践能力和职场所需的团队合作能力,培养了我们认真严谨的科学态度。

这些东西将让我们终身受益!

篇四:

zigbee实验报告

一、zigbee简介

1.1什么是zigbeezigbee是基于ieee802.15.4标准的低功耗局域网协议。

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

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

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

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

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

1.2zigbee协议栈

zigbee协议从下到上分别为物理层(phy)、媒体访问控制层(mac)、传输层(tl)、网络层(nwk)、应用层(apl)等。

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

1.3zigbee技术优势

?

数据传输速率低:

10kb/秒~250kb/秒,专注于低传输应用

?

功耗低:

在低功耗待机模式下,两节普通5号电池可使用6~24个月

?

成本低:

zigbee数据传输速率低,协议简单,所以大大降低了成本

?

网络容量大:

网络可容纳65,000个设备

?

时延短:

典型搜索设备时延为30ms,休眠激活时延为15ms,活动设备信道接入时延为15ms。

?

网络的自组织、自愈能力强,通信可靠

?

数据安全:

zigbee提供了数据完整性检查和鉴权功能,采用aes-128加密

算法(美国新加密算法,是目前最好的文本加密算法之一),各个应用可灵活确定其安全属性

?

工作频段灵活:

使用频段为2.4ghz、868mhz(欧洲)和915mhz(美国),均为免执照(免费)的频段

1.4zigbee应用条件

?

低功耗;

?

低成本;

?

较低的报文吞吐率;

?

需要支持大型网络接点的数量级;

?

对通信服务质量qos要求不高(甚至无qos);

?

需要可选择的安全等级(采用aes-128),

?

需要多方面的较复杂的网络拓扑结构应用;

?

要求高的网络自组织、自恢复能力。

二、cc2530实验及实验修改

2.1基础实验

(1)实验要求:

按键触发中断,ds18b20测外部温度,数据以一定格式传输到串口显示

(2)程序代码:

#include<stdio.h>

#includeiocc2530.h

#includeds18b20.h

#defineuintunsignedint

#defineucharunsignedchar

#definekey1p0_1//定义按键为p01口控制

//变量

ucharkeyvalue=0;//定义变量记录按键动作

uintkeytouchtimes=0;//定义变量记录按键次数

//函数声明

voiddelay(uint);//延时函数声明

voidinitial(void);//初始化函数声明

voidinitkey(void);//初始化按键函数声明

ucharkeyscan(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};

unsignedchartemp;//定义温度缓冲

//延时

voiddelay(uintn)

{

uinti;

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++);

}

//时钟初始化

voidinitialclk()//系统初始化

{

clkconcmd=0x80;//系统选择32m振荡器

while(clkconsta&0x40);//这里等待晶振稳定

}

//初始化按键为中断输入方式

voidinitkeyint(void)

{

p0inp|=0x02;//上拉

p0ien|=0x02;//p01设置为中断方式

pictl|=0x01;//下降沿触发

ea=1;//使能总中断

ien1|=0x20;//p0设置为中断方式;

p0ifg|=0x00;//初始化中断标志位

}

//串口初始化设置

voiduartinitial(void)

{

percfg=0x00;//位置1p0口

p0sel=0x0c;//p0用作串口

p2dir&=~0xc0;//p0优先作为uart0

u0csr|=0x80;//串口设置为uart方式

u0gcr|=11;

u0baud|=216;//波特率设为115200

u0csr|=0x40;

utx0if=0;

}

//串口输出字符

voiduartputchar(unsignedchardatachar)

{

u0dbuf=datachar;//发送字符

while(utx0if==0);//等待发送完成

utx0if=0;

}

//串口发送字符串函数

voiduartputstring(char*data,intlen)

{

intj;

for(j=0;j<len;j++)

{

u0dbuf=*data++;//发送字符串

while(utx0if==0);

utx0if=0;

}

}

//外部中断程序

#pragmavector=p0int_vector

__interruptvoidp0_isr(void)

{

temp=readds18b20();//温度检测

uartputstring(data,23);//串口输出字符串

if(temp/10>0)//判断是否数据只有1位

uartputchar(temp/10+48);//十位

uar

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1