基于stm32的智能家居系统设计与实现_第1页
基于stm32的智能家居系统设计与实现_第2页
基于stm32的智能家居系统设计与实现_第3页
基于stm32的智能家居系统设计与实现_第4页
基于stm32的智能家居系统设计与实现_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

基于stm32的智能家居系统设计与实现摘要:物联网这个概念已经提出有二十多个年头了,当时由于受限于网络不成熟、硬件和传感器设备的发展没有被重视。然而在网络技术成熟、传感器设备强大的今天,物联网技术逐渐进入人们的眼帘,与物联网相关的产业得到了国家的大力支持。智能家居在物联网领域里扮演者重要的角色,家居发展正在逐步向智能化靠拢。 本文从历次的工业革命分析得出,新技术能够改变一个时代的发展,现在我们正处于第四次工业革命的浪潮中,出现了技术井喷的现象,如物联网技术、新能源技术、3D打印、人工智能等。智能家居是物联网技术在家居领域的体现,将在这个时代大放光彩。 顺应时代发展的浪潮,本人设计了一个以STM32F103VC8T6为主控的智能家居应用系统。此系统实现远程控制家电,并将采集的温湿度信息上传云端,然后下发给APP。用户能够在APP上远程改变家电的状态。关键词:STM32,智能家居,物联网

Designandimplementationofsmarthomesystembasedonstm32Abstract:TheconceptoftheInternetofthingshasbeenaroundformorethantwodecades,whenthedevelopmentofhardwareandsensorequipmentwasnottakenseriouslyduetotheimmaturityofthenetwork.However,withthematurenetworktechnologyandpowerfulsensorequipment,theInternetofthingstechnologyhasgraduallycomeintopeople'seyes,andtheindustriesrelatedtotheInternetofthingshavebeenstronglysupportedbythestate.SmarthomeplaysanimportantroleinthefieldofInternetofthings.Fromtheanalysisofpreviousindustrialrevolutions,thispaperconcludesthatnewtechnologiescanchangethedevelopmentofanera.Nowweareinthewaveofthefourthindustrialrevolution,andtherehasbeenatechnologicalblowout,suchasInternetofthingstechnology,newenergytechnology,3Dprinting,artificialintelligenceandsoon.SmarthomeistheembodimentoftheInternetofthingstechnologyinthehomefield,thiserawillbebrilliant.WiththetideofthedevelopmentofTheTimes,IdesignedasmarthomeapplicationsystemwithSTM32F103VC8T6asthemaincontrol.Thissystemrealizesremotecontrolofhouseholdappliances,anduploadsthecollectedtemperatureandhumidityinformationtothecloud,andthensendsittotheAPP.UserscanremotelychangethestatusofappliancesontheAPP.Keywords:STM32,SmartHome,Internetofthings

目录1 绪论 绪论研究背景和意义背景分析人类文明起源至今,共经历过三次加快社会工业化进程的工业革命,每一次工业革命都是人类发展史上浓重的一笔,深深影响着未来社会的发展和未来社会格局。第一次工业革命,蒸汽机被发明和使用大大的促进社会生产力的发展,并预示着传统手工业、交通将会逐渐被蒸汽机取代。由于第一次工业革命促西欧国家的生产力,从而加快西欧国家的资本主义进程,经济得到快速发展,于是在此前提下掀起了第二次工业革命。第二次工业革命主要产物就是电力,在当今社会电力和石油是人类社会发展运作的主要能源,如果全球断电社会将会出现不可预料的动荡,电子设备停运社会治安不能得到保证,违法犯罪事件将会频发。第三次科技革命是新技术发明与发展的大爆发,出现这种现象的重要因素是当时世界处于相对和平的时代、工业化程度日渐加深,带来了科技与经济的高速发展。第三次科技革命时期发明了原子能、电子计算机、空间技术和生物工程,这些技术的发明加深社会的工业程度。随着科技的发展,我们迎来了第四次工业革命,从历次的工业革命中可以得出一个结论:新型技术是未来社会发展的核心。在即将到来的第四次工业革命中,突破性技术热点更是层出不穷:人工智能、生命科学、物联网、机器人、新能源、新材料、3D打印等。孙丽娜孙丽娜.打开第四次工业革命的神奇钥匙[N].中国证券报,2020-01-18(A06).物联网技术是第四次工业革命的核心技术之一,近几年物联网热度不断上升,同样智能家居作为物联网技术的应用之一,同样被社会关注。智能家居概念早就被提出,由于受限于当时的软硬件技术和标准不统一没有被重视。在如今网络技术成熟,传感器丰富且稳定,智能家居再次被人们所重视。据调查欧美国家有一半的家庭已经在使用智能家居了,但是在中国只有3%左右的家庭使用智能家居,对此我国一些大企业都致力于开发智能家居产品。如小米开发的智能家居产品,能够通过小爱同学和手机APP控制家电;阿里巴巴开发的智能酒店,用户可通过天猫精灵控制酒店环境。本课题的研究意义科技的进步、经济的发展使得社会高速发展,并且也在潜移默化的改变人们的生活习惯与生活方式。随着人民生活质量的提高,人们对家居环境和家电得智能化程度要求越来越高,对于住所人们不再满足于它是遮风挡雨的场所,人们希望能够住所能够更加舒适和温馨,空调和冰箱的广泛使用,充分证明此观点。智能家居提供智能化管理,降低家电控制的繁琐性,用户可以充分地、高效地利用资源,减少家庭日常生活中的能耗。而且在当今社会环境下,人们更注重环保与养生,对此用户可通过智能家居来监控室内温度、湿度、PM2.5等,实时检测家居空气质量,提前采取相应的措施。通过智能家居设计可以了解智能家居的发展前景和方向,并且对大学四年所学知识的扩展与巩固,做到学以致用,同时还能够积累各种传感器是使用经验,提升自身能力。课题研究方法和内容研究方法本课题使用的研究方法如下: 调查法:调查智能家居的发展历程与市场前景,并且调查智能家居的成功案例,了解成功案例的功能以及实现方法。 文献研究法:通过网络、书籍、论文、报刊等途径,了解智能家居的市场前景、推广程度、以及研发历程。提前了解智能家居的市场需求和技术需求,为下一步程序设计、编写、调试提供明确的方向。 实验法:实验能够发现、确认事务之间联系。通过调查和文献研究可以了解到智能家居的基本功能,根据智能家居的基本功能,再结合自身能力动手设计智能家居系统应用,主要涉及系统逻辑设计、代码编写、接口设计、传感器使用。研究内容本论文一共分为五个部分,具体内容安排如下:第1章:绪论。主要介绍论文的研究背景,从工业革命角度分析智能家居的历史背景、发展前景。同时也分析智能家居在第四次工业革命中扮演的角色,得出智能家居的研究意义。第2章:系统分析。对智能家居课题的系统需求分析,通过调查研究,对智能家居系统的综合描述、市场需求分析、功能需求分析、技术可行性。第3章:智能家居硬件设计。根据需求分析确认本课题研究内容的主要功能及实现方法,进行总体功能设计。然后进行CPU选型,传感器其等外设的选择。根据外设选择进行硬件设计,首先根据所选外设的通信方式来进行GPIO口的选择。第4章:智能家居软件设计。首先,先规划系统流程。其次,编写各个模块的底层驱动。然后,STM32利用ESP8266接入机智云平台。最后,根据系统流程图编写代码。第5章:系统测试。配置好开发板串口1,方便用来打印调试信息。开始调试各个模块,并用串口1打印调试信息。模块调试通过后,编写系统流程代码并调试。第6章:结论。总结本次智能家居应用设计的收获、困难和不足。系统分析需求分析市场需求由十九大的报告可以看出,人们的生活水平在上升,人们生活所需物质丰富。为此,人们将会有更多更好的物质需求。衣食住行与人们密切相关,智能家居就是“住”的表现之一。未来智能家居能够普及到每一个家庭,到那时人们不会觉得智能家居是虚幻的、难以理解的,它是被人们理解和所需的。目前家居都在向智能靠拢,就拿洗衣机来说从当初的半自动升级为全自动,而现在正在向智能靠拢,用户可用手机APP选择洗衣机的洗衣、甩干、消毒等功能。随着科技发展,智能家居将会进一步完善。智能家居的研发成本和生产成本将会越来越低,这也就预示着将来大部分家庭都会进入智能化时代。到那时,智能家居系统将会更加智能,它将会被植入AI技术实现人工智能,从而摆脱事事都需要人为操作的时代,如它可以根据大数据分析用户每个时间段在家里某个房间停留的时间长度、时间段、频率,并结合当前温湿度,通风条件等因素来智能控制房间里的各种参数,实现AI智能管理。在未来随着智能家居的智能化程度提升,智能家居的市场需求将会越来越广阔,智能家居技术相当于在家雇佣了一个电子保姆,全年无休为用户提供最全面的服务。功能需求智能照明控制:灯光是一个家庭中最基础的部分,生活中经常会出现忘关灯现象,用户就希望能够实现远程控制灯光的亮灭,减少能源损耗。智能门窗控制:每天手动开启窗帘太过于繁琐,并且用户希望外出时可通过APP查看窗帘状态,根据用户需求实现远程控制,可以使用APP按照百分比来控制窗帘。进入家里需要用到钥匙开启,有时忘带钥匙锁在门外,用户希望通过密码锁、指纹锁或手机APP控制门的开启与关闭,能够有效解决被锁门外的情况。智能环境控制:家居环境是否舒适是判定智能家居系统好坏的重要指标之一。气候随着季节而变化,温度湿度都会发生变化,用户希望系统能够实时采集室内温湿度,并将温湿度显示在屏幕上,用户可根据自己需求控制室内温度和湿度。目前绝大部分家庭都在使用煤气,室内气体环境监控也被人们需求,人们希望能够实时监测室内煤气是否泄漏,是否失火。系统将警报实时上报,用户可以第一时间知道警报信息。可行性分析技术可行性分析本次课题设计外设用到的GPIO口较多,STM32F103VC8T6有100引脚,其最高主频能够达到72MHz,具有处理能力强、处理效率高等特点。因此选择STM32作为主控。本次课程设计运用到的外设都是市面上常见的模块,能够稳定运行于STM32开发板。通过功能需求分析本次设计需要用到温湿度测量技术、烟雾测量技术、指纹识别技术、远程控制等技术,利用远程技术将数据上传云端,然后下发给APP,各外设与STM32使用SPI、UART通信,所用技术都是学校和公司实习所学。智能家居硬件设计通过技术可行性分析,确定本次课题设计的功能是STM32采集温湿度数据,并在LCD屏幕上显示温度和湿度;采集烟雾数据实现报警功能;采集指纹实现指纹开锁功能;语音播报模块在系统中充当提示工具;通信模块实现用户与单片机之间的远程交互。总体设计根据课题设计功能描述,设计智能家居系统,此系统主要架构通过STM32采集温湿度数据上报给机智云,并使用LCD显示温湿度;指纹模块控制门的开、关;采集烟雾值监控家居环境;APP端显示温湿度,可控制门、窗帘和LED灯。如图3-1是智能家居系统架构图。图STYLEREF1\s3SEQ图\*ARABIC\s11智能家居系统架构图根据图3-1,最终确定本次实验用到的外设模块分别为DHT11温湿度模块、MQ2烟雾模块、AS608指纹模块、LCD模块(JXL12864)、语音播报模块(JQ8900)、LED灯、ESP8266通信模块以及步进电机。结合功能需求和系统架构图,可将整个系统使用的硬件分为四个模块,分别为灯光模块、环境模块、门控模块、窗帘控制模块。表3-1列举出各模块所需外设。模块硬件设计通用模块硬件设计根据表格3-1可得知,系统模块所需外设中有两个通用模块,分别为通信模块和语音播报模块。语音模块在系统中起辅助功能,通信模块功能是与机智云通信的介质。表STYLEREF1\s3SEQ表\*ARABIC\s11系统模块所需外设系统模块涉及到的外设模块灯光模块LEDJQ8900语音播报ESP8266按键环境模块DHT11温湿度JQ8900语音播报ESP8266MQ2烟雾LCD门控模块步进电机JQ8900语音播报ESP8266指纹模块按键窗帘控制模块步进电机JQ8900语音播报ESP8266JQ8900语音播报模块支持MP3、WAV硬件解码,支持FAT文件系统。JQ8900拥有24位DAC输出,并且其内部采用DSP硬件解码。并且控制模式多样,不仅支持按键控制,而且支持串口指令模式。程序员可以通过串口发送相关指令达到语音的多样化控制,如顺序播放、循环播放、指定播放等功能。图3-2是JQ8900与STM32连接的原理图。图STYLEREF1\s3SEQ图\*ARABIC\s12JQ8900应用原理图在本系统中语音播报模块使用串口与STM32通信,JQ8900与STM32的接口分别为PB10和PB11,它在系统中的作用是播报提示信息和警告信息,来辅助系统功能。ESP8266原理图如图3-3所示。通讯模块是STM32与机智云之间通信的桥梁。在此系统中ESP8266负责数据的上传和下发,其功能类似于路由器。ESP8266不仅性价比高、适用范围广且性能稳定,能够适应各种操作环境,而且存储速度快和处理能力强。ESP8266与STM32通过串口通信,它们之间的接口定义如表3-2所示。表STYLEREF1\s3SEQ表格\*ARABIC\s12ESP8266接口定义STM32接口ESP8266接口PA2(TX)RXPA3(RX)TX图STYLEREF1\s3SEQ图\*ARABIC\s13ESP8266原理图灯光模块硬件设计LED灯主要作为模拟灯光和提示灯来使用,对应接口为PA1、PC1、PC2、PC4、PC5。用LED灯来模拟家庭环境灯光、提示灯和警报灯。其中警报灯配合系统中的环境模块使用,提示灯配合通信模块使用。环境模块硬件设计环境模块分为温湿度部分、烟雾部分、语音模块和LCD点阵屏模块。根据需求和性价比,温湿度模块选择使DHT11,烟雾传感器使用MQ2-135,LCD使用JLX12864。DHT11温湿度传感器有专用的采集技术,保证数据的可靠性。DHT11模块具有长期稳定性、封装简单、误差率小、接线简单、低功耗和响应速度快等优点,并且它的应用领域非常广,可用于家庭、教育、工业、玩具等领域。温湿度模块共有3个接口,其中两个接口为模块供电,还有一个接口(DATA)用来数据传输。STM32通过PA4与DHT11模块的DO口连接,DHT11与STM32之间使用单总线进行通信,DO既是发送口,又是接收口。原理图如图3-4所示。图STYLEREF1\s3SEQ图\*ARABIC\s14DHT11原理图MQ2灵敏度极高,使用时操作简单,并且它检测范围广能够有效检测烟雾、酒精、液化气等有害气体,所以MQ2被广泛应用于家庭、工厂、酒店等场所。本次实验中烟雾传感器主要作用是检测一氧化碳等有毒气体是否超标,在此实验中用到的是DO口,即空气中的有害气体达到一定值时DO口由高电平转换为低电平。MQ2的DO口与STM32的PA0相接,只要检测PA0口的状态就能实现家庭环境报警功能。当环境中有害气体超标时调用语音播报模块和通信,并开启警报灯将警报信息上传APP,使用按键解除烟雾警报,解除警报的接口为PA5。MQ2与STM32的原理图如图3-5所示。图STYLEREF1\s3SEQ图\*ARABIC\s15MQ2原理图LCD模块选用JLX12864,JLX12864是黑白点阵屏,这款芯片功能并不算很强大,不带字库,并且最多只能显示32个中文文字。但是芯片价格便宜,并且本次实验只是用来显示温湿度数据,不需要使用太多中文,完全可以不使用字库,从而降低产品成本。JLX12864与STM32使用SPI串口通信,JLX12864与STM32之间的接口定义如表3-3所示,LCD模块原理图如图3-6所示。表STYLEREF1\s3SEQ表格\*ARABIC\s13JLX12864接口定义STM32接口LCD模块接口PB5CSPB6SIDPB7SCLKPB8RSBPB9PSB图STYLEREF1\s3SEQ图\*ARABIC\s16JLX12864与STM32的接口原理图窗帘控制模块硬件设计窗帘控制由步进电机、JQ8900语音播报、ESP8266共同完成开启和关闭窗帘操作,APP通过ESP8226下发窗帘开启程度百分比,控制窗帘状态。窗帘控制DRV8833与STM32之间的接口定义如表3-6所示。表STYLEREF1\s3SEQ表\*ARABIC\s12窗帘控制DRV8833接口定义STM32接口DRV8833接口PD8INT1PD9INT2PD10INT3PD11INT4图STYLEREF1\s3SEQ图\*ARABIC\s17DRV8833电机驱动原理图门控模块硬件设计根据表3-1可知门控模块需要用到的外设有步进电机、JQ8900语音播报、指纹模块、ESP8266通信模块和按键。门控模块主要实现的功能:指纹、按键、APP控制门的开启和关闭,JQ8900播报提示信息。指纹模块选用的是AS608光学指纹识别模块,这款新片拥有内部存储设备,断电数据不丢失,并且最多能够存取300个指纹。AS608能精准快速识别指纹,并且这款新片集成了指纹识别算法开发人员不用去研究指纹识别的复杂算法,通过串口发送指令完成指纹删除、录入和识别功能,此产品广泛应用于家庭、企业、门禁等场所。AS608与STM32之间的接口定义如表3-4所示。表STYLEREF1\s3SEQ表格\*ARABIC\s14AS608接口定义STM32接口AS608接口PA6WAKPC10(TX)RXPC11(RX)TX步进电机选用5线4相步进电机,步进电机能够对旋转角度进行调控,并且它的力矩大能稳定驱动门窗系统。步进电机需要用到驱动芯片驱动,本次实验选用DRV8833作为驱动芯片,根据图3-7可知DRV8833具备低功耗、短路保护、故障保护等功能,并且DRV8833提供较好的稳定性,能够稳定驱动步进电机。门控DRV8833与STM32之间的接口定义如表3-5所示。表STYLEREF1\s3SEQ表格\*ARABIC\s15门控DRV8833接口定义STM32接口门控DRV8833接口PD4INT1PD5INT2PD6INT3PD7INT4智能家居软件设计智能家居逻辑由以下几点构成:灯光模块设计:用LED灯模拟家庭灯光,用户通过APP控制LED的亮灭,开或关灯操作完成后语音提示当前灯光状态。环境模块设计:MQ2烟雾传感器检测厨房CO是否泄漏,如果浓度超标开启警报灯,将警报信息上传机智云,并播报警报信息,当警报信息处理后用户可通过按键关闭警报灯。利用定时器每小时采集一次温湿度数据,将温湿度数据上报机智云并且显示在LCD屏幕上,并且判断温度是否在10℃-29℃之间,如果不在此范围则播报相应的提示信息,同样判断湿度是否在30%-70%之间,如果不在此范围则播报相应的提示信息。门控模块设计:通过按键、指纹、APP控制门的开/关。当使用按键开门时,程序首先判断门的状态,实现开门或关门操作,并将门的状态上报机智云;APP也能够控制门的开启和关闭;指纹识别只能实现开门功能,当指纹识别成功时,语音提示验证成功,并且判断门是否打开,如果门关闭则执行开门操作;如果门已打开则语音提示门已打开;如果指纹识别失败则提示验证失败,不进行开门操作。窗帘控制模块设计:APP可以通过百分比来控制窗帘打开程度,操作完成后语音提示操作完成。APP:本次实验中使用机智云官方提供的APP,通过为ESP8266配网后,APP能够根据云端下发数据点创建视图,视图以云端的数据点为准。模块软件设计通用模块软件设计本次智能家居应用设计是基于机智云平台开发的,如果要实现远程控制,就必须要实现工程接上机智云平台。实验中用ESP8266模块作为桥梁接入机智云,因此需要对ESP8266进行配网,配网模式有多种。通信模块与STM32使用串口通信,为保证能够配网成功,就必须保证ESP8266与STM32之间的串口通讯是正常的,STM32与ESP8266之间的串口设置波特率为9600bps、无硬件流控制、无奇偶检验、1个停止位,数据发送格式为大端模式。通信数据包格式分为:包头+包长度+命令+包序号+Flags+有效负载+校验和。作为发送方除了包头,如果其他数据出现0xFF,需在0xFF后添加0x55,作为接收方遇到0xFF后将0xFF后面的0x55移除。STM32每隔一段时间将会上报当前状态,其数据包格式为:包头+包长度+命令+包序号+flags+校验和。图4-1是发送方的代码实现。图STYLEREF1\s4SEQ图\*ARABIC\s11发送方代码实现机智云官方提供两种方式为ESP8266配网,通过串口发送SoftAP(0x01)或AirLink(0x02)指令,让ESP8266进入配网模式,配网成功后STM32可通过ESP8266对接机智云。语音播报模块利用是利用串口发送指令控制指定语音播放,语音命名格式为四位数,如“0001.mp3”。一个完整的数据包共5个或6个字节。4-2图是播放特定语音的函数流程图。图STYLEREF1\s4SEQ图\*ARABIC\s12语音播报流程图灯光模块软件设计根据表3-1可以知道灯光模块,由语音模块、LED、通信模块完成开/关灯操作,通过模块功能设计了解关于灯光实现的功能。本小结将对LED灯的相关操作,封装成函数,方便系统功能调用。灯光函数由LED灯和JQ8900语音播报模块协同实现功能,在LED灯操作完成后结合语音播报达到语音提示功能,同时语音播报能够辅助系统功能调试。如图4-3是开启LED灯的函数流程图,关LED灯的流程与图4-3相似。图STYLEREF1\s4SEQ图\*ARABIC\s13开启LED函数流程图环境模块软件设计DHT11温湿度模块采用单数据总线实现数据传输,DHT11只有在接收到开始信号后才会开始采集数据,不然它将处于睡眠状态。根据图4-4DHT11数据时序图可知,主机信号拉低发送开始信号,接着将其拉高,一段时间后将总线设置为输入模式等待DHT11的应答信号,并且等待DHT11传输采集的数据,接收完成后将总线拉高发送结束信号,温湿度数据占4个字节。温度和湿度整数部分各占1个字节的数据,同样温度和湿度小数部分也各占1个字节的数据,由于小数部分是扩展部分初始值为0,所以系统中只使用整数部分。根据图4-4和DHT11的数据手册可以完成DHT11温湿度读取函数,其函数流程图如图4-5所示。图STYLEREF1\s4SEQ图\*ARABIC\s14DHT11数据时序图图STYLEREF1\s4SEQ图\*ARABIC\s15温湿度读取函数流程图根据JLX12864的数据手册,可以从中了解到LCD是按照页地址和列地址来控制LCD的显示。JLX12864采用共阴极方式,它将点阵屏分为64行128列,用户可以根据产品需求设置显示的对比度。图4-6是LCD显示数据的函数流程图,该函数可传入参数控制LCD显示温湿度。MQ2烟雾传感器相关操作主要是开启警报灯,并提示警报信息,该功能调用4.3.1编写的开/关灯函数就能实现,并且需要为其配置外部中断,当环境有害气体超标时触发。一般MQ2报警都是在危机情况下触发,所以MQ2相关的外部中断优先级必须是系统中处于最高级别。图STYLEREF1\s4SEQ图\*ARABIC\s16LCD显示函数窗帘模块外设软件设计窗帘模块需要实现百分比开启窗帘功能,本次实验中设定步进电机的总步数为一定值,通过数学转换将总计数值分为100份,实现百分比开启窗帘。窗帘操作函数中,用全局变量存取当前窗帘开启程度,执行操作时判断窗帘开启程度与目标值的大小,选择开窗帘或关窗帘操作。函数流程图如图4-7所示。图STYLEREF1\s4SEQ图\*ARABIC\s17开窗函数流程图门控模块软件设计可以通过按键、指纹、APP来控制门的开启和关闭,其中涉及的功能函数共五个,分别为开门函数、关门函数、指纹识别函数、录入指纹函数、按键初始化函数。根据4.2的模块功能介绍,来编写相关应用程序。开门函数:在门开启状态,不执行开门操作;在门关闭时,执行开门操作。关门函数:在门关闭状态,不执行关闭操作;在门开启时,执行关闭操作。系统中有指纹开锁功能,需要使用到AS608指纹识别功能,当检测到有指纹时,STM32发送指令让AS608获取指纹,然后等待AS608生成指纹,搜索指纹库并对比指纹,如果指纹一致执行开门操作,指纹不一致则退出。如图4-8是AS608指纹识别的函数流程图。为了实现指纹识别必须录入指纹,AS608录入指纹的原理是发送两次采集指纹的指令,采集到两次指纹后,判断两次指纹是否一致,如果两次指纹一样则将指纹保存在指纹库中。录入指纹函数流程图如图4-9所示。图STYLEREF1\s4SEQ图\*ARABIC\s18录入指纹函数流程图图STYLEREF1\s4SEQ图\*ARABIC\s19录入指纹函数流程图系统功能设计智能家居系统,各功能都是在有需求才调用,因此CPU不用每时每刻去检测有没有某项操作请求,故此此次课题采用中断来实现灯光模块、环境模块、门控模块和窗帘模块的相关操作。表4-1描述了不同模块使用的中断类型以及中断服务函数实现功能。表STYLEREF1\s4SEQ表格\*ARABIC\s11系统中断类型和中断功能模块中断类型实现功能环境模块外部中断0检查煤气是否泄漏外部中断5关闭警示灯定时器中断每小时更新温湿度门控模块外部中断7按键开门或关门外部中断6指纹开门串口2中断下发录入指纹指令窗帘控制模块串口2中断下发窗帘状态灯光模块串口2中断下发灯光状态灯光模块系统功能设计根据4.2智能家居逻辑中描述灯光是通过APP端控制控制。此过程需要用到ESP8266下发云端的数据,通过switch做分支选择,实现对应功能。函数示例代码如图4-10所示。图STYLEREF1\s4SEQ图\*ARABIC\s110灯光操作函数示例环境模块系统功能设计根据表4-1了解到环境模块系统功能用到定时器中断和外部中断。当MQ2烟雾传感器检测空气有害气体浓度超标时触发外部中断0中断,外部中断0服务函数主要的工作是开启警报灯、将警报信息上报机智云、语音播报警告信息。如图4-11是外部中断0服务函数的程序流程图。图STYLEREF1\s4SEQ图\*ARABIC\s111外部中断0函数流程图当触发烟雾警报时,警报灯开启并等待工作人员处理,当问题处理完后需要关闭警报灯,并上报问题已解决。如图4-12是外部中断5服务函数流程图。图STYLEREF1\s4SEQ图\*ARABIC\s112外部中断5服务函数流程图环境温湿度数据往往指的是一段时间内的温湿度数据,所以温湿度数据不需要不间断的采集。于是采用定时器实现每小时采集温湿度数据,并将温湿度上报机智云,这样既减少硬件能耗,又提高了硬件使用效率。DHT11、语音播报、LCD、定时器共同完成温湿度模块的系统功能,系统采集温湿度失败次数超过200,则舍弃本次操作;如果采集成功,将更新APP端和LCD端的温湿度数据。如图4-13是定时器函数流程图。图STYLEREF1\s4SEQ图\*ARABIC\s113定时器函数流程图门控模块系统功能设计系统中用户可通过3种方式控制门的开和关,分别为指纹开门、按键开/关门、APP开/关门,根据表4-1这3种方式都是利用中断来实现。本次实验使用到指纹识别模块,其中自然少不了指纹录入、删除、识别等功能。实验中利用外部中断6实现指纹识别和对应的功能,当检测到指纹时触发外部中断,获取指纹并进行匹配。如果匹配成功则执行开门操作,如果匹配不成功则语音播报验证失败。外部中断6实现指纹开门功能,其函数流程图如图4-14所示。图STYLEREF1\s4SEQ图\*ARABIC\s114外部中断6函数流程图起初选择使用按键实现指纹录入功能,但是一个按键控制录入多个指纹时,操作复杂容易出现问题,并且如果操作不当会出现混乱,降低用户体验感,于是选用APP控制多指纹录入,增加用户与系统的交互,提高用户体验感。如图4-15是录入指纹的程序流程图。用户在室内时如果要开/关门要通过APP实现,加大了操作繁琐性,更加违背了智能家居应用设计的初衷,所以在室内添加了一个外部中断控制门的开/关。如图4-16是外部中断7服务函数流程图。图STYLEREF1\s4SEQ图\*ARABIC\s115录入指纹函数流程图STYLEREF1\s4SEQ图\*ARABIC\s116外部中断7服务函数流程图窗帘模块系统功能设计窗帘模块的控制方式和灯光模块的控制相似,同样是利用串口中断2接收事件类型,通过switch函数实现开/关窗帘操作。图4-17是窗帘操作函数的应用。图STYLEREF1\s4SEQ图\*ARABIC\s117窗帘操作函数应用 系统测试系统测试流程分为以下几个步骤:(1)灯光模块测试:用APP下发数据测试,控制灯光亮灭,同时聆听语音播报内容,检测播报内容是否正确。(2)环境模块测试:DHT11温湿度模块,首先利用串口打印温湿度数据,确认DHT11温湿度读取函数是否编写正确,然后下载系统程序,将温湿度数据显示在LCD上,并上报机智云。观察LCD内数据与APP端数据是否一致。(3)门控模块测试:测试按键、指纹、APP同时对门进行操作,观察是否出现冲突。(4)窗帘模块测试:首先测试窗帘全部收拢时的计数值,然后测试APP能否实现百分比控制窗帘。灯光模块测试图5-1是APP端画面,图5-2是用APP点亮的客厅灯。测试过程中发现,如果频繁切换LED灯状态,LED和语音播报能够快速响应,做到系统的实时性。在频繁改变LED状态的过程中语音播报会打断上条正在播放的语音,做到实时播报。图STYLEREF1\s5SEQ图\*ARABIC\s11APP开启LED灯图STYLEREF1\s5SEQ图\*ARABIC\s12客厅灯环境模块测试MQ2烟雾传感器测试:用香烟测试MQ2烟雾传感器的温湿度灵敏度,当遇到浓烟时触发警报,此时语音播报警报信息,同时开启警报灯,并将警报信息上传机智云,APP端会弹出警报信息。如图5-3是烟雾报警灯开启状态,图5-4APP弹窗显示警报信息。图STYLEREF1\s5SEQ图\*ARABIC\s13烟雾报警灯图STYLEREF1\s5SEQ图\*ARABIC\s14APP弹窗显示报警信息DHT11温湿度测试:首先烧录DHT11测试程序,利用串口调试工具测试打印温湿度数据,然后在烧录系统程序观察LCD内显示的数据是否与APP端一样,最后手动传传入温湿度上限和下限值,测试温湿度上下限逻辑是否正确。如图5-5是利用串口打印的温湿度数据。图STYLEREF1\s5SEQ图\*ARABIC\s15串口打印温湿度数据修改定时器的计数初值将定时其修改成10分钟中断一次,观察LCD和APP内的温湿度数据是否一致,如图5-6和图5-7分别是LCD显示的温湿度数据和APP端温湿度数据。根据图5-6和5-7可知APP端和LCD端温湿度一致,说明在LCD屏幕上显示的数据和APP端显示的数据是同一组数据。手动修改温湿度数据,修改温度和湿度的值,使温度和湿度低于下限值,语音播报温度过低和湿度过低;然后修改温度和湿度值,使温度和湿度高于上限值,语音报温度过高和湿度过高,验证温湿度上下限值的逻辑没有错误。图STYLEREF1\s5SEQ图\*ARABIC\s16LCD显示温湿度图STYLEREF1\s5SEQ图\*ARABIC\s17APP端温湿度数据门控模块测试通过APP下发录入指纹指令,此功能可以实现录入多个指纹,APP端选择录入指纹的ID,AS608共支持存储300个指纹,完全能够满足日常使用需求。当指纹录入成功时,语音提示指纹录入成功;当指纹录入失败时,语音提示指纹录入失败。APP端选择录入指纹的ID,选择好后打开录入指纹按钮,录入指纹。如图5-8是APP端录入指纹操作图,如图5-9是录入指纹和指纹识别的串口打印图。录入指纹后,同时利用APP、按键、指纹控制门的状态,在门开启或关闭期间其他开或关门操作不会影响本次。使用按键或指纹改变门状态时,只有当本次操作完成后,按键、指纹和APP才能再次对门进行操作。当使用APP频繁改变门的状态时,只有在本次操作完成后才会开执行下一次操作。当门在开启或关闭期间,其他操作不能改变当前操作,这与系统设计时设想的一样。如果门在开启或关闭到一半时,执行与此相反的操作会增加门控模块的损耗。图STYLEREF1\s5SEQ图\*ARABIC\s18APP端录入指纹操作图图STYLEREF1\s5SEQ图\*ARABIC\s19指纹识别测试窗帘模块测试首先测试窗帘全部收起来时的计数值,这个值为1024,然后APP端通过百分比控制窗帘的状态,每一次操作完成后语音提示操作完成。图STYLEREF1\s5SEQ图\*ARABIC\s110APP开启窗帘图STYLEREF1\s5SEQ图\*ARABIC\s111按比例开启窗帘测试结果灯光模块、环境模块、门控模块和窗帘模块的整体功能符合实验设计要求,但是将各功能整合在一起时出现以下冲突:(1)STM32不能对接机智云,经过排查发现串口1必须先初始化,不然初始化机智云相关配置时会一直卡在printf函数。(2)烟雾传感器需要预热24小时,系统刚上电会出现测量错误,导致报警。(3)系统刚上电DHT11需要经过多次采集才能获取正确数据,如果不进行多次采集会出现LCD乱码的现象。结论本论文从历次工业革命中分析,得出智能家居在第四次工业革命中扮演者重要的角色,并且我相信智能家居必定是未来家电中发展中的一匹黑马,现在有些洗衣机、冰箱等家电正在朝着智能家居发展,用户能够为其配网,并通过APP控制。 通过社会背景和需求分析,了解当经社会科技的发展趋势。在未来智能化设备将会取代大部分半智能设备和手工设备,并且通过人们对智能家电的需求分析我们可以了解到家居智能化已经是这一行业必然的发展方向。 并且根据技术可行性分析决定本次课题设计来模拟智能家居应用场景,利用STM32+机智云实现远程控制遥控,烟雾传感器监测家居空气质量,指纹和APP实现了门和窗帘的智能化控制,并且使用语音播报来提示用户。本次实验的优点是实现了远程控制家电,随时随地远程控制家电是智能家居的基础。但本次实验还存在很多需要良的地方,例如声音方面只是做到了播放语音,可以在这个基础上添加语音识别类似于智能音箱,还可以添加人脸识别等技术。参考文献:[1]凌滨,王战金,张树帅,李云龙.基于云平台的智能家居系统研究与实现[J].科技创新与生产力,2019(12).71-73+76.[2]孙海林.基于STM32的智能家居控制系统[J].科技风,2018(36).96.[3]李志凯,江桂升,余丽红,黎建华.基于STM32的智能家居控制系统设计[J].电脑与电信,2018(12).4-7.[4]朱利娟.基于STM32的智能家居控制系统设计与研究[D].西藏大学,2018.[5]刘海峰.基于STM32单片机的智能家居控制系统设计以及实现研究[J].技术与市场,2017,24(09).156+158.[6]彭皆彩.基于STM32的智能家居系统[P].安徽:CN205644864U,2016-10-12.[7]邓中祚.智能家居控制系统设计与实现[D].哈尔滨工业大学,2015.[8]张西安.基于物联网的智能家居系统设计与实现[D].大连理工大学,2014.[9]张召.基于STM32的智能家居控制系统设计[D].南昌航空大学,2014.[10]刘鹏飞,刘云学.基于STM32的智能家居系统[J].光电技术应用,2013,28(03).55-60.[11]孙丽娜.打开第四次工业革命的神奇钥匙[N].中国证券报,2020-01-18(A06).[12]HaoYin.SmartHomeSmokeDetectionandRelayContractbasedonSTM32[P].Proceedingsofthe20165thInternationalConferenceonEnvironment,Materials,ChemistryandPowerElectronics,2016.[13]HaoYin.SmartHomeHardwareDesignbasedonSTM32[P].Proceedingsofthe20162ndWorkshoponAdvancedResearchandTechnologyinIndustryApplications,2016.致谢: 时光匆匆,转眼间4年过去了,4年前我曾带着高三对大学的憧憬来到了松田,这四年有太多的回忆,有欢喜的,也有忧愁的。四年前踏入校门的场景仿佛就在昨天,时间飞逝,转眼间到了分别的时候了。我在这四年里收获了友情、师生情、兄弟情。在这里我由衷的感谢我的指导老师—张亚林老师,亚林老师见证了我实验的开始到完成,在此过程中不辞辛劳给我诸多指导意见,毕业设计从选题到完成,其中离不开亚林老师的意见。同时感谢我的舍友,让我的大学生活不至于太过枯燥。最后,我由衷的感谢我的父母,感谢他们辛勤的付出,感谢他们支持我的学业,感谢他们在背后默默的支持我。

电脑无法识别U盘该怎么办HYPERLINK电脑无法识别U盘怎么办?打开我的电脑上单击右键,在快捷菜单里,选择“管理”,打开“计算机管理”窗口。在计算机管理窗口里,选择“存储”下面的“磁盘管理”,如果看得到没有盘符的U盘,那么在这个U盘上按鼠标右键,选择“更改驱动器名称和路径”选项,就打开了“更改……的驱动器号和路径”对话框。再点击“更改”按钮,打开“更改驱动器号和路径”的对话框,在“指定以下驱动器号”的右边下拉列表里,选择你希望分配给U盘的驱动器号,尽可能靠后选择,比如X、Y、Z,选择好后,单击确定按钮,回到上一次“更改……的驱动器号和路径”对话框窗口,再一次单击确定,就回到“计算机管理”窗口。至此,如果一切正常,就给U盘单独设置了一个长久使用的驱动器号,并却,不受虚拟驱动器的影响了。建议将U盘插到电脑上,看任务栏中是否显示图标,如果显示,在我的电脑点右键查看属性——高级——硬件——设备管理器——查看里面是否有问号的设备,在问号设备上点右键——更新驱动程序然后下一步——否暂时不连接到网络——下一步自动安装软件(推荐)就可以了另外:系统不认U盘的几种处理方法1.禁用主板usb设备。管理员在CMOS设置里将USB设备禁用,并且设置BIOS密码,这样U盘插到电脑上以后,电脑也不会识别。这种方法有它的局限性,就是不仅禁用了U盘,同时也禁用了其他的usb设备,比如usb鼠标,usb光驱等。所以这种方法管理员一般不会用,除非这台电脑非常重要,值得他舍弃掉整个usb总线的功能。但是这种屏蔽也可以破解,即便设置了密码。整个BIOS设置都存放在CMOS芯片里,而COMS的记忆作用是靠主板上的一个电容供电的。电容的电来源于主板电池,所以,只要把主板电池卸下来,用一根导线将原来装电池的地方正负极短接,瞬间就能清空整个CMOS设置,包括BIOS的密码。随后只需安回电池,自己重新设置一下CMOS,就可以使用usb设备了。(当然,这需要打开机箱,一般众目睽睽之下不大适用~~)2.修改注册表项,禁用usb移动存储设备。打开注册表文件,依次展开"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci”双击右面的“Start”键,把编辑窗口中的“数值数据”改为“4”,把基数选择为“十六进制”就可以了。改好后注销一下就可以看见效果了。为了防止别人用相同的方法来破解,我们可以删除或者改名注册表编辑器程序。提示:“Start”这个键是USB设备的工作开关,默认设置为“3”表示手动,“2”是表示自动,“4”是表示停用。3.在computermanagement里将removablestorage的使用权限禁止。computermanagement是一个windows管理组件,可以在控制面板——管理工具——计算机管理打开。在该工具窗口中storage——removablestorage——property中,general项,可以控制系统托盘是否显示security则可以管理移动存储设备的使用权限。在security中将普通用户的使用权限降低,就可以达到禁用u盘的目的。破解的方法也很简单,管理员降低普通用户移动存储设备的使用权限,但未必禁用computermanagement的使用权限。普通用户可以通过这个工具解除usb移动存储设备的使用权限限制。另外,值得一提的是,如果u盘插到电脑上后可以驱动,但是我的电脑里却没有盘符,很有可能是管理员改动了u盘的默认盘符,使得我的电脑不能识别。这种情况,可以在movablestorage中看到u盘驱动器。可以在u盘驱动器属性设置里为u盘重新分配一个盘符,再重新插拔一次u盘,就可以在我的电脑里看到u盘的盘符了。一、首先可以将该U盘换到别的机器上,看使用是否正常。如果排除了硬件损坏的可能,一般就是软件方面有问题。在WindowsXP+SP1操作系统下,有些USB2.0设备的确常常出现工作不稳定的问题,可以试试安装设备自带的USB2.0驱动程序。另外最好不要使用USB延长线,防止因为供电不足而造成不稳定现象。如果仍无效,可以在主板BIOS设定中,将USB接口强行设置为USB1.1传输速率。二、(适用于WIN98)启动计算机,进入主板BIOS设置,检查BIOS中USB的相关选项是否已经打开:OnChipUSB设定为Enabled;USBController设定为Enabled;PNPOSInstalled设定为Yes;AssignIRQForUSB设成Enabled。要正常使用USB设备首先要开启USB接口,在主板BIOS里可以进行此项工作,一般来说只需在BIOS中进入ChipsetFeatures设置,并将USBKeyborad/MouseLegacy选项设定为Enable,就能够保证在操作系统下使用USB键盘了。这些选项的作用是打开主板芯片组对USB设备的完全支持,为系统识别USB设备做准备工作。三、USB口接触不好处理办法:拔下,等十秒钟再插上USB口,使接触完好;五、闪存盘驱动程序没有安装完成(WIN98系统下)处理办法:鼠标点“我的电脑”,选择属性找到“通用串行总线”,删除其中的USBMASSSTORAGE项,再点击“刷新”,然后按照提示重新安装一次驱动程序。六、接其它USB设备(如扫描仪、打印机、数码相机)时可以正常使用,接优盘时闪指示灯不亮,不能够使用。1、检查优盘与电脑的联接是否正常,并换用其它USB接口测试。2、检查设备管理器,看是否出现”通用总线设备控制器”条目,如果没有,请将电脑主板BIOS中USB接口条目*激活(ENABLE)。3、如果电脑安装过其它类型USB设备,卸载该设备驱动程序,并首先安装优盘驱动程序。4、到其它电脑试用此优盘,确认是否优盘不良。七、启动型优盘在的电脑上无法实现启动,可能是主板型号不支持。如何判断一块主板是否支持闪存盘启动系统启动型优盘是采用模拟USB软驱和USB硬盘的方式启动电脑的。只要电脑主板支持USB设备启动,即BIOS的启动选项中有USB-FDD、USB-HDD或是其它类似的选项,就可以使用启动型优盘启动电脑。八、第一次在电脑上使用优盘,未出现提示发现新硬件的窗口,驱动程序无法安装的原因可能是:1、主板usbcontroller未启用解决办法:在电脑主板BIOS中启用此功能。2、usbcontroller已经启用但运行不正常解决办法:在设备管理器中删除”通用串行控制器”下的相关设备并刷新。3、优盘被电脑识别异常,在设备管理器中表现为带有黄色?或!的”其它设备”或“未知设备”。解决办法:删除此设备并刷新。九、大容量的U盘(例如兼具MP3播放器或录音功能的U盘)或移动硬盘在电脑上无法正常使用,虽然系统提示找到了未知的USB设备,但无法正确识别U盘或移动硬盘。原因可能是:1.USB接口供电不足:系统为每个USB接口分配了500mA的最大输出电流,一般的U盘只需要100mA的工作电流,因此在使用过程中不会出现什么问题。大多数移动硬盘所使用的是普通的2.5英寸硬盘,其工作电流介于500mA~1000mA之间,此时假如仅仅通过USB接口供电,当系统中并无其他USB设备时,那么还是可以勉强使用的,但如果电压不稳的话,就随时可能出现供电不足的问题。特别是使用支持USB2.0的移动硬盘时,情况最为严重。另外,如果你的笔记本电脑使用电池供电,那么USB接口所分配的电量就更小了。2.使用了外接的USB扩展卡:在笔记本电脑中使用USB2.0的U盘或移动硬盘时,如果笔记本电脑不支持USB2.0技术,一般必须通过PCMCIA卡转USB2.0的扩展卡来间接实现支持,这些扩展卡基本上都采用NEC公司的D720100AGMUSB控制芯片,少则提供两个USB2.0接口,多则提供五个USB2.0接口,对一般用户而言足够使用了。由于PCMICA接口提供的电源功率比板载USB接口要小,这样就会由于供电不足而导致移动硬盘工作的出现问题。解决方案:1.它从USB连接线上接移动硬盘的一端引出一根转接线,可以插入电脑背后的PS/2接口取电,这里可以比USB接口提供更大的电流输出。2.利用电源补偿线(也称“键盘取电线”),如果U盘或移动硬盘的包装盒中提供了选配的电源适配器,你就可以直接使用外接电源,这样就可以从根本上避免供电不足的情况发生了前置USB线接错。当主板上的USB线和机箱上的前置USB接口对应相接时把正负接反就会发生这类故障,这也是相当危险的,因为正负接反很可能会使得USB设备烧毁。所以尽量采用机箱后置的USB接口,也少用延长线.也可能是断口有问题,换个USB端口看下.USB接口电压不足。当把<ahref="mobileharddisk">移动硬盘</a>接在前置USB口上时就有可能发生系统无法识别出设备的故障。原因是<ahref="">移动硬盘</a>功率比较大要求电压相对比较严格,前置接口可能无法提供足够的电压,当然劣质的电源也可能会造成这个问题。解决方法是<ahref="">移动硬盘</a>不要接在前置USB接口上,更换劣质低功率的电源或尽量使用外接电源的硬盘盒,假如有条件的话。主板和系统的兼容性问题。呵呵这类故障中最著名的就是NF2主板与USB的兼容性问题。假如你是在NF2的主板上碰到这个问题的话,则可以先安装最新的nForce2专用USB2.0驱动和补丁、最新的主板补丁和操作系统补丁,还是不行的话尝试着刷新一下主板的BIOS一般都能解决。系统或BIOS问题。当你在BIOS或操作系统中禁用了USB时就会发生USB设备无法在系统中识别。解决方法是开启与USB设备相关的选项。就是开机按F2或DEL键,进入BIOS,把enableusbdevice选择enable。拔插要小心,读写时千万不可拔出,不然有可能烧毁芯片。XP中任务栏中多出USB设备的图标,打开该图标就会在列表中显示U盘设备,选择将该设备停用,然后你再拔出设备,这样会比较安全。

其实判断软件硬件问题很简单,在别的机器或换个系统试试就可以了.有些小的问题不妨先用专门软件格式化下.还有提醒大家WINDOWS下格式化时要选择FAT,不要选FAT32。

提示无法识别的USB设备维修

故障提示如图:

无法识别的USB设备:UnknownUSBDevice.很多人都遇到过的一个问题,所谓“无法识别”对于操作系统来说,或者是驱动程度有问题,或者是USB设备出现了问题,或者是计算机与USB设备连接出现了故障,解决问题的方法也是从这几处着手。

对于不同的设备会有不同的处理方法,了解USB设备正常工作需要的条件以及一些可能影响USB设备正常工作的因素,会有助于解决问题。

下面是保证USB设备可以正常工作的一些条件:(1)USB设备本身没有任何问题——可以通过在其它计算机上进行测试,保证能正常工作;(2)USB接口没有任何问题——可以通过连接其它的USB设备在此接口上进行测试;(3)USB设备的驱动程序已经正确安装,如果有详细说明书的USB设备,一定要仔细查看相应的说明文

温馨提示

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

评论

0/150

提交评论