版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目二基于ZigBee的智能家居系统01建立ZigBee硬件环境智能家居系统介绍智能家居利用物联网技术将家居设备互联互通,实现智能化控制、远程监控等功能。智能家居定义智能家居系统能提升家居安全性、健康性、舒适性和智能化水平。智能家居生活场景,包括智能窗帘、智能照明、智能安防等。系统带来的变革智能家居系统能在日常生活中带来许多便利,如早晨自动播放音乐唤醒,晚上自动调节灯光和温度,远程监控家中安全等。日常生活示例01020403场景设计并实现一个基于ZigBee技术的智能家居控制系统。项目目标实现家居设备的自动化控制、远程监控、数据收集与分析等功能。预期成果完成CC2530的I/O端口控制实验、完成CC2530的串口通信实验、完成CC2530的温湿度采集和串口发送实验。任务需求项目概述010203ZigBee技术简介技术应用领域智能家居、工业自动化、健康监测等。ZigBee技术特点低功耗、高安全性、自组织网络、短距离通信等。CC2530芯片概述CC2530芯片是一种片上系统(SoC),支持ZigBee/IEEE802.15.4协议,包括8051CPU、RF收发器、内存等。ZigBee模块采用的CC2530是由德州仪器(TI)公司生产的可支持IEEE802.15.4、ZigBee和RF4CE标准的片上系统(SoC)解决方案。CC2530集成了业界领先的射频收发器和增强型8051单片机,运行内存为8KB,配备了32KB、64KB、128KB、256KB的闪存块,还集成了一系列功能强大的外设。在软件方面,CC2530支持RemoTI、Z-Stack、SimpliciTI等协议栈和BasicRF通信协议,极大地简化了使用者的开发流程。CC2530能够以非常低的总材料清单成本构建健壮的网络节点。CC2530芯片特性IAREmbeddedWorkbenchfor8051TI
公司提供的BasicRF软件包中的示例程序是基于IARSystems公司开发的IAREmbeddedWorkbenchfor8051集成开发环境(IntegratedDevelopmentEnvironment,IDE)建立的。IARSystems公司是全球领先的嵌入式系统开发工具和服务的提供商,成立于1983年,其提供的产品和服务涉及嵌入式系统的设计、开发和测试的每个阶段,包括C/C++编译器、调试器的IDE、实时操作系统、中间件、开发套件、硬件仿真器及状态机建模工具,最著名的产品是IAREmbeddedWorkbenchfor8051,支持ARM、AVR、MSP430等众多芯片内核平台。安装与配置步骤(略)安装IAREmbeddedWorkbenchfor8051CCDebugger调试器CCDebugger是用于TI公司的低功耗射频片上系统的小型编程器和调试器,支持TI公司的多个CC系列产品线。CCDebugger可以与IAREmbeddedWorkbenchfor8051(7.51A
或更高版本)一起使用以进行调试,还可与SmartRFFlashProgrammer(闪存编程器)一起使用以进行闪存编程。另外,CCDebugger还可用于控制SmartRFStudio中的所选器件。开发环境与工具I/O端口控制实验实验目的掌握GPIO(通用输入/输出)配置和LED(发光二极管)控制方法。由于LED具有单向导电特性,即只有在正向电压(正极接正,负极接负)下才能导通发光。P1.0接LED(VD1)的负极,所以当P1.0输出低电平时,VD1点亮;当P1.0输出高电平时,VD1熄灭。P1.0的相关寄存器如表2-1-1所示。I/O端口控制实验P1.0的配置:按照表2-1-1,对P1.0进行配置,当P1.0输出低电平时,VD1点亮,所以配置如下。I/O端口控制实验核心代码讲解:下面为核心代码讲解。main函数作为程序入口,首先实现了LED的初始化,然后进入一个死循环,通过对LED的高、低电平转换和延时实现了LED的闪烁。CC2530的串口通信实验实验功能:使用P0_2作为RX(接收端),使用P0_3作为TX(发送端),将P0_2、P0_3配置为外设功能。USART0和USART1是串行通信接口,它们能够分别运行于异步UART(通用异步收发器)模式或者同步SPI(串行外设接口)模式,两个USART(通用同步/异步收发器)具有同样的功能.通过实验掌握CC2530串口的配置与使用,并通过串口调试助手实现字符串的数据收发。U0CSR(USART0控制和状态寄存器)、U0GCR(USART0通用控制寄存器)、U0BAUD(USART0
波特率控制寄存器)、U0DBUF(USART0接收/发送数据缓存寄存器)、UTX0IF(发送中断标志寄存器)、CLKCONCMD(时钟控制命令寄存器)、CLKCONSTA是一个只读寄存器,用于获得当前时钟状态寄存器:CC2530的串口通信实验CC2530配置串口的步骤:配置I/O,使用外设功能,此处将P0_2和P0_3作为串口UART0。配置相应串口的控制和状态寄存器。12配置串口工作的波特率。3CC2530的温湿度采集和串口发送实验实验功能:接收温湿度传感器DHT11采集的温湿度数据,并通过串口向串口调试助手发送数据。实验相关的寄存器中用到了串口和P0_7,前面已详细讲解了串口相关寄存器的配置与使用,此处不再赘述。DHT11程序采用模块化编程的思想,仅需调用温度读取函数即可,移植到其他平台也非常容易。02ZigBee的原理及协议栈通信IEEE802.15.4IEEE802.15.4是一种技术标准,由IEEE802.15工作组开发2003年发布针对物联网领域定义了低速无线个域网(LR-WPAN)的物理层和MAC层应用于家庭自动化、工业控制等ZigBee近距离、低功耗、低成本无线通信技术适用于传输速率和距离要求不高的场景,工作频段:2.4GHz、868MHz、915MHz传输速率:最高250kbps,距离10~80mBasicRF由TI公司为CC2530提供,基于IEEE802.15.4或ZigBee包含硬件抽象层、BasicRF层和应用层提供简单的双向无线收发协议和数据安全认识IEEE802.15.4、ZigBee和BasicRF三者之间关系IEEE802.15.4为基础,定义物理层和MAC层ZigBee构建于IEEE802.15.4之上,包含网络层和应用层BasicRF基于IEEE802.15.4,功能相对简单,主要用于演示,限制和特点:不自动加入网络,无组网指示;仅支持点对点通信,无网络角色定义;传输时不完全遵循CSMA-CA协议;缺少数据包重传机制高安全性数据完整性检查与鉴权AES加密算法保护灵活的安全属性配置低成本简化的协议减少了对控制器的要求免协议专利费用内存占用小:主节点32KB,子节点4KB低时延快速设备搜索与激活适用于高时延要求的控制领域网络容量大高可靠性物理层扩频技术抵抗干扰MAC层应答重传与CSMA机制动态信道切换能力低功耗低传输速率与发射功率支持休眠模式,延长电池寿命设备续航可达6个月至2年支持多种网络结构:星形、簇树形、网状可组成包含65000个节点的大型网络ZigBee的特点ZigBee与其他短距离无线通信技术在物联网技术的应用领域中,常见的短距离无线通信技术除ZigBee外,还有Wi-Fi和蓝牙,下面从工作频率、传输速率、典型应用等方面对三种通信技术进行简单的比较,特征对比下表所示。特征Wi-Fi蓝牙ZigBee工作频率2.4GHz价格贵便宜较便宜通信距离100~300m2~30m50~300m传输速率300Mbps3Mbps250kbps功耗高低低设备连接能力中弱强安全性低高高组网能力较弱节点多、稳定性稍逊于ZigBee节点多、稳定性高典型应用无线局域网可穿戴设备家居智能化Zigbee技术多领域应用在数字家庭中的应用Zigbee技术可用于智能家居系统,实现家电设备的无线控制和互联互通。在工业领域的应用Zigbee技术可用于工业自动化控制系统,实现设备间的无线通信和数据传输。在农业领域的应用Zigbee技术可用于农业物联网系统,监测环境参数和控制农业设备。在医疗领域的应用Zigbee技术可用于医疗监护系统,实时监测患者的生理参数并传输数据。任务实施BasicRF无线点灯实验:通过BasicRF实现无线通信功能,以无线控制LED开关。1)BasicRF的启动确保外设没有问题。创建一个basicRfCfg_t的数据结构,并初始化其中的成员。1. typedefstruct{2. uint16myAddr; //16位的短地址(就是节点的地址)3. uint16panId; //节点的PAN_ID4. uint8channel; //RF通道(必须在11~26)5. uint8ackRequest; //目标确认时设置为true6. #ifdefSECURITY_CCM //是否加密,预定义中取消了加密uint8*securityKey;7. uint8*securityNonce;8. #endif9. }basicRfCfg_t;调用basicRfInit函数进行协议的初始化,具体代码可以在“basic_rf.h”文件中找到,即uint8basicRfInit(basicRfCfg_t*pRfConfig)。任务实施2)BasicRF的发送(1)创建一个buffer,把payload放入其中。payload的最大字节数为103。(2)调用basicRfSendPacket函数发送数据,并查看其返回值,具体代码可以在“basic_rf.c”文件中找到,即uint8basicRfSendPacket(uint16destAddr,uint8*pPayload,uint8length)。其中,destAddr表示目的地址;pPayload表示指向发送缓冲区的指针;length表示发送数据长度。函数功能:向短地址发送指定长度的数据,若发送成功,则返回SUCCESS;若发送失败,则返回FAILED。BasicRF发送的代码如图2-2-4所示。3)BasicRF的接收(1)上层通过basicRfPacketIsReady函数来检查是否接收到一个新数据包,具体代码可以在“basic_rf.c”文件中找到,即uint8basicRfPacketIsReady(void)。函数功能:检查模块是否已经可以接收下一个数据,若准备就绪,则返回TRUE。(2)调用basicRfReceive函数,把接收到的数据复制到buffer中,具体代码可以在“basic_rf.c”文件中找到,即uint8basicRfReceive(uint8*pRxData,uint8len,int16*pRssi)。函数功能:接收来自BasicRF层的数据包,并为接收的数据和RSSI(接收信号强度指示)值配置缓冲区。任务实施03设计Zigbee智能家居的应用功能了解智能家居场景的功能了解智能家居场景的功能,包括照明控制、电器控制、安全防范等方面的应用,能够根据需求设计出符合实际的智能家居场景。熟悉协议栈并通过协议栈搭建应用系统熟悉ZigBee协议栈的结构和特点,掌握通过协议栈搭建应用系统的方法,包括定义应用层、创建绑定表、建立安全机制等。职业技能目标智能家居系统设计通过协议栈完成智能家居系统的设计,实现智能家居功能的场景。无线通信搭建场景通过ZigBee协议栈完成ZigBee无线组网,通过无线通信搭建智能家居场景。任务描述利用ZigBee技术实现智能家居系统的无线组网,构建起一个全新的网络结构。ZigBee无线组网通过无线通信技术,将智能家居场景中的各个设备连接起来,形成一个完整的系统。无线通信搭建场景任务需求ZigBee的定义无线传感器网络无线传感器网络是大规模、无线、自组织、多跳、无分区、无基础设施支持的网络,其中的节点同构且成本较低、体积较小,大部分节点不移动,随意分布在工作区域。ZigBee的定义ZigBee是IEEE802.15.4协议的代名词,是一种短距离、低功耗的无线通信技术,特点在于近距离、低复杂度、自组织、低功耗、低传输速率、低成本,主要适用于自动控制和远程控制领域。物联网的定义物联网是通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,将任何物体与互联网连接,进行信息交换和通信。030201ZigBee的特点ZigBee的特点使其成为嵌入式设备的理想选择,可以嵌入各种设备中实现无线通信功能,为设备提供更灵活的连接方式,并降低设备的功耗和成本。ZigBee与其它技术无线传感器网络可以采用ZigBee、蓝牙、Wi-Fi和红外线等技术,而ZigBee是一种双向无线通信技术,基于IEEE802.15.4无线标准研制和开发。ZigBee的定义ZigBee协议栈建立在IEEE802.15.4的物理层和介质访问控制层的规范之上,实现了网络层和应用层。在应用层内提供了应用程序支持子层(APS)和ZigBee设备对象(ZDO)。ZigBee协议栈建立规范ZigBee协议的体系结构ZigBee设备对象是特殊的应用程序对象,在端点0上实现。远程设备通过ZigBee设备对象请求描述符信息,接收到请求时,会调用配置对象获取相应的描述符值。ZigBee的设备对象ZigBee应用层包括应用程序支持子层、ZigBee设备对象和制造商定义的应用程序对象。应用程序支持子层的功能包括维持绑定表、在绑定的设备之间传送消息。ZigBee应用层功能ZigBee设备对象功能ZigBee设备对象的功能包括定义设备在网络中的角色,发起和响应绑定请求,在网络设备之间建立安全机制。ZigBee设备对象还负责发现网络中的设备,并提供应用服务。ZigBee应用层服务接口ZigBee应用层除提供一些必要的函数及为网络层提供合适的服务接口外,还有一个重要的功能是定义应用程序对象。运行在ZigBee协议栈上的应用程序实际上就是厂商自定义的应用程序对象,并且遵循规范运行在端点1~240上。ZigBee协议的体系结构ZigBee协议栈的安装协议栈目录协议栈目录包括“Components”、“Documents”、“Projects”和“Tools”等文件夹,分别用于存储库代码、开发文档、例子程序和工具。工程文件平台注意事项从软件开发专业角度建议复制工程至非中文目录,避免有些开发环境不支持中文路径的问题。如果文件目录太长,打开工程时IAR可能会关闭,只需将工程上移几层即可。安装协议栈双击“ZStack-CC2530-2.5.1a.exe”文件进行安装,可以选择默认路径或自定义安装路径。030201ZigBee协议栈驱动的温湿度传感器温湿度传感器移植我们在基础实验中已经完成了温湿度传感器的驱动,现在需要将温湿度传感器移植到协议栈ZStack上。无线温湿度采集协议栈应用与组网在ZStack点播实验中,使用点播终端设备针对性地向指定设备发送数据,而广播和组播可能会造成数据的冗余。打开ZigBee协议栈,将基础实验中的“DHT11.c”和“DHT11.h”文件复制至“SampleApp”下的“Source”文件夹中。App是应用层目录,是用户创建各种不同工程的区域。HAL是硬件层目录,包含与硬件相关的配置、驱动及操作函数。协议栈文件结构NWK是网络层目录,包含网络层参数配置文件、网络层库的函数接口文件及应用程序支持子层库的函数接口文件。网络层与安全层OSAL是协议栈的操作系统。Profile是应用框架层目录,包含应用框架层处理函数文件。协议栈操作系统ZigBee协议栈驱动的温湿度传感器ZigBee实现家居灯光控制系统家居灯光控制系统首先需要检测家内是否有人和家内的光照情况,根据检测结果判断是开灯还是关灯,然后控制灯的开关,仅在家内有人且光照度较低的情况下开灯。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2012年湖南长沙中考满分作文《在书卷世界中感悟》
- 人教版高中语文必修上册第二单元综合检测二含答案
- 混凝土课程设计的心得
- 早教奖杯手工课程设计
- 生物地理动漫课程设计
- 大班乐蓓儿秋季课程设计
- 幼儿园足球绘画课程设计
- 液压课程设计立式机床
- 2023-2024学年湖北省武汉市青山区小学三年级上册数学期末试题及答案
- 2024年沪科新版八年级数学上册月考试卷2
- 2024-2025学年 数学二年级上册冀教版期末测试卷(含答案)
- 《光伏电站运行与维护》试题及答案一
- 军事理论(2024年版)学习通超星期末考试答案章节答案2024年
- 新媒体与社会性别智慧树知到期末考试答案章节答案2024年复旦大学
- 小学道德与法治教学论文(五篇)
- 《干眼》ppt课件
- 国家开放大学《建筑力学》形成性作业1-4参考答案
- 台式电脑采购评分标准
- 悠悠球的理论力学分析
- 国民经济行业与分类代码
- 高压摆喷防渗墙施工方案(共10页)
评论
0/150
提交评论