【《嵌入式智能家居远程控制系统设计与实现》13000字(论文)】_第1页
【《嵌入式智能家居远程控制系统设计与实现》13000字(论文)】_第2页
【《嵌入式智能家居远程控制系统设计与实现》13000字(论文)】_第3页
【《嵌入式智能家居远程控制系统设计与实现》13000字(论文)】_第4页
【《嵌入式智能家居远程控制系统设计与实现》13000字(论文)】_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录摘要随经济的发展和科学技术的进步,人们对生活质量的要求越来越高。智能家居作为一个吃香行业,逐渐成为市场的焦点。本文以智能家居的低端产业为研究对象,开发了一种简单,实用,低成本的智能家居远程控制系统,系统采用单片机作为硬件控制平台控制网关,结合无线通讯技术,RGB全彩灯,温湿度感应器,电机等完成智能家居网关系统的建筑。在软件方面,控制网关采用Keil作为开发环境,结合C语言和少量汇编语言完成了系统的软件设计,设计了智能家居远程控制系统,实现了对家居温度,湿度的采集以及RGB灯和电机的控制。实用性强,成本低。这个平台的建设和将来的系统升级将非常简单。关键词:STM32;智能家居;Keil;远程控制绪论论文研究背景进入21世纪,科学进步不断发展,信息技术也得到了飞速的发展,当前世界,信息技术和世界的主动权紧密联系在一起。伴随着社会的进步,电子产品也越来越多。[1-2]一方面,电子产品给人们的生活带来了极大的方便,另外一方面,开发出一套智能家居系统也迫在眉睫。在我们当前生活的社会,人们已经满足了基本温饱来自于达到了全民小康的水平,人们在物质生活满足的情况下,就开始追求精神文明生活了。在居住环境方面,人民在已经不仅仅局限于基本的住宿功能了,开始追求更高层次的居住享受和体验了。相比于传统的居住,主要是在家庭的安装开关控制灯光,但是在智能家居时代,我们不仅可以通过语音开关灯,还可以通过远程控制开关灯,而且还能通过感应家庭光照强度,进行额外的光线补偿。家中的电器也可以自主进行工作,也可以通过远程APP进行控制。在对于居住环境上,人们在温度、湿度等方面有了更高层次的要求,已达到家庭是恒温、恒湿、恒氧等要求,这些都需要进行智能家居对家中的空调、新风等设备进行自主控制。在防盗方面,人们不仅仅需要通过传统门锁进行控制,还需要指纹识别、虹膜识别等现代化高科技进行控制,还能通过摄像头进行实时监控,可以达到智能防盗的目的[3]。在智能家居时代,智能家电主要包括家庭照明智能控制系统,家庭窗帘自动控制系统。家庭空调智能控制系统。这样不仅仅在智能控制方面使的人们有这很高的居住品质,更加在现在这样一个追求解约能效的社会,可以解约大量电能。在智能家电的控制方面,其不仅仅可以通过自主控制,也可以通过用户自身手机的APP或者电脑的软件进行远程控制,这样可以极大的提升居住的品质,也可以有效的解约能源,所以智能家居的全屋联动有这广阔的市场前景。智能家居的监测主要包换环境监测和安全监测,居住环境监测,主要是包含居住环境中的温度、湿度、氧气含量等人类生活必须的指标进行监测,另外还包括不利于人类生活的有害环境监测,其主要包含一氧化碳、二氧化碳、甲醛等有害气体的监测,给人们带来极大的生活舒适感,有效的提高居住者的生活质量。用户可以通过手机APP或者电脑软件,实时监测家中的各项指标。在智能防盗方面,当前家庭越来越注重家庭的防盗能力,具有良好家庭防盗系统的,可以极大的提升家庭的幸福指数,提升业主的安全感[4]。对于现阶段的智能家居产品来说,伴随着移动通信技术、计算机网络技术的快速发展,要实现以上功能的只能家居产品来说,已经不是什么难事了。当前个家庭也实现了各种智能产品的生产。比如说智能电饭锅、智能空调等产品。但是由于没有业界的领跑者或者标准的制定者制定相关的企业标准,所以每一家的产品都是独立的运行的,不能够的进行级联。但是伴随着5G通信的实现,新一代互联网技术得到了蓬勃的发展,针对以上这些问题都找到了很好的解决方案。物联网的意义就是讲所有的物通过电子设备连接上互联网,这对于标准的制定有这更加强有力的支撑。近些年,伴随着单片机微控制器技术、软件技术、无线通信技术等的发展,为现代化的智能家居产品提供了技术保障。因此,对于本论文研究的,基于STM32的智能家居远程无线控制的研究有这非常强的使用价值和商业价值。智能家居国内外研究现状1.2.1智能家居国外现状在上个世纪的七八十年代,欧美就出现了智能家居的研,所以其在欧美的发展领先于国内很多年。1980年左右,美国成立了现代住宅研究会,攻克怎样将现代化的家庭电器,部署在同一个家庭环境中。这项研究的本身也在于如何测试和规范住宅系统,让其具有现代化和智能化,其知道的先进技术如何在建造中使用。这一协会主要是在美国联邦政府,金融大鳄以及一些家用电器制造商的推动下成立的。上个世纪80年代末,美国联合建筑系统有限公司UTBS在康涅狄格州哈特福德就成功制造出了世界上第一座智能建筑,这座只能建筑主要是在老的传统大楼上建造的,其共有38层建筑面积更是高达十万平方米,他有个更加炫酷的名字叫:城市广场大厦。随后智能家居就开始在全球风靡,在日本,加拿大,欧盟等发达国家都提出了自己的智能家居标准,使得其在全世界有了广泛的应用。上个世纪末,欧洲建成的智能建筑,其不仅可以实现智能控制,还实现了创新的节能环保功能。不久之后,世界上真正意义上的第一座智能家居在德国建成。可是在当时,美国已经拥有世界上最大智能住宅的综合体,由大约八千栋别墅组成,其所有别墅都是智能系统进行控制的。日本也不甘落后,建造了一个与美国类似住宅区。经过十几年的发展,智能家居产业发展迅速,越来越多的企业从事智能家居的研发,如NEYWELL公司、JDS公司等。其中NEYWELL的产品主要集中在智能家居的主控制器和网络设备上,JDS公司的产品主要集中在智能家居的监控和报警设备上,另外还有HAL的ALdeluxe智能家居系统和vantage的Vantage家庭自动化系统。近年来,随着智能家居的不断发展,许多国际大型科技公司都开发出了自己的智能家居产品,如微软的梦想家居、谷歌Brillo、苹果HomeKit、三星SUHD智能电视、SmartThings智能家居平台等,LG智能家居控制中心SmartThinQHub松下智能家居创新技术“Ora”,高通公司基于snapdragon212处理器的智能家居平台已经出现。随着国外智能家居的不断开发,许多国家都开发出了一套具有自己特色的智能家居系统。如美国的X-10制、德国的EIB制和新加坡的8x制,各有利弊。美国X-10系统的优点(如图1-1所示)是不需要额外的布线。其缺点是施工难度大、成本高、工期长。德国的EIB系统工程更复杂、更严格,价格也更高。新加坡的8x系统目前比较成熟。这三个系统都属于目前世界上广泛使用甚至直接使用的智能家居系统。图1-1X-10系统方案1.2.2智能家居国内现状智能家居在中国起步较晚,还处于起步阶段。它还没有建立自己的技术标准。其中不少人直接借鉴了国外智能家居的发展标准。然而,随着国家和智能家居市场的不断投资,许多自己的产品已经开发出来。《1997智能家居》的概念是从发达国家传入我国的。很快,最早的智能家居出现在中国的经济中心上海。之后,智能家居在全国蓬勃发展,逐步形成了具有一定规模的智能家居市场[10]。但是,由于智能家居在中国的快速发展,人们对智能家居技术过于热衷,使得市场盲目追求智能家居技术,不吸收国外技术直接在中国使用,技术上缺乏创新,市场上缺乏统一的标准,而对情报概念的过度揣测,直接导致智慧社区出现许多不同程度的问题,有的甚至严重到系统无法工作。针对这些问题,工信部、建设部等部门制定了许多应对措施,如小康住宅电气设计(standard)导则和智能电器智能化技术通则地区。这些相关政策的出台,引导了智能家居产业的发展,有效规范了智能家居产业的技术标准。经过不断努力,中国终于找到了一套适合自己的智能家居设计方案,智能家居产业进入了一个新时代。目前,中国的智能家居产业已经成为全球非常大的市场,国内相关企业也越来越多。早期在智能家居的公司包括海尔集团、清华同方等公司,以及海尔集团的e-home,分别以电脑和手机作为控制中心和移动数字中心(如图1-2所示)。终端设备包括海尔公司生产的各种网络设备。此外,海尔还与微软达成技术合作,合理整合微软WindowsMe技术和自己的网络家电控制技术,使“e家”系统初具规模。清华同方也推出了自己的智能家居产品——电子home数字家居。它遵循国际技术标准,采用嵌入式软硬件技术,提供从网络到终端的各种产品。它是专门为中国家庭设计的智能家居系统。这些公司为中国智能家居产业做出了巨大贡献,使智能家居产业做大做强。与国外类似,越来越多的现代新技术公司也在开发自己的智能家居产品,如海康卫视的智能安防装置和小米智能家居系列产品,以及华为主导的HiLink智能家居解决方案。总的来说,中国的智能家居与一些发达国家有一定的差距。然而,我国智能家居发展迅速,发展潜力巨大。经过不断发展,与这些发达国家的差距必将逐步缩小。图1-2智能家居解决方案本设计主要工作在这个科技爆炸的时代,选择智能家居作为研究对象具有重要的社会意义。虽然智能家居市场在我国有很大的潜力,但现在还不行出售。原因有很多。最重要的原因之一是智能家居产品在市场上的定位不对。此外,初期对相关概念的过度炒作和后期产品服务的不足也引起了高端用户的流失。然而,由于价格过高,普通消费者望而却步,最终导致现在的市场局面。,鉴于此,本文设计了一个简单实用的低成本智能家居系统。该系统以STM32为硬件平台,配合嵌入式操作系统实现智能家居的基本功能。该系统不追求华丽的外观,以低价为主,简单实用,专注于低端市场。这个智能家居系统的设计主要是让人们享受科技带来的便利,引导公众消费智能家居产品,促进智能家居产业的发展。论文主要安排根据前面的研究背景和本文实现的主要工作的介绍,下面介绍本文的主要工作安排。第一章:本章主要介绍了智能家居的概念、国内外现状、未来发展趋势和研究意义;第二章:本章将介绍该主题的总体设计,以及嵌入式和通信技术;第三章:本章主要详细介绍了课题的硬件部分,首先介绍了总体设计,然后详细介绍了各个模块的设计;第四章:本章主要介绍了智能家居软件的开发,涉及开发环境、无线通信协议、STM32芯片的主要驱动程序和无线通信模块程序等;第五章:本章主要介绍了软硬件系统测试;第六章:本章是总结和展望,总结了课题的研究计划,并对需要改进的地方进行了展望。第4章系统软件设计

系统整体架构与关键原理系统整体架构智能家居系统属于物联网这个范畴。图2.1是物联网的架构图。图2-1系统整体的架构图2.1.1感知层感知层是物联网的基础,也是物联网与互联网的本质区别。传感层主要分为两类:自动传感和手动传感。自动感知是指传感器能够自动感知周围环境以获取数据的传感器等。另一种是人工感知,人工感知是指靠近待识别标签的电子设备。例如,红外扫描条码是人工感知;感知层的另一个重要功能是实现智能终端的信息交互和信息处理。各智能终端通过信息交互实现定位和同步功能,然后将采集到的数据传输到互联网供上层设备使用。2.1.2网络层网络层主要提供的服务是将感知的层数据传输到网络,并提供所需求的基本网络,包括移动网络、互联网、卫星网络等。2.1.3应用层应用层主要为相关行业提供具体的应用服务,分为两部分。一是管理服务层,提供数据存储服务、中间软件服务、数据处理和决策服务;另一部分是行业应用层,主要是各种应用软件。嵌入式技术介绍智能家居系统是计算机技术、嵌入式技术和通信技术的集合。通过对这些技术的合理运用,巧妙地将家庭的各个子系统集成在一起,本节详细介绍了这些技术的核心。2.2.1嵌入式系统概述嵌入式系统是以应用为中心,以计算机技术为基础的一种特殊的计算机系统。它能适应不同应用在功能、可靠性、成本、体积、功耗等方面的要求,集成了可配置、可简化的软硬件。它具有很强的灵活性,主要由嵌入式硬件平台、相关支撑硬件、嵌入式操作系统、支撑软件和应用软件组成。2.2.2嵌入式系统的组成嵌入式系统完全嵌入到控制芯片中,主要由控制器、操作系统和应用软件组成,如图2-1所示。英国电气工程师协会(BritishInstituteofelectricalengineers)将嵌入式设备定义为一种可以监控的设备;在我国,嵌入式系统通常更多地被定义为基于计算机技术的面向应用的计算机系统。图2.1嵌入式系统示意图2.2.3嵌入式系统的特点(1)系统专用性强。

(2)系统实时性强。

(3)软、硬件依赖性强。

(4)处理器专用。

(5)多种技术紧密结合。

(6)系统透明性。

(7)系统资源受限。由于嵌入式系统是针对用户、应用和产品的,必须结合具体应用才能充分发挥其优势。因此,我们可以从以下两个方面来理解嵌入式系统:(1)背景决定特征嵌入式系统是在电子技术、计算机技术等高新技术飞速发展的背景下产生的。这就决定了嵌入式系统是一个高科技、创新、资金密集型的知识采集系统。(2)嵌入式系统主要是为了满足应用需求嵌入式系统是一个以应用为中心的系统,这决定了它主要服务于应用。为了保证应用系统的功能、成本和可靠性,往往需要进行一定的裁剪。因此,许多嵌入式系统都有不同的内核大小,从几K到几十K不等,需要根据实际应用进行扩展或定制。实际上,嵌入式系统的应用范围非常广泛。能够与产品结合并具有嵌入式特性的系统称为嵌入式系统。而本文所使用的嵌入式系统是一个带有操作系统的嵌入式系统,主要包括主控制器、内存、I/O端口和相关程序。无线技术介绍2.3.1无线网络概述目前,网络在我们的日常生活和平时工作中是不可或缺的。它丰富了我们的日常生活,为我们的日常工作提供了便利。无线网络是一种无线局域网技术,可以连接手机和平板电脑等电子设备。它通常使用2.4GUHF或5gSHFism。上世纪90年代,澳大利亚研究机构CSIRO在美国发明并申请专利。1996~1999年,它被IEEE公认为世界上最好的无线网络技术,并在无线通信领域得到了广泛的应用。无线网络发展历程如图2-2所示。图2-2无线网络发展历程在无线局域网的范畴中,它是一种无线组网技术。在发明之前,计算机主要通过网线与网络相连。发明之后,计算机可以剔除网线这一限制连接到无线网络,这提高了无线网络产品之间的互操作性。2.3.2无线网络的组成无线网络的基本组成包括无线网卡和网桥,可以通过这两个设备连接到网络。无线网卡类似于有线网络的调制解调器,主要负责信号转换,网桥又称AP,在媒体访问控制层,它主要起到无线工作站和有线局域网的作用,有点像有线网络中的集线器,只有有了它,你才能快速连接到网络。之所以能风靡全球,与其固有的特性是分不开的。2.3.3无线网络的特点与其他无线通信技术相比,具有以下八个特点:(1)更快的传输速率与1mbps的蓝牙和250kbps的ZigBee相比,它的传输速度可达11mbps。如果采用802.11n协议,理论传输速率可达600mbps。(2)更加低功耗2009年,基于ieee802.11行业标准的802.11n标准发布,在功耗方面进行了重大创新,使得功耗非常低。(3)更高的安全性互联网安全一直是人们关注的问题。IEEE批准的802.11w标准可以保护无线管理帧,使无线链路工作得更好。同时可以及时切断黑客利用MAC地址伪造的信息,使网络更加安全。(4)更强更稳定的信号802.11n无线芯片具有许多特点,如STBC采用低密度奇偶校验码提高纠错能力,采用多天线提高信号可靠性。本章小结本章分析了智能家居所涉及的几个核心技术,对嵌入式系统以及无线网络通信有了详细的介绍,在此基础上设计了智能家居系统的总体方案。

系统硬件设计微控制器最小系统设计3.1.1核心芯片概述总体硬件设计主要包括核心控制器、扩展模块和外围模块。从性能和成本两个方面考虑,选择了基于美国STMicroelectronics公司Cortex-M3的32位增强型ARM微处理器stm32f103rct6作为智能家庭网关的核心处理器。微处理器的主频为72mhz,48ksram空间和256K闪存。三个16位定时器是两个基本定时器、四个通用定时器和两个高级定时器。有51个通用IO端口。通信接口更加丰富,包括三个SPI接口、两个IIC接口、一个SDIO接口、五个串口、一个USB接口和一个can接口。其他资源包括两个DMA控制器、三个12位ADC和一个12位DAC。引脚图如图3-1所示。微处理器功能强大,电网低,工作电压2~3.6V,节电方式多样,保证了低功耗应用。工作环境温度为-40℃~+80℃/-40℃~+105℃,结果表明,该系统能在寒冷的冬季和炎热的夏季稳定运行。另外,在使用该芯片进行开发和测试时,jink调试器可以非常方便的进行模拟烧录实验。图3-1STM32F103RCT6引脚图3.1.2调试接口设计在开发过程中,调试是必不可少的,一个程序往往需要反复调试,才能最终实现相应的功能。如图3-2所示,电路图采用标准JTAG电路连接。由于STM32具有SWD接口,设计了JTAG与SWD的通用接口。只要连接了JTAG电路,SWD模式也可以用来调试下载程序。与JTAG模式下的调试程序相比,SWD调试程序的速度更快,因此一般采用SWD模式进行调试。图3-2STM32最小系统3.1.3电源电路设计基于实用原理,将USB串口,USB和电源电路设计在一起,使电源,串口下载代码和串口通讯可以结合使用,方便开发人员使用。如图3-3所示,USB转串行芯片采用ch34g实现程序记录和串行通信。电源芯片采用AMS117-3.3电源调节芯片(封装如图3-4所示),可将5V电压转换成STM32主控芯片所需的3.3V电压。另外,考虑到在开发过程和未来的扩容升级过程中可能会用到3.3V和5V电压,在设计过程中特别画出了一排3.3V和5V电压。图3-3USB转串口图3-4AMS1117-3.3电源稳压芯片封装3.1.4按键电路设计按钮是网关设计中不可缺少的一部分。它可以帮助开发者进行程序开发,当然也可以帮助控制智能家居。网关设计有三把密匙,分别是KEY_BOOT、KEY2和KEY3,其中KEY2和KEY3作为公共密钥。关键电路设计示意图如图3-5所示。图3-5按键电路无线通信系统设计该系统采用Wi-Fi无线遥控,实现智能家居的远程管理。目前,市场上有很多Wi-Fi设备,例如cc3200和mt7681。考虑到成本和性能因素,最终选择ATK-ESP8266作为系统的Wi-Fi模块。3.2.1ATK-ESP8266Wi-Fi模块特点Atk-esp8266是一个高性能的串口无线模块。车载esp8266模块通过串口与主控芯片进行通信,内置的TCP/IP协议可以实现Wi-Fi与串口的转换。该模块可与3.3V和5V单片机系统兼容,并能方便地与主控芯片连接。此外,它还支持STA、串口到AP和STA+AP三种模式,有利于开发。除以上几点外,esp8266还具有以下特点:(1)价格低廉Esp8266模块是主流Wi-Fi模块产品中价格相对低廉的Wi-Fi模块。以最低的成本实现最大的功能,非常实用,符合系统的研发方向;(2)低能耗Atk-esp8266具有激活、睡眠和深度睡眠三种模式,大大降低了功耗。(3)集合程度高Ep8266有许多组件,包括电源管理组件、TR开关等。所有这些都高度集成在esp8266模块中,这使得esp8266模块结构紧凑,易于设计和使用。(4)应用多样化Esp8266应用广泛,可以应用于智能电源插头、家庭自动化、可穿戴电子产品等,如此广泛的应用使得Esp8266拥有大量的数据,可以大大缩短研发周期,降低研发成本。3.2.2Wi-Fi硬件电路设计由于主控芯片的电源设计有多个3.3V电源接口,主控芯片的冗余电源接口可以用来为ATK-ESP8266供电,但不能直接连接,因此在中间应增加稳压电路。稳压器电路采用以线性稳压器rt9193-33为核心的稳压器模块。使用时,仅VCC,GND,TXD,RXD和主控制器需要通过DuBang线5/3。3V,GND,PA3,PA2可以连接,如图3-6所示。Wi-Fi模块实物图如图3-7所示。图3-6Wi-Fi硬件电路图3-7Wi-Fi模块实物图RGB全彩灯设计本设计使用RGB三色LED指示灯,并使用stm32三路IO端口产生PWM波,以控制彩色灯的颜色。硬件原理图如图3-8。图3-8RGB指示灯电路温湿度传感器设计设计了一种具有校准数字信号输出:DHT11温湿度传感器。该传感器是一种具有校准数字信号输出的温湿度复合传感器。采用特殊的数字模块采集技术和温湿度传感技术,保证了产品的高可靠性和低长期稳定性。该传感器包括电阻式湿度传感器和NTC测温元件,产品质量优良,抗干扰能力强,性价比高。每个DHT11传感器在非常精确的湿度校准室中进行校准。校准系数以程序的形式存储在OTP存储器中,并且在检测传感器内部信号的过程中调用这些校准系数。单线串行接口使系统集成简单快捷。超小型,极低的功耗,信号传输距离可达20m以上,该产品为4引脚单排引脚封装。相关参数:(1)供电电压:3-5.5V(2)供电电流:最大2.5mA(3)温度范围:0-50℃

误差±2℃(4)湿度范围:20-90%RH

误差±5%RH(5)响应时间:1/e(63%)

6-30s(5)测量分辨率:8bit(温度)、8bit(湿度)(6)采样周期间隔:不得低于1秒钟硬件原理图如图3-9,模块标准封装图如图3-10所示。图3-9DHT11传感器硬件电路图3-10DHT11传感器封装图直流电机电路设计3.5.1驱动芯片概述为了模拟现场执行器,在板上设计了微型直流电动机,该电动机由MX1508驱动。Mx1508是四通道推挽功率放大器的ASIC元件,用于控制和驱动电机。分立电路全部集成在一个集成电路中,降低了外围设备的成本,提高了系统和整机的可靠性。该芯片采用两个TTL/CMOS兼容电平输入,具有良好的抗干扰性能;两个输出端可直接驱动电机正负方向,各通道具有较强的电流转移驱动能力。各通道间可实现800ma以上的连续电流,峰值电流驱动能力可达2A;同时,具有较低的输出饱和电压降;内置箝位二极管可以释放感性负载的反向冲击电流,使其在驱动继电器、直流电机、步进电机或开关功率晶体管中工作。MX1508驱动芯片引脚图如图3-11,MX1508驱动芯片引脚定义如表3-12,图3-11MX1508驱动芯片引脚图表3-12MX1508驱动芯片引脚定义引脚编号引脚名称输入/输出引脚功能描述1VCC1-1通道逻辑控制电源端2INA1|1通道正转逻辑输入3INB1|1通道反转逻辑输入4VDD1-1通道功率电源端5VCC2-2通道逻辑控制电源端6INA2|2通道正转逻辑输入7INB2|2通道反转逻辑输入8VDD2-2通道功率电源端9OUTB2O2通道反转输出10GND-接地端11GND-接地端12OUTA2O2通道正转输出13OUTB1O1通道反转输出14GND-接地端15GND-接地端16OUTA1O1通道正转输出3.5.2直流电机电路设计微型直流电动机为4针单排引脚封装,4个引脚分别连接VCC、OUTA1、OUTB1、GND,出电源和地外分别连接驱动芯片的正转输出以及反转输出,电路图如图3-13。图3-13直流电机电路本章小结本章主要介绍了整个系统的硬件电路设计。整个硬件电路设计是在AltiumDesigner软件上进行的。根据第二章的理论介绍,本章主要介绍了STM32最小系统的电路设计,包括晶体振荡器电路、复位电路和下载电路,接下来介绍了模块与STM32最小系统的连接。最后,介绍了RGB全彩灯电路、温湿度传感器电路和直流电机电路的设计。硬件电路设计完成后,以下各章将进行软件设计。

系统软件设计软件整体架构智能家居系统不仅要有硬件,还要有软件,否则就无法工作。两者同等重要,缺一不可。搭建了智能家居的硬件平台。为了使智能家居系统发挥功能,需要搭建相应的软件平台。软件平台分为三个部分:应用层、抽象层和底层。应用层主要包括无线通信、外围模块与主控制器的串行通信、数据访问等,抽象层主要包括相关协议和操作系统,底层主要是主控芯片的驱动程序。总之,智能家居系统主要采用TCP/IP协议实现智能家居内外的ZigBee通信,最终实现智能家居的相关功能。软件结构如下图4-1所示。图4-1系统整体流程图软件开发工具和环境介绍发展环境对发展非常重要。目前,STM32主控芯片的开发采用了ARMSDT、ARMARDS、IAREWARM和KELLARM-MDK等常见的开发环境,如图4-2所示。KeiluVision5是2013年10月推出的一款集成开发工具,主要针对使用uVision5ide。它主要针对arm处理器,特别是以armcortex-M为核心的处理器。KeiluVision5(界面如图4-2所示)与KeiluVision4兼容。在Keil-uVision4的基础上,加强了对Cortex-M微控制器开发的支持。传统的开发模式和接口分为MDK内核和软件包。其中,MDK内核包含了微控制器开发的所有组件,包括编辑器、IDE(uVision5)、uVision调试跟踪器、armc/C++编辑器和pack安装程序,软件包无需工具链即可完成对新芯片的支持和中间库的升级。图4-2keiluVision5初始界面4.2.1软件开发工具在智能家居控制网关的开发过程中,开发工具是一个重要的组成部分,影响着开发进度。系统开发过程中使用了J-link,其中在主控制器的开发中使用J-LINK仿真器(如图4-3所示),J-link仿真器是Segger公司生产的JTAG仿真器。主要用于支持ARM核心芯片的仿真。它可以支持在Keil、ads和其他集成开发环境中模拟大多数arm系列内核。它可以与Keil无缝连接,易于学习和连接。它是学习和开发arm的一个非常实用的开发工具。此外,j-link仿真器还具有下载速度快、电压兼容范围广、速度自动识别、即插即用等优点。这些优点对开发者来说非常方便。图4-3J-Link仿真器实物图4.2.2软件开发环境本次设计使用Keiluvision5进行软件开发,开发界面如图4-4所示。图4-4Keil开发界面图该软件中安装了stm32系列芯片的库文件如图4-5所示。图4-5STM32库文件TCP/IP协议4.3.1TCP/IP协议简介TCP/IP协议是TransmissionControlProtocol/InternetProtocol的缩写,中文名networkcommunicationProtocol,它于1974年12月由美国科学家卡恩和瑟夫正式提出并发表。它是互联网最基本的协议和基础,主要包括TCP协议和IP协议。4.3.2TCPTCP用于应用程序之间的通信。当一个应用程序想要通过TCP与另一个应用程序通信时,它会发送一个通信请求。请求必须发送到准确的地址。握手之后,TCP将在两个应用程序之间建立全双工通信。这种全双工通信将占用两台计算机之间的通信线路,直到被一方或双方关闭为止。4.3.3IP IP是一种无连接的通信协议。它不占用正在通信的两台计算机之间的通信线路。这样,IP减少了对网络线路的需求。每条线路可以同时满足多台不同计算机的通信需求。通过IP,信息(或其他数据)被分成独立的小数据包,并通过互联网在计算机之间传输。IP负责将每个数据包路由到其目的地。4.3.4TCP/IP的组成TCP/IP规定了将电子设备连接到internet和数据传输的标准。该协议由四部分组成:链路层、网络层、传输层和应用层。如下图所示,TCP/IP协议模块图4-6,应用层主要是用户进程,而传输层包括TCP和UDP,网络层是协议的核心部分,包括IP、ICMP、IGMP、ARP和RARP。网络接口层主要是网络接口。这四层负责不同的功能,构成TCP/IP协议。图4-6TCP/IP协议模型(1)链路层链路层是协议的底层。主要负责驱动网卡、冲突检测、PA同步、数据错误检测等相关硬件设备。网络层是整个协议的核心。它负责不同主机之间的通信。其功能包括三个方面。1、在接收到请求之后,数据包被加载到IP数据报中,报头被填充,到目的地机器的路径被选择,然后数据报被发送到适当的网络接口。2、对输入数据报进行处理:首先检查其合法性,然后进行寻路——如果数据报已经到达宿主机,则去掉报头,剩下的交给相应的传输协议;如果数据报尚未到达接收器,则转发数据报。3、处理路径、流量控制、拥塞等问题。IP是这一层的核心,ICMP是它的补充。(2)传输层传输层允许两个不同的对等实体相互通信,并且具有格式化信息和提供可靠传输的功能。为了实现后者,传输层协议规定接收方必须发回一个确认,如果数据包丢失,则必须重新传输。该层包括TCP协议和UDP协议。(3)应用层应用层主要为用户提供电子邮件、文件传输访问、远程登录等应用。Telnet使用Telnet协议提供在网络中的其他主机上注册的接口。Telnet会话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议在网络中的机器之间提供文件复制功能。STM32驱动程序设计在智能家居的开发过程中,主芯片STM32有很多模块需要驱动,包括时钟、串口、ADC等。这些模块是开发过程中最基本、最低级的部分,也是不可缺少的一部分。4.4.1时钟初始化Stm32_Clock_Init(u8PLL)是一个时钟初始化函数。选择Pllclk作为系统时钟,apb1除以2,apb2除以1,AHB除以1。设置参数PLL,范围从2到16,主要用于配置时钟的倍频。4.4.2延时函数初始化delay_init(u8SYSCLK)是一个延迟初始化函数,在延迟等待等任务中起着非常重要的作用。Sysclk是系统的固定时钟,参考如图4-5系统时钟树。图4-5系统时钟树(用户手册)4.4.3串口初始化根据数据手册如表4-6所示,Stm32f103c8有三个串口,其中串口1对应IO端口PA9和PA10,串口2对应IO端口pa2和PA3。函数uart_init(u32pclk2,u32bound)是串口的初始化函数,其中pclk2是串口1的时钟频率,bound是串口1的波特率。在初始化功能中,首先启用端口时钟和串行时钟,然后分别将PA9和PA10设置为多通道推挽输出和浮动输入,然后设置串行端口波特率,最后将停止位设置为1位,不设置校验位。此时,设置串行端口1和3。表4-6用户手册P165-P1664.4.4LED初始化根据硬件电路的原理,两个led分别连接主控芯片PA8和PD的100gIO端口,所以LED的初始化主要是两个IO口的初始化。将两个IO端口设置为输出,将函数初始化为LED_Init(),该键的初始化为KEY_Init(),在该函数中,首先初始化PA0、pa15和PC5,并将三个IO端口全部设置为输入,然后按键处理函数键,在扫描(U8模式)中设置模式值,选择键模式。模式值为0时,不能连续按键。当mode的值为1时,可以连续按键。无线驱动程序设计Esp-8266是一种高性能无线模块。采用串口与主控制器通信,并内置TCP/IP协议。它可以实现串口与主机控制器之间的转换。4.5.1ESP-8266工作模式ESP-8266是少数支持串行端口到STA,串行端口到AP和STA+AP的无线模块之一。ESP-8266STA/AP/STA+AP三种工作模式:(1)STA模式在这种模式下,Esp-8266模块可以通过路由器直接接入互联网,最终与手机建立联系,实现远程控制,示意图如图4-7所示。图4-7STA(Station)模式(2)AP模式在这种模式下,Esp-8266模块直接与手机作为热点进行通信,实现局域网控制,示意图如图4-8所示。图4-8AP(SoftAP)模式(3)STA+AP模式在这种模式下,可以实现两种模式之间的无缝切换,操作方便,示意图如图4-9所示。图4-9STA+AP(SoftAP+station)模式4.5.2ESP-8266AT指令ESP-8266有许多AT指令。在AT模式中,主控制器可以通过串行端口发送AT指令。ESP-8266工作流程图如图4-10所示。图4-10驱动流程图从开机到最终成功发送数据,有以下四部分程序:(1)初始化主要驱动Esp-8266模块底层通信,包括at指令的发送与接收、模块状态检查、输入输出显示等。包括以下功能:atk_8266_send_cmd()//向ESP-8266模块发送AT指令;atk_8266_quit_trans()//退出透明模式;atk_8266_consta_check()//获取ESP-8266模块的连接状态;atk_8266_get_wanip()//在STA或AP模式下获取IP地址和MAC地址;atk_8266_get_ip()//在STA+AP模式下获取IP地址和MAC地址;最后,有一个Esp-8266模块测试主功能函数atk_8266_test,它先检查Esp-8266模块是否有正常的检测模块,然后初始化为AP模式,然后进入模式选择界面,最后按键进入相应的子功能进行测试。(2)AP+STA模式测试只有一个函数atk_8266_apsta_test测试模块串行端口AP+STA模式的每个子模式。首先,配置STA模式,然后配置AP模式。配置完成后,LCD接口需要输入远程IP地址,输入正确的IP地址,开始数据发送和接收测试。如果没有收到数据,程序每10秒检查一次,看是否还有连接,并在液晶显示器上显示连接状态,跑马灯将每0.4秒闪烁一次,用于提示程序正在运行。(3)STA和AP模式下,测试TCP/UDP连接STA模式下的程序类似于atk_8266_apsta_test函数,仅仅只是缺少AP模式的主要配置代码。(4)串口连接无线模块和主控制器通过上述串行端口1连接。通过以上四个步骤,Esp-8266完成了组网过程。主控制器通过串口与之相连,使主控制器通过Esp-8266与外界进行通信,智能家居真正实现远程控制。本章小结本章主要介绍了软件设计,介绍了整个软件设计过程,其中也包括了软件设计的各个部分。介绍了软件设计的流程图及各部分的功能。第5章系统软件与硬件调试

系统软件和硬件调试系统调试按照前文叙述的该设计的设计原理以及硬件电路的设计,本章节主要内容为对软硬件的联合调试。5.1.1硬件调试硬件部分开发实物图如下图5-1所示,硬件部分通过J-LINK连接电脑端,将软件烧录进核心芯片中。图5-1硬件开发实物图5.1.2远程端调试首先将手持设备连接硬件核心板的Wi-Fi,然后打开手持端APP,在APP上单击“添加设备”,输入产品名称,选择相应的设备访问方案,完成“新产品”的创建如图5-2所示,。一个产品需要定义产品数据点。数据点指的是一个产品具有的功能抽象,由不同的数据类型表示。例如最简单的设备“开关”具有以下功能:打开和关闭,将其抽象为布尔数据点,0表示关闭,1表示打开,数据点是产品的重要属性,所以产品智能化的第一步是明确产品功能,在平台上逐一创建相应的数据点,对功能进行描述,后续会根据创建的数据点自动生成用于嵌入式开发的MCU协议,并且可以根据自动生成的协议完成智能设备的连接。图5-2添加设备连接上设备后进行相关功能的调试,如图所示,测试相关RGB全彩灯功能、温湿度功能、和电机功能。图5-3功能测试可以验证出RGB三色灯可以正常工作,室内的温湿度可以正常显示,电机可以正常工作。本章小结本章对系统进行了搭建和测试,并对前几章设计的理论技术和网关系统进行了验证。结果与预期一致,证明了网关设计的合理性和稳定性。第6章总结与展望

总结与展望整个毕设过程中还分为选题,设计,实行等相关步骤。首先,在选题前,我查询了学院书馆的大量相关资料,分析了实施的可行性,最后确定了智能家居的选题。后,我开始设计可行的解决方案。在该方案的基础上,运用了单片机基本原理,Keil软件的编译及其在线编译仿真功能等本科专业常识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论