欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于stm32的智能家居系统设计与实现 .docx

    • 资源ID:49459030       资源大小:10.02MB        全文页数:37页
    • 资源格式: DOCX        下载积分:28金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要28金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于stm32的智能家居系统设计与实现 .docx

    基于stm32的智能家居系统设计与实现摘要:物联网这个概念已经提出有二十多个年头了,当时由于受限于网络不成熟、硬件和传感器设备的发展没有被重视。然而在网络技术成熟、传感器设备强大的今天,物联网技术逐渐进入人们的眼帘,与物联网相关的产业得到了国家的大力支持。智能家居在物联网领域里扮演者重要的角色,家居发展正在逐步向智能化靠拢。本文从历次的工业革命分析得出,新技术能够改变一个时代的发展,现在我们正处于第四次工业革命的浪潮中,出现了技术井喷的现象,如物联网技术、新能源技术、3D打印、人工智能等。智能家居是物联网技术在家居领域的体现,将在这个时代大放光彩。顺应时代发展的浪潮,本人设计了一个以STM32F103VC8T6为主控的智能家居应用系统。此系统实现远程控制家电,并将采集的温湿度信息上传云端,然后下发给APP。用户能够在APP上远程改变家电的状态。关键词:STM32,智能家居,物联网Design and implementation of smart home system based on stm32Abstract:The concept of the Internet of things has been around for more than two decades, when the development of hardware and sensor equipment was not taken seriously due to the immaturity of the network. However, with the mature network technology and powerful sensor equipment, the Internet of things technology has gradually come into people's eyes, and the industries related to the Internet of things have been strongly supported by the state. Smart home plays an important role in the field of Internet of things.From the analysis of previous industrial revolutions, this paper concludes that new technologies can change the development of an era. Now we are in the wave of the fourth industrial revolution, and there has been a technological blowout, such as Internet of things technology, new energy technology, 3D printing, artificial intelligence and so on. Smart home is the embodiment of the Internet of things technology in the home field, this era will be brilliant.With the tide of the development of The Times, I designed a smart home application system with STM32F103VC8T6 as the main control. This system realizes remote control of household appliances, and uploads the collected temperature and humidity information to the cloud, and then sends it to the APP. Users can remotely change the status of appliances on the APP.Keywords: STM32,Smart Home,Internet of things目 录1绪 论11.1研究背景和意义11.1.1背景分析11.1.2本课题的研究意义21.2课题研究方法和内容21.2.1研究方法21.2.2研究内容32系统分析42.1需求分析42.1.1市场需求42.1.2功能需求42.2可行性分析52.2.1技术可行性分析53智能家居硬件设计63.1总体设计63.2模块硬件设计63.2.1通用模块硬件设计73.2.2灯光模块硬件设计83.2.3环境模块硬件设计83.2.4窗帘控制模块硬件设计103.2.5门控模块硬件设计114智能家居软件设计134.1模块软件设计134.1.1通用模块软件设计134.1.2灯光模块软件设计154.1.3环境模块软件设计154.1.4窗帘模块外设软件设计174.1.5门控模块软件设计184.2系统功能设计194.2.1灯光模块系统功能设计204.2.2环境模块系统功能设计204.2.3门控模块系统功能设计224.2.4窗帘模块系统功能设计235系统测试255.1灯光模块测试255.2环境模块测试265.3门控模块测试285.4窗帘模块测试295.5测试结果306结论31参考文献:32致谢:331 绪 论1.1 研究背景和意义1.1.1 背景分析人类文明起源至今,共经历过三次加快社会工业化进程的工业革命,每一次工业革命都是人类发展史上浓重的一笔,深深影响着未来社会的发展和未来社会格局。第一次工业革命,蒸汽机被发明和使用大大的促进社会生产力的发展,并预示着传统手工业、交通将会逐渐被蒸汽机取代。由于第一次工业革命促西欧国家的生产力,从而加快西欧国家的资本主义进程,经济得到快速发展,于是在此前提下掀起了第二次工业革命。第二次工业革命主要产物就是电力,在当今社会电力和石油是人类社会发展运作的主要能源,如果全球断电社会将会出现不可预料的动荡,电子设备停运社会治安不能得到保证,违法犯罪事件将会频发。第三次科技革命是新技术发明与发展的大爆发,出现这种现象的重要因素是当时世界处于相对和平的时代、工业化程度日渐加深,带来了科技与经济的高速发展。第三次科技革命时期发明了原子能、电子计算机、空间技术和生物工程,这些技术的发明加深社会的工业程度。随着科技的发展,我们迎来了第四次工业革命,从历次的工业革命中可以得出一个结论:新型技术是未来社会发展的核心。在即将到来的第四次工业革命中,突破性技术热点更是层出不穷:人工智能、生命科学、物联网、机器人、新能源、新材料、3D打印等。孙丽娜. 打开第四次工业革命的神奇钥匙N. 中国证券报,2020-01-18(A06).物联网技术是第四次工业革命的核心技术之一,近几年物联网热度不断上升,同样智能家居作为物联网技术的应用之一,同样被社会关注。智能家居概念早就被提出,由于受限于当时的软硬件技术和标准不统一没有被重视。在如今网络技术成熟,传感器丰富且稳定,智能家居再次被人们所重视。据调查欧美国家有一半的家庭已经在使用智能家居了,但是在中国只有3%左右的家庭使用智能家居,对此我国一些大企业都致力于开发智能家居产品。如小米开发的智能家居产品,能够通过小爱同学和手机APP控制家电;阿里巴巴开发的智能酒店,用户可通过天猫精灵控制酒店环境。1.1.2 本课题的研究意义科技的进步、经济的发展使得社会高速发展,并且也在潜移默化的改变人们的生活习惯与生活方式。随着人民生活质量的提高,人们对家居环境和家电得智能化程度要求越来越高,对于住所人们不再满足于它是遮风挡雨的场所,人们希望能够住所能够更加舒适和温馨,空调和冰箱的广泛使用,充分证明此观点。智能家居提供智能化管理,降低家电控制的繁琐性,用户可以充分地、高效地利用资源,减少家庭日常生活中的能耗。而且在当今社会环境下,人们更注重环保与养生,对此用户可通过智能家居来监控室内温度、湿度、PM2.5等,实时检测家居空气质量,提前采取相应的措施。通过智能家居设计可以了解智能家居的发展前景和方向,并且对大学四年所学知识的扩展与巩固,做到学以致用,同时还能够积累各种传感器是使用经验,提升自身能力。1.2 课题研究方法和内容1.2.1 研究方法本课题使用的研究方法如下:调查法:调查智能家居的发展历程与市场前景,并且调查智能家居的成功案例,了解成功案例的功能以及实现方法。文献研究法:通过网络、书籍、论文、报刊等途径,了解智能家居的市场前景、推广程度、以及研发历程。提前了解智能家居的市场需求和技术需求,为下一步程序设计、编写、调试提供明确的方向。实验法:实验能够发现、确认事务之间联系。通过调查和文献研究可以了解到智能家居的基本功能,根据智能家居的基本功能,再结合自身能力动手设计智能家居系统应用,主要涉及系统逻辑设计、代码编写、接口设计、传感器使用。1.2.2 研究内容本论文一共分为五个部分,具体内容安排如下:第1章:绪论。主要介绍论文的研究背景,从工业革命角度分析智能家居的历史背景、发展前景。同时也分析智能家居在第四次工业革命中扮演的角色,得出智能家居的研究意义。第2章:系统分析。对智能家居课题的系统需求分析,通过调查研究,对智能家居系统的综合描述、市场需求分析、功能需求分析、技术可行性。第3章:智能家居硬件设计。根据需求分析确认本课题研究内容的主要功能及实现方法,进行总体功能设计。然后进行CPU选型,传感器其等外设的选择。根据外设选择进行硬件设计,首先根据所选外设的通信方式来进行GPIO口的选择。第4章:智能家居软件设计。首先,先规划系统流程。其次,编写各个模块的底层驱动。然后,STM32利用ESP8266接入机智云平台。最后,根据系统流程图编写代码。第5章:系统测试。配置好开发板串口1,方便用来打印调试信息。开始调试各个模块,并用串口1打印调试信息。模块调试通过后,编写系统流程代码并调试。第6章:结论。总结本次智能家居应用设计的收获、困难和不足。2 系统分析2.1 需求分析2.1.1 市场需求由十九大的报告可以看出,人们的生活水平在上升,人们生活所需物质丰富。为此,人们将会有更多更好的物质需求。衣食住行与人们密切相关,智能家居就是“住”的表现之一。未来智能家居能够普及到每一个家庭,到那时人们不会觉得智能家居是虚幻的、难以理解的,它是被人们理解和所需的。目前家居都在向智能靠拢,就拿洗衣机来说从当初的半自动升级为全自动,而现在正在向智能靠拢,用户可用手机APP选择洗衣机的洗衣、甩干、消毒等功能。随着科技发展,智能家居将会进一步完善。智能家居的研发成本和生产成本将会越来越低,这也就预示着将来大部分家庭都会进入智能化时代。到那时,智能家居系统将会更加智能,它将会被植入AI技术实现人工智能,从而摆脱事事都需要人为操作的时代,如它可以根据大数据分析用户每个时间段在家里某个房间停留的时间长度、时间段、频率,并结合当前温湿度,通风条件等因素来智能控制房间里的各种参数,实现AI智能管理。 在未来随着智能家居的智能化程度提升,智能家居的市场需求将会越来越广阔,智能家居技术相当于在家雇佣了一个电子保姆,全年无休为用户提供最全面的服务。2.1.2 功能需求智能照明控制:灯光是一个家庭中最基础的部分,生活中经常会出现忘关灯现象,用户就希望能够实现远程控制灯光的亮灭,减少能源损耗。智能门窗控制:每天手动开启窗帘太过于繁琐,并且用户希望外出时可通过APP查看窗帘状态,根据用户需求实现远程控制,可以使用APP按照百分比来控制窗帘。进入家里需要用到钥匙开启,有时忘带钥匙锁在门外,用户希望通过密码锁、指纹锁或手机APP控制门的开启与关闭,能够有效解决被锁门外的情况。智能环境控制:家居环境是否舒适是判定智能家居系统好坏的重要指标之一。气候随着季节而变化,温度湿度都会发生变化,用户希望系统能够实时采集室内温湿度,并将温湿度显示在屏幕上,用户可根据自己需求控制室内温度和湿度。目前绝大部分家庭都在使用煤气,室内气体环境监控也被人们需求,人们希望能够实时监测室内煤气是否泄漏,是否失火。系统将警报实时上报,用户可以第一时间知道警报信息。2.2 可行性分析2.2.1 技术可行性分析(1) 本次课题设计外设用到的GPIO口较多,STM32F103VC8T6有100引脚,其最高主频能够达到72MHz,具有处理能力强、处理效率高等特点。因此选择STM32作为主控。(2) 本次课程设计运用到的外设都是市面上常见的模块,能够稳定运行于STM32开发板。 (3) 通过功能需求分析本次设计需要用到温湿度测量技术、烟雾测量技术、指纹识别技术、远程控制等技术,利用远程技术将数据上传云端,然后下发给APP,各外设与STM32使用SPI、UART通信,所用技术都是学校和公司实习所学。3 智能家居硬件设计通过技术可行性分析,确定本次课题设计的功能是STM32采集温湿度数据,并在LCD屏幕上显示温度和湿度;采集烟雾数据实现报警功能;采集指纹实现指纹开锁功能;语音播报模块在系统中充当提示工具;通信模块实现用户与单片机之间的远程交互。3.1 总体设计根据课题设计功能描述,设计智能家居系统,此系统主要架构通过STM32采集温湿度数据上报给机智云,并使用LCD显示温湿度;指纹模块控制门的开、关;采集烟雾值监控家居环境;APP端显示温湿度,可控制门、窗帘和LED灯。如图3-1是智能家居系统架构图。图 31智能家居系统架构图根据图3-1,最终确定本次实验用到的外设模块分别为DHT11温湿度模块、MQ2烟雾模块、AS608指纹模块、LCD模块(JXL12864)、语音播报模块(JQ8900)、LED灯、ESP8266通信模块以及步进电机。结合功能需求和系统架构图,可将整个系统使用的硬件分为四个模块,分别为灯光模块、环境模块、门控模块、窗帘控制模块。表3-1列举出各模块所需外设。3.2 模块硬件设计3.2.1 通用模块硬件设计根据表格3-1可得知,系统模块所需外设中有两个通用模块,分别为通信模块和语音播报模块。语音模块在系统中起辅助功能,通信模块功能是与机智云通信的介质。表 31 系统模块所需外设系统模块涉及到的外设模块灯光模块LEDJQ8900语音播报ESP8266按键环境模块DHT11温湿度JQ8900语音播报ESP8266MQ2烟雾LCD门控模块步进电机JQ8900语音播报ESP8266指纹模块按键窗帘控制模块步进电机JQ8900语音播报ESP8266JQ8900语音播报模块支持MP3、WAV硬件解码,支持FAT文件系统。JQ8900拥有24位DAC输出,并且其内部采用DSP硬件解码。并且控制模式多样,不仅支持按键控制,而且支持串口指令模式。程序员可以通过串口发送相关指令达到语音的多样化控制,如顺序播放、循环播放、指定播放等功能。图3-2是JQ8900与STM32连接的原理图。图 32 JQ8900应用原理图在本系统中语音播报模块使用串口与STM32通信,JQ8900与 STM32的接口分别为PB10和PB11,它在系统中的作用是播报提示信息和警告信息,来辅助系统功能。ESP8266原理图如图3-3所示。通讯模块是STM32与机智云之间通信的桥梁。在此系统中ESP8266负责数据的上传和下发,其功能类似于路由器。ESP8266不仅性价比高、适用范围广且性能稳定,能够适应各种操作环境,而且存储速度快和处理能力强。ESP8266与STM32通过串口通信,它们之间的接口定义如表3-2所示。表 31 ESP8266接口定义STM32接口ESP8266接口PA2(TX)RXPA3(RX)TX图 33 ESP8266原理图3.2.2 灯光模块硬件设计LED灯主要作为模拟灯光和提示灯来使用,对应接口为PA1、PC1、PC2、PC4、PC5。用LED灯来模拟家庭环境灯光、提示灯和警报灯。其中警报灯配合系统中的环境模块使用,提示灯配合通信模块使用。3.2.3 环境模块硬件设计环境模块分为温湿度部分、烟雾部分、语音模块和LCD点阵屏模块。根据需求和性价比,温湿度模块选择使DHT11,烟雾传感器使用MQ2-135,LCD使用JLX12864。DHT11温湿度传感器有专用的采集技术,保证数据的可靠性。DHT11模块具有长期稳定性、封装简单、误差率小、接线简单、低功耗和响应速度快等优点,并且它的应用领域非常广,可用于家庭、教育、工业、玩具等领域。温湿度模块共有3个接口,其中两个接口为模块供电,还有一个接口(DATA)用来数据传输。STM32通过PA4与DHT11模块的DO口连接,DHT11与STM32之间使用单总线进行通信,DO既是发送口,又是接收口。原理图如图3-4所示。图 34 DHT11原理图MQ2灵敏度极高,使用时操作简单,并且它检测范围广能够有效检测烟雾、酒精、液化气等有害气体,所以MQ2被广泛应用于家庭、工厂、酒店等场所。本次实验中烟雾传感器主要作用是检测一氧化碳等有毒气体是否超标,在此实验中用到的是DO口,即空气中的有害气体达到一定值时DO口由高电平转换为低电平。MQ2的DO口与STM32的PA0相接,只要检测PA0口的状态就能实现家庭环境报警功能。当环境中有害气体超标时调用语音播报模块和通信,并开启警报灯将警报信息上传APP,使用按键解除烟雾警报,解除警报的接口为PA5。MQ2与STM32的原理图如图3-5所示。图 35 MQ2原理图LCD模块选用JLX12864,JLX12864是黑白点阵屏,这款芯片功能并不算很强大,不带字库,并且最多只能显示32个中文文字。但是芯片价格便宜,并且本次实验只是用来显示温湿度数据,不需要使用太多中文,完全可以不使用字库,从而降低产品成本。JLX12864与STM32使用SPI串口通信,JLX12864与STM32之间的接口定义如表3-3所示,LCD模块原理图如图3-6所示。表 32 JLX12864接口定义STM32接口LCD模块接口PB5CSPB6SIDPB7SCLKPB8RSBPB9PSB图 36 JLX12864与STM32的接口原理图3.2.4 窗帘控制模块硬件设计窗帘控制由步进电机、JQ8900语音播报、ESP8266共同完成开启和关闭窗帘操作,APP通过ESP8226下发窗帘开启程度百分比,控制窗帘状态。窗帘控制DRV8833与STM32之间的接口定义如表3-6所示。表 32窗帘控制DRV8833接口定义STM32接口DRV8833接口PD8INT1PD9INT2PD10INT3PD11INT4图 37 DRV8833电机驱动原理图3.2.5 门控模块硬件设计根据表3-1可知门控模块需要用到的外设有步进电机、JQ8900语音播报、指纹模块、ESP8266通信模块和按键。门控模块主要实现的功能:指纹、按键、APP控制门的开启和关闭,JQ8900播报提示信息。指纹模块选用的是AS608光学指纹识别模块,这款新片拥有内部存储设备,断电数据不丢失,并且最多能够存取300个指纹。AS608能精准快速识别指纹,并且这款新片集成了指纹识别算法开发人员不用去研究指纹识别的复杂算法,通过串口发送指令完成指纹删除、录入和识别功能,此产品广泛应用于家庭、企业、门禁等场所。AS608与STM32之间的接口定义如表3-4所示。表 33 AS608接口定义STM32接口AS608接口PA6WAKPC10(TX)RXPC11(RX)TX步进电机选用5线4相步进电机,步进电机能够对旋转角度进行调控,并且它的力矩大能稳定驱动门窗系统。步进电机需要用到驱动芯片驱动,本次实验选用DRV8833作为驱动芯片,根据图3-7可知DRV8833具备低功耗、短路保护、故障保护等功能,并且DRV8833提供较好的稳定性,能够稳定驱动步进电机。门控DRV8833与STM32之间的接口定义如表3-5所示。表 34 门控DRV8833接口定义STM32接口门控DRV8833接口PD4INT1PD5INT2PD6INT3PD7INT44 智能家居软件设计智能家居逻辑由以下几点构成:灯光模块设计:用LED灯模拟家庭灯光,用户通过APP控制LED的亮灭,开或关灯操作完成后语音提示当前灯光状态。环境模块设计:MQ2烟雾传感器检测厨房CO是否泄漏,如果浓度超标开启警报灯,将警报信息上传机智云,并播报警报信息,当警报信息处理后用户可通过按键关闭警报灯。利用定时器每小时采集一次温湿度数据,将温湿度数据上报机智云并且显示在LCD屏幕上,并且判断温度是否在10-29之间,如果不在此范围则播报相应的提示信息,同样判断湿度是否在30%-70%之间,如果不在此范围则播报相应的提示信息。门控模块设计:通过按键、指纹、APP控制门的开/关。当使用按键开门时,程序首先判断门的状态,实现开门或关门操作,并将门的状态上报机智云;APP也能够控制门的开启和关闭;指纹识别只能实现开门功能,当指纹识别成功时,语音提示验证成功,并且判断门是否打开,如果门关闭则执行开门操作;如果门已打开则语音提示门已打开;如果指纹识别失败则提示验证失败,不进行开门操作。窗帘控制模块设计:APP可以通过百分比来控制窗帘打开程度,操作完成后语音提示操作完成。APP:本次实验中使用机智云官方提供的APP,通过为ESP8266配网后,APP能够根据云端下发数据点创建视图,视图以云端的数据点为准。4.1 模块软件设计4.1.1 通用模块软件设计本次智能家居应用设计是基于机智云平台开发的,如果要实现远程控制,就必须要实现工程接上机智云平台。实验中用ESP8266模块作为桥梁接入机智云,因此需要对ESP8266进行配网,配网模式有多种。通信模块与STM32使用串口通信,为保证能够配网成功,就必须保证ESP8266与STM32之间的串口通讯是正常的,STM32与ESP8266之间的串口设置波特率为9600bps、无硬件流控制、无奇偶检验、1个停止位,数据发送格式为大端模式。通信数据包格式分为:包头+包长度+命令+包序号+ Flags+有效负载+校验和。作为发送方除了包头,如果其他数据出现0xFF,需在0xFF后添加0x55,作为接收方遇到0xFF后将0xFF后面的0x55移除。STM32每隔一段时间将会上报当前状态,其数据包格式为:包头+包长度+命令+包序号+flags+校验和。图4-1是发送方的代码实现。图 41发送方代码实现机智云官方提供两种方式为ESP8266配网,通过串口发送SoftAP(0x01)或AirLink(0x02)指令,让ESP8266进入配网模式,配网成功后STM32可通过ESP8266对接机智云。语音播报模块利用是利用串口发送指令控制指定语音播放,语音命名格式为四位数,如“0001.mp3”。一个完整的数据包共5个或6个字节。4-2图是播放特定语音的函数流程图。图 42语音播报流程图4.1.2 灯光模块软件设计根据表3-1可以知道灯光模块,由语音模块、LED、通信模块完成开/关灯操作,通过模块功能设计了解关于灯光实现的功能。本小结将对LED灯的相关操作,封装成函数,方便系统功能调用。灯光函数由LED灯和JQ8900语音播报模块协同实现功能,在LED灯操作完成后结合语音播报达到语音提示功能,同时语音播报能够辅助系统功能调试。如图4-3是开启LED灯的函数流程图,关LED灯的流程与图4-3相似。图 43开启LED函数流程图4.1.3 环境模块软件设计DHT11温湿度模块采用单数据总线实现数据传输,DHT11只有在接收到开始信号后才会开始采集数据,不然它将处于睡眠状态。根据图4-4 DHT11数据时序图可知,主机信号拉低发送开始信号,接着将其拉高,一段时间后将总线设置为输入模式等待DHT11的应答信号,并且等待DHT11传输采集的数据,接收完成后将总线拉高发送结束信号,温湿度数据占4个字节。温度和湿度整数部分各占1个字节的数据,同样温度和湿度小数部分也各占1个字节的数据,由于小数部分是扩展部分初始值为0,所以系统中只使用整数部分。根据图4-4和DHT11的数据手册可以完成DHT11温湿度读取函数,其函数流程图如图4-5所示。图 44 DHT11数据时序图图 45温湿度读取函数流程图根据JLX12864的数据手册,可以从中了解到LCD是按照页地址和列地址来控制LCD的显示。JLX12864采用共阴极方式,它将点阵屏分为64行128列,用户可以根据产品需求设置显示的对比度。图4-6是LCD显示数据的函数流程图,该函数可传入参数控制LCD显示温湿度。MQ2烟雾传感器相关操作主要是开启警报灯,并提示警报信息,该功能调用4.3.1编写的开/关灯函数就能实现,并且需要为其配置外部中断,当环境有害气体超标时触发。一般MQ2报警都是在危机情况下触发,所以MQ2相关的外部中断优先级必须是系统中处于最高级别。图 46 LCD显示函数4.1.4 窗帘模块外设软件设计窗帘模块需要实现百分比开启窗帘功能,本次实验中设定步进电机的总步数为一定值,通过数学转换将总计数值分为100份,实现百分比开启窗帘。窗帘操作函数中,用全局变量存取当前窗帘开启程度,执行操作时判断窗帘开启程度与目标值的大小,选择开窗帘或关窗帘操作。函数流程图如图4-7所示。图 47 开窗函数流程图4.1.5 门控模块软件设计可以通过按键、指纹、APP来控制门的开启和关闭,其中涉及的功能函数共五个,分别为开门函数、关门函数、指纹识别函数、录入指纹函数、按键初始化函数。根据4.2的模块功能介绍,来编写相关应用程序。开门函数:在门开启状态,不执行开门操作;在门关闭时,执行开门操作。关门函数:在门关闭状态,不执行关闭操作;在门开启时,执行关闭操作。系统中有指纹开锁功能,需要使用到AS608指纹识别功能,当检测到有指纹时,STM32发送指令让AS608获取指纹,然后等待AS608生成指纹,搜索指纹库并对比指纹,如果指纹一致执行开门操作,指纹不一致则退出。如图4-8是AS608指纹识别的函数流程图。为了实现指纹识别必须录入指纹,AS608录入指纹的原理是发送两次采集指纹的指令,采集到两次指纹后,判断两次指纹是否一致,如果两次指纹一样则将指纹保存在指纹库中。录入指纹函数流程图如图4-9所示。图 48 录入指纹函数流程图图 49录入指纹函数流程图4.2 系统功能设计智能家居系统,各功能都是在有需求才调用,因此CPU不用每时每刻去检测有没有某项操作请求,故此此次课题采用中断来实现灯光模块、环境模块、门控模块和窗帘模块的相关操作。表4-1描述了不同模块使用的中断类型以及中断服务函数实现功能。表 41 系统中断类型和中断功能模块中断类型实现功能环境模块外部中断0检查煤气是否泄漏外部中断5关闭警示灯定时器中断每小时更新温湿度门控模块外部中断7按键开门或关门外部中断6指纹开门串口2中断下发录入指纹指令窗帘控制模块串口2中断下发窗帘状态灯光模块串口2中断下发灯光状态4.2.1 灯光模块系统功能设计根据4.2智能家居逻辑中描述灯光是通过APP端控制控制。此过程需要用到ESP8266下发云端的数据,通过switch做分支选择,实现对应功能。函数示例代码如图4-10所示。图 410 灯光操作函数示例4.2.2 环境模块系统功能设计根据表4-1了解到环境模块系统功能用到定时器中断和外部中断。当MQ2烟雾传感器检测空气有害气体浓度超标时触发外部中断0中断,外部中断0服务函数主要的工作是开启警报灯、将警报信息上报机智云、语音播报警告信息。如图4-11是外部中断0服务函数的程序流程图。图 411 外部中断0函数流程图当触发烟雾警报时,警报灯开启并等待工作人员处理,当问题处理完后需要关闭警报灯,并上报问题已解决。如图4-12是外部中断5服务函数流程图。图 412外部中断5服务函数流程图环境温湿度数据往往指的是一段时间内的温湿度数据,所以温湿度数据不需要不间断的采集。于是采用定时器实现每小时采集温湿度数据,并将温湿度上报机智云,这样既减少硬件能耗,又提高了硬件使用效率。DHT11、语音播报、LCD、定时器共同完成温湿度模块的系统功能,系统采集温湿度失败次数超过200,则舍弃本次操作;如果采集成功,将更新APP端和LCD端的温湿度数据。如图4-13是定时器函数流程图。图 413 定时器函数流程图4.2.3 门控模块系统功能设计系统中用户可通过3种方式控制门的开和关,分别为指纹开门、按键开/关门、APP开/关门,根据表4-1这3种方式都是利用中断来实现。本次实验使用到指纹识别模块,其中自然少不了指纹录入、删除、识别等功能。实验中利用外部中断6实现指纹识别和对应的功能,当检测到指纹时触发外部中断,获取指纹并进行匹配。如果匹配成功则执行开门操作,如果匹配不成功则语音播报验证失败。外部中断6实现指纹开门功能,其函数流程图如图4-14所示。图 414外部中断6函数流程图起初选择使用按键实现指纹录入功能,但是一个按键控制录入多个指纹时,操作复杂容易出现问题,并且如果操作不当会出现混乱,降低用户体验感,于是选用APP控制多指纹录入,增加用户与系统的交互,提高用户体验感。如图4-15是录入指纹的程序流程图。用户在室内时如果要开/关门要通过APP实现,加大了操作繁琐性,更加违背了智能家居应用设计的初衷,所以在室内添加了一个外部中断控制门的开/关。如图4-16是外部中断7服务函数流程图。图 415 录入指纹函数流程图416 外部中断7服务函数流程图4.2.4 窗帘模块系统功能设计窗帘模块的控制方式和灯光模块的控制相似,同样是利用串口中断2接收事件类型,通过switch函数实现开/关窗帘操作。图4-17是窗帘操作函数的应用。图 417 窗帘操作函数应用5 系统测试系统测试流程分为以下几个步骤:(1)灯光模块测试:用APP下发数据测试,控制灯光亮灭,同时聆听语音播报内容,检测播报内容是否正确。(2)环境模块测试:DHT11温湿度模块,首先利用串口打印温湿度数据,确认DHT11温湿度读取函数是否编写正确,然后下载系统程序,将温湿度数据显示在LCD上,并上报机智云。观察LCD内数据与APP端数据是否一致。(3)门控模块测试:测试按键、指纹、APP同时对门进行操作,观察是否出现冲突。(4)窗帘模块测试:首先测试窗帘全部收拢时的计数值,然后测试APP能否实现百分比控制窗帘。5.1 灯光模块测试图5-1是APP端画面,图5-2是用APP点亮的客厅灯。测试过程中发现,如果频繁切换LED灯状态,LED和语音播报能够快速响应,做到系统的实时性。在频繁改变LED状态的过程中语音播报会打断上条正在播放的语音,做到实时播报。图 51 APP开启LED灯图 52 客厅灯5.2 环境模块测试MQ2烟雾传感器测试:用香烟测试MQ2烟雾传感器的温湿度灵敏度,当遇到浓烟时触发警报,此时语音播报警报信息,同时开启警报灯,并将警报信息上传机智云,APP端会弹出警报信息。如图5-3是烟雾报警灯开启状态,图5-4 APP弹窗显示警报信息。图 53 烟雾报警灯图 54 APP弹窗显示报警信息DHT11温湿度测试:首先烧录DHT11测试程序,利用串口调试工具测试打印温湿度数据,然后在烧录系统程序观察LCD内显示的数据是否与APP端一样,最后手动传传入温湿度上限和下限值,测试温湿度上下限逻辑是否正确。如图5-5是利用串口打印的温湿度数据。图 55 串口打印温湿度数据修改定时器的计数初值将定时其修改成10分钟中断一次,观察LCD和APP内的温湿度数据是否一致,如图5-6和图5-7分别是LCD显示的温湿度数据和APP端温湿度数据。根据图5-6和5-7可知APP端和LCD端温湿度一致,说明在LCD屏幕上显示的数据和APP端显示的数据是同一组数据。手动修改温湿度数据,修改温度和湿度的值,使温度和湿度低于下限值,语音播报温度过低和湿度过低;然后修改温度和湿度值,使温度和湿度高于上限值,语音报温度过高和湿度过高,验证温湿度上下限值的逻辑没有错误。图 56 LCD显示温湿度图 57 APP端温湿度数据5.3 门控模块测试通过APP下发录入指纹指令,此功能可以实现录入多个指纹,APP端选择录入指纹的ID,AS608共支持存储300个指纹,完全能够满足日常使用需求。当指纹录入成功时,语音提示指纹录入成功;当指纹录入失败时,语音提示指纹录入失败。APP端选择录入指纹的ID,选择好后打开录入指纹按钮,录入指纹。如图5-8是APP端录入指纹操作图,如图5-9是录入指纹和指纹识别的串口打印图。录入指纹后,同时利用APP、按键、指纹控制门的状态,在门开启或关闭期间其他开或关门操作不会影响本次。使用按键或指纹改变门状态时,只有当本次操作完成后,按键、指纹和APP才能再次对门进行操作。当使用APP频繁改变门的状态时,只有在本次操作完成后才会开执行下一次操作。当门在开启或关闭期间,其他操作不能改变当前操作,这与系统设计时设想的一样。如果门在开启或关闭到一半时,执行与此相反的操作会增加门控模块的损耗。图 58 APP端录入指纹操作图图 59 指纹识别测试5.4 窗帘模块测试首先测试窗帘全部收起来时的计数值,这个值为1024,然后APP端通过百分比控制窗帘的状态,每一次操作完成后语音提示操作完成。图 510 APP开启窗帘图 511 按比例开启窗帘5.5 测试结果灯光模块、环境模块、门控模块和窗帘模块的整体功能符合实验设计要

    注意事项

    本文(基于stm32的智能家居系统设计与实现 .docx)为本站会员(温桑)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开