基于Zigbee技术的智能家居控制系统设计课程设计论文文档格式.docx
- 文档编号:8606770
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:21
- 大小:623.63KB
基于Zigbee技术的智能家居控制系统设计课程设计论文文档格式.docx
《基于Zigbee技术的智能家居控制系统设计课程设计论文文档格式.docx》由会员分享,可在线阅读,更多相关《基于Zigbee技术的智能家居控制系统设计课程设计论文文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
economy,people’slivingstandardimprovesenormously.Peoplemaypaymoreandmoreattentiontotheirlivingenvironment.
Information
society
has
changed
people’S
lifestyle
work
habits
to
make
intelligent
home
system
a
consumer
demand.Intelligent
catches
more
attention.Thereforethe
topic
about
integration
management
various
communication
equipments
in
home,household
appliances
security
devices
combined
by
control
remotel,
become
hot
research
point
recent
years.
Keywords:
Zigbee;
Z-stack;
CC2530;
SmartHome
目录
1绪论....................................................1
1.1无线传感器网络..................................................1
1.1.1无线传感器网络概况............................................1
1.1.2无线传感器的应用现状..........................................1
1.1.3无线传感器的未来前景..........................................2
1.2基于Zigbee技术的无线传感器网络.................................2
1.3论文结构........................................................3
2Z-Stack协议栈..........................................4
2.1Zigbee协议介绍.................................................4
2.1.1Zigbee协议栈的结构...........................................4
2.2Zigbee网络结构.................................................5
2.3Z-Stack协议栈介绍..............................................6
2.3.1寻址..........................................................6
2.3.2绑定..........................................................9
2.3.3路由协议......................................................9
2.3.4数据发送函数.................................................10
2.3.5网络组建过程.................................................10
2.3.6数据接收函数.................................................10
3智能家居系统的实现......................................13
3.1系统的整体介绍.................................................13
3.2系统硬件介绍...................................................13
3.2.1各类传感器模块...............................................13
3.2.2终端节点和数据汇聚模块.......................................15
3.3系统软件介绍...................................................16
3.3.1终端节点和数据汇聚模块软件设计...............................16
3.3.2上位机(PC机)的监控界面.....................................18
4结论....................................................21
参考文献.................................................22
附录.....................................................23
1绪论
1.1无线传感器网络
1.1.1无线传感器网络概况
无线传感器网络是指大量的移动的或静止的传感器以自组织和多跳的方式构成的无线网络。
其目的是协作地感知、采集和处理传输网络覆盖地理区域内感知对象的监测信息,并报告给用户。
无线传感器网络起源于20世纪70年代,是一种特殊的无线网络,最早应用于美国军方,例如空中预警控制系统。
这种原始的传感器网络只能捕获单一信号,传感器节点只能进行淡淡的点对点通信。
1980年美国国防部高级研究计划局提出了分布式传感器网络项目,开启了现代无线传感器网络研究的先例。
此项目旨在建立一个由空间分布的低功耗传感器节点构成的网络。
这些节点之间相互协作并自主运行,将信息送达处理的节点。
2003年8月,美国《商业周刊》将无线传感器网络定位成21世纪高技术领域的四大支柱型产业之一,其潜在市场需求十分巨大,传感器网络系统已引起世界各国学术界、军事部门和工业界的极大关注。
1.1.2无线传感器的应用现状
近几年来,由于成本的降低,技术的愈发成熟,无线传感器网络已经大规模应用在如下几个领域中:
(1)环境监测
由于环境污染问题日益突出,人们对与环境的保护越来越关注,对于环境的监测需求相应增加。
无线传感器网络为环境监测时采集数据提供了便利,并且还可以减少对环境的破坏。
无线传感器网络还可以跟踪候鸟和昆虫的迁移,研究环境变化对农作物的影响,监测海洋、大气和土壤的成分等。
此外,它也可以应用在精细农业中,来监测农作物中的害虫、土壤的酸碱度和施肥状况等。
(2)医疗护理
无线传感器网络也可以应用在医疗研究和护理领域。
英特尔公司推出了无线传感器网络的家庭护理技术。
该系统通过在鞋、家具以家用电器等家用设备中嵌入半导体传感器,帮助老龄人士、阿尔茨海默氏病患者以及残障人士的家庭生活。
(3)军事领域
由于无线传感器网络节点造价低廉,可以密集随机的分布在各种恶劣的战场环境中,包括侦察敌情、监控兵力、装备和物资,判断生物化学攻击等多方面用途。
目前无线传感器网络还存在着如下问题:
(1)
网络内通信问题。
无线传感器网络内正常通信联系中,信号可能被一些障碍物或其他电子信号干扰而受到影响,怎么安全有效的进行通信是个有待研究的问题。
(2)
成本问题。
在一个无线传感器网络里面,需要使用数量庞大的微型传感器,这样的话成本会制约其发展。
(3)系统能量供应问题。
目前主要的解决方案有:
使用高能电池;
降低传感功率;
此外还有传感器网络的自我能量收集技术和电池无线充电技术。
其中后两者备受关注。
1.1.3无线传感器网络的未来前景
无线传感器网络有着十分广泛的应用前景,它不仅在工业、农业、军事、环境、医疗等传统领域有具有巨大的运用价值,在未来还将在许多新兴领域体现其优越性,如智能家居、智能小区、汽车管理控制等领域。
我们可以大胆的预见,将来无线传感器网络将无处不在,将完全融入我们的生活。
1.2基于Zigbee技术的无线传感器网络
Zigbee可工作在2.4GHz(全球流行)、868MHz(欧洲流行)和915MHz(美国流行)三个频段上,分别具有最高250kb/s、20kb/s和40kb/s的传输速率,它的传输距离在10~75m的范围内。
根据Zigbee的技术本质,Zigbee具有下列的几个特性。
(1)低功耗。
低功耗是Zigbee重要的特点之一。
一般的Zigbee芯片有多种电源管理模式,这些管理模式可以有效的对节点的工作和休眠进行配置,从而使得系统在不工作时可以关闭射频部分,极大地降低了功耗,节约了电池的能量。
(2)低成本。
Zigbee网络协议简单,可以在计算能力和存储能力都有限的MCU上运行,非常适合于对成本要求苛刻的场合。
而且Zigbee芯片的体积较小,随着半导体集成技术发展,Zigbee芯片的体积将会变得更小,成本也会降得更低。
(3)高度扩充性。
Zigbee设备既可以使用64位IEEE网络地址,又可以使用支配的16位网络地址。
在一个单独的Zigbee网络内,理论上可以容纳最多65536个设备。
(4)安全性高。
Zigbee加密算法采用了AES-128,同时各个应用程序可以灵活确定其安全属性。
Zigbee联盟还开发了安全层,以保证这种设备不会意外泄露其标识,而且这种利用网络的远距离传输不会被其他节点获得。
(5)时延短。
针对时延敏感做了优化,通信时延和从休眠状态激活的时延都非常短。
(6)灵活的网络拓扑结构。
Zigbee支持星型、树型和网状型拓扑结构,既可以单跳,又可以通过路由实现多条的数据传输。
1.3论文结构
第1章:
绪论。
该章介绍了无线传感器网络的概况、应用现状和未来前景,然后对Zigbee技术做了简短的介绍,讲述了Zigbee技术的相关特性。
第2章:
Z-Stack协议栈。
该章从Zigbee协议介绍到Z-Stack协议栈的构架,并对Zigbee技术的应用范围作了具体的分析。
主要内容包括网络寻址、绑定、路由协议、数据发送函数、网络组建过程和数据接收函数。
第3章:
智能家居系统的实现。
该章分别从系统硬件和软件两个方面作了具体的阐述。
主要包括传感器模块、数据采集模块和数据汇聚模块以及上位机监控界面等内容。
并对各个模块进行了功能测试,包括组网测试、点对点通信测试和网络整体测试。
第4章:
结论。
该章对本文所完成的任务做了总结,指出本文设计的智能家居系统的创新点,并对下一步工作做出明确的方向。
2Z-Stack协议栈
2.1Zigbee协议介绍
2.1.1Zigbee协议栈的结构
Zigbee协议栈定义了四层。
物理层和媒体访问控制层由IEEE802.15.4-2003定义,上层的网络层和应用层由Zigbee联盟定义。
应用层分别包括ZDO(Zigbee设备对象),APS(应用支持子层)和AF(应用框架)组成。
Zigbee协议栈每一层负责完成所规定的任务,并且向上层提供服务,各层之间的接口通过所定义的逻辑链路来提供服务[3]。
图2.1Zigbee协议栈结构图
(1)物理层:
物理层定义了物理无线信道和MAC子层之间的接口,提供物理数据服务单元(PD-SAP)和物理层管理服务(MLME-SAP)。
(2)MAC(介质接入控制子层):
MAC层负责处理所有物理无线信道的访问,并产生网络信号、同步信号;
支持PAN连接和分离,提供两个对等的MAC实体之间的可靠链路。
(3)NWK(网络层):
网络层是Zigbee协议栈的核心部分,网络层主要实现节点加入或者离开网络、接受或者抛弃节点、路由查找及维护等功能。
(4)APL(应用层):
应用层包括三部分:
应用支持子层(APS)、Zigbee设备对象(ZDO)和应用框架(AF)。
APS应用支持子层的任务是提取网络层的信息并将信息发送到运行在节点上的不同应用端点。
Zigbee设备对象负责设备的所有管理工作,包括设定该设备在网络中的角色(协调器、路由器或终端设备),发现网络中的设备,确定这些设备能提供的功能,发起或响应绑定请求,完成设备之间建立安全的关联等。
ZDO是一个特殊的应用对象,它驻留在每一个Zigbee节点上,其端点编号固定为0。
AF应用框架是应用层与APS层的接口。
它负责发送和接收数据,并为接收到的数据寻找相应的目的端点。
2.2Zigbee网络结构
在ZigBee网络中存在三种逻辑设备类型:
Coordinator(协调器),Router(路由器)和End-Device(终端设备)。
ZigBee网络由一个Coordinator以及多个Router和多个End_Device组成。
图2.2Zigbee网络结构图
上图是一个简单的ZigBee网络示意图。
其中黑色节点为Coordinator,红色节点为Router,白色节点为End-Device。
协调器负责启动整个网络。
它也是网络的第一个设备。
协调器选择一个信道和一个网络ID(也称之为PANID,即PersonalAreaNetworkID),随后启动整个网络。
协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。
注意,协调器的角色主要涉及网络的启动和配置。
一旦这些都完成后,协调器的工作就像一个路由器(或者消失goaway)。
由于ZigBee网络本身的分布特性,因此接下来整个网络的操作就不在依赖协调器是否存在。
路由器的功能主要是:
允许其他设备加入网络,多跳路由和协助它自己的由电池供电的儿子终端设备的通讯。
通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。
但是当使用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。
终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此它可以可以是一个电池供电设备。
通常,终端设备对存储空间(特别是RAM的需要)比较小。
Zigbee网络支持三种拓扑结构:
星型、树型和网状型结构。
在星型拓扑结构中,所有的终端设备只和协调器之间进行通信。
树型网络由一个协调器和多个星型结构连接而成,设备除了能与自己的父节点或子节点相互通信外,其他只能通过网络中的树型路由完成通信。
网状型网络是在树型网络的基础上实现的。
与树型网络不同的是,它允许网络中所有具有路由功能的节点相互通信,由路由器中的路由表完成路由查询过程。
2.3Z-Stack协议栈介绍
TI公司的协议栈Z-Stack符合ZigBee2006规范,功能强大,协议栈底层已实现,对于简单的应用,开发者只需要在应用层开发即可。
Z-Stack还可通过ZigBee网络无线下载节点更新程序,具备定位感知功能等等。
下面对Z-Stack的功能进行介绍。
2.3.1寻址
(1)地址类型
ZigBee设备有两种类型的地址。
一种是64位IEEE地址,即MAC地址,另一种是16位网络地址。
64位IEEE地址是一个全球唯一的地址,并且一经分配就将跟随设备一生。
它通常由制造商或者被安装时设置。
这些地址由IEEE组织来维护和分配。
16位网络地址是当设备加入网络后分配的。
它在网络中是唯一的,用来在网络中鉴别设备和发送数据。
(2)网络地址分配
ZigBee使用分布式寻址方案来分配网络地址。
这个方案保证在整个网络中所有分配出去的网络地址是唯一的。
这一点是必须的,因为这样才能保证一个具体的数据包能够发送到它指定的设备,而不出现混乱。
同时,这个寻址算法本身的分布特性保证设备只能与他的父辈设备通讯来接收一个唯一的网络地址。
不需要整个网络范围内通讯的地址分配,这有助于网络的可测量性。
在每个路由加入网络之前,寻址方案需要知道和配置一些参数。
这些参数是MAX_DEPTH,MAX_ROUTERS和MAX_CHILDREN。
这些参数是栈配置的一部分,ZigBee2007协议栈已经规定了这些参数的值:
MAX_DEPTH=5,MAX_ROUTERS=6和MAX_CHILDREN=20。
MAX_DEPTH决定了网络的最大深度。
协调器(Coordinator)位于深度0,它的儿子位于深度1,他的儿子的的儿子位于深度2,以此类推。
MAX_DEPTH参数限制了网络在物理上的长度。
MAX_CHILDREN决定了一个路由(Router)或者一个协调器节点可以处理的儿子节点的最大个数。
MAX_ROUTER决定了一个路由(Router)或者一个协调器(Coordinator)节点可以处理的具有路由功能的儿子节点的最大个数。
这个参数是MAX_CHILDREN的一个子集,终端节点使用(MAX_CHILDREN–MAX_ROUTER)剩下的地址空间。
在Z-Stack中网络结构和网络深度可在nwk_globals.c文件中设置,默认设置为HOME_CONTROLS。
图2.3网络深度设置程序图
(3)Z-Stack寻址
应用程序通常使用AF_DataRequest()函数向一个ZigBee网络中的设备发送数据。
数据包要发送给一个zAddrType_t(在ZComDef.h中定义)类型的目标设备。
图2.4zAddrType_t结构图
注意,除了网路地址之外,还要指定地址模式参数。
目的地址模式可以设置为以下几个值:
图2.5afAddrMode_t结构图
因为在Zigbee中,数据包可以点对点传送(PointToPoint),组播传送(Flash)或者广播传送,所以必须有地址模式参数。
PointToPoint传送数据包只发送给一个设备,
图2.6点播程序图
Flash传送数据包则要传送给一组设备,
图2.7组播程序图
Periodic广播数据包则要发送给整个网络的所有节点,
图2.8广播程序图
2.3.2绑定
绑定是指一个节点与另外一个或几个节点间建立地址映射的一种寻址方式。
在节点建立绑定之后,发送数据的时候并不需要知道目的地址是什么,应用支持子层会根据绑定ID查询它的绑定表来决定目的地址,然后把信息发送给目的节点。
在Z-Stack中,绑定是通过如下函数实现的:
dstAddr.addrMode=Addr16Bit;
//首先设置寻址模式为网络地址寻址
dstAddr.addr.shortAddr=0x0000;
//目的地址为协调器的网络地址
ZDP_EndDeviceBindReq();
//发起绑定请求
2.3.3路由协议
ZigBee执行基于用于AODV专用网络的路由协议。
简化后用于传感器网络。
ZigBee路由协议有助于网络环境有能力支持移动节点,连接失败和数据包丢失。
当路由器从他自身的应用程序或者别的设备那里收到一个单点发送的数据包,则网络层(NWKLayer)根据一下程序将它继续传递下去。
如果目标节点是它相邻路由器中的一个,则数据包直接被传送给目标设备。
否则,路由器将要检索它的路由表中与所要传送的数据包的目标地址相符合的记录。
如果存在与目标地址相符合的活动路由记录,则数据包将被发送到存储在记录中的下一级地址中去。
如果没有发现任何相关的路由记录,则路由器发起路径寻找,数据包存储在缓冲区中知道路径寻找结束。
ZigBee终端节点不执行任何路由功能。
终端节点要向任何一个设备传送数据包,它只需简单的将数据向上发送给它的父亲设备,由它的父亲设备以它自己的名义执行路由。
同样的,任何一个设备要给终端节点发送数据,发起路由寻找,终端节的的父亲节点都已它的名义来回应。
注意ZigBee地址分配方案使得对于任何一个目标设备,根据它的地址都可以得到一条路径。
在Z-Stack中,如果万一正常的路径寻找过程不能启动的话(通常由于缺少路由表空间),那么Z-Stack拥有自动回退机制。
此外,在Z-Stack中,执行的路由已经优化了路由表记录。
通常,每一个目标设备都需要一条路由表记录。
但是,通过把一定父亲节点记录与其子所有子结点的记录合并,这样既可以优化路径也可以不丧失任何功能。
2.3.4数据发送函数
在Z-Stack中,如果给一个节点发送消息,可以用AF_DataRequest()函数:
图2.9AF_DataRequest()函数
2.3.5网络组建过程
协调器首先从DEFAULT_CHANLIST列表中选择使用的信道,如果ZDAPP_CONFIG_PAN_ID的值不等于0xFFFF则选取ZDAPP_CONFIG_PAN_ID为PANID,否则选取IEEE地址的最后两个字节作为PANID。
如果启动模式是AutoStart,路由器或者终端设备上电之后就开始搜寻网络,如果有合适的网络并且该网络允许加入,那么就会直接加入该网络。
如果启动模式是HOLD_AUTO_START,路由器或者终端设备上电之后必须等待某一特定时间的发生来启动加入网络的过程,这时协议栈会调用ZDAPP_StartUpFromApp()这个函数。
如果需要路由器或者终端设备在电池没电或者重启之后仍然记住以前的网络状态可以在预编译选项添加编译选项NV_RESTORE。
2.3.6数据接收函数
在Z-Stack中,如果一个节点接收消息,可以用SampleApp_ProcessEvent()函数:
图2.10数据处理函数
当采集节点接收到数据后,触发SYS_EVENT_MSG事件,并对AF_INCOMING_MSG_CMD
信息做处理:
图2.11数据消息接受函数
节点接收到信息后会存储在pkt指针指向的结构体中,在应用层的函数
SampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)可以用pkt->
cmd.Data取出接收到的数据,pkt->
cmd.DataLength表示的就是该数据信息的长度,以下是收到消息的格式的结构体定义:
图2.12afIncomingMSGPacket_t络结构图
图2.13afMSGCommandFormat_t结构图
3智能家居系统的实现
3.1系统的整体介绍
本文设计旨在创建一个自主控制的智能家居数据采集与监控系统。
RS232
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Zigbee 技术 智能家居 控制系统 设计 课程设计 论文