




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32智能家居系统程序设计摘要随着经济的发展与时代的进步,越来越多的人群开始将注意力投入到怎样打造一个更加温馨、舒适以及智能化的家居环境中来,人们的这种日益强烈的需求促进了智能家居的发展,使其成为了时下最热门的研究领域之一。本文针对智能家居控制系统,研究分析了国内外物联网技术的最新研究进展与成果,并针对现阶段已有的智能家居控制系统在控制精度和实时性等方面的不足,提出了一款实时性好、精度高、成本低的智能家居控制系统的设计方案,该系统具有较好的应用和参考价值。本文系统性地研究了智能家居系统的设计原理以及方法,在已有开发板的架构上设计了硬件电路并且配备了软件程序。主控芯片我们采用STM32F407微处理器作为主控单元,实现对LD3320语音控制模块、光敏电阻模块、烟雾传感器模块的监测与控制,通过ESP8266WIFI模块来实现手机与系统之间的通信。微处理器通过接收各模块传输过来的数据来控制室内的灯光、空调、门窗、窗帘等家具家电,从而实现智能家居之间的联动。并且用户可以通过语音控制模块对智能家具进行语音控制,同时用户可以通过手机查看室内的状态,如果室内环境参数出现异常,比如有烟雾泄露等情况则会向手机发送报警信息。软件部分利用KeilMDKv5进行编程,通过调用STM32F4官方函数库对系统的各个模块等进行编程,实现对智能家居的监测与控制。关键词:智能家居;STM32F407;ESP8266WIFI;LD3320语音控制第一章引言 第一章引言1.1研究背景和意义现代计算机技术、电子技术技术、通信技术的快速发展,使人们在日常生活中对信息化、智能化、个性化的需求越来越大。
智能家居正是为满足普通消费者的这些要求而产生的。
智能家居早在十多年前就已经被科学家提出来并进行了相关研究和概念定义。
随着现在经济的快速发展以及科学的日益进步,消费者对于家居的智能化也有了更高的要求。传统家电已经不能满足现代人的日常生活需要,在这种情况下智能家居便应运而生了。
然而,由于当时科学技术发展水平的巨大限制,智能家居仅仅停留在理论水平,在现实生活中的应用很少。
直到1980,随着科学技术的兴起和产业研发投入的增加,早期的智能电器才开始出现在市场上,智能家居的实用化成为可能。近年来,随着许多信息巨头以及传统互联网大厂对智能家居行业的摄入,人们对便捷、舒适、安全生活方式的需求也在不断提升。
它以物联网技术,IoT传感技术相结合的网络技术为基础,实现了对家庭中各种电气设备的实时监控与智能控制,使用户可以在家庭环境下通过智能设备来改变自己的生活方式,同时也能改善家庭环境。
小米,阿里巴巴以及苹果,三星等外国公司纷纷进入我国智能家居市场。
智能家居系统对直接使用者来说具有很大的影响,它不仅会给使用者带来便利,而且还会对使用者产生一定的使用感觉。
但是由于智能家居系统涉及到了许多复杂的软硬件技术,其应用范围还不够广泛。目前,我国大部分地区都处于传统的家居模式下,无法满足人们日益提升的要求。
所以,在智能家居系统的研究中,用户的使用感和系统的效率是很重要的方面。
智能家居环境下,用户可以通过软件或硬件操作和控制智能家居设备,实现人与人、信息与物理空间的完全连接[1]。智能家居的普及让人们能够根据自己的需求设计出适合自己的家居环境,从普通家电到智能家居,这可以说是一个时代的跨度。
智能家电进入人们生活的同时也解放了人们的双手,提高了人们生活质量;一些监控装置提高了家庭的安防水平;各种控制面板开关的集成不仅提供了视觉上的舒适度,并且高效的解决了空间浪费的问题。
不过由于移动互联网还有物联网技术的蓬勃发展,传统的家居控制方式已经不能满足人们的需求,而智能家居系统的应用又能很好地实现这些功能。
因此,在现有通信技术的基础上研究和设计智能家居的智能家居终端控制系统具有重要的现实意义。1.2国内外研究现状1.2.1国外研究现状智能家居不是最近的产物。它以一种概念的形式在消费者和行业专家中流行起来。智能家居概念始于遥控器的发明,由尼古拉特斯拉于1898年推出[2]。20世纪初西方经历了工业革命,为推出家用电器铺平了道路。1901年,出现了第一个真空吸尘器,然后是电动洗碗机、干衣机、洗衣机和冰箱也相继出现。这些不是“智能”的家电,但它们却是现代智能家居的雏形[3]。到了20世纪30年代,科学家们将视角转向了家庭自动化技术,但在1966年之前,这些想法并没有被实现,直到第一个智能自动化系统“回声IV”的开发,该设备允许消费者创建计算购物列表,控制家庭的温度并打开和关闭电器。1969年出现了一款可以智能化控制厨房电器的系统,但由于价格,该设备并未成功商业化。1971年,微控制器的开发导致电子设备的价格降低,使电子设备也可以进入寻常百姓家了[4]。21世纪初欧美已经率先进行了智能家居技术普及。不同的技术出现并慢慢集成在居民家中。智能家庭开始成为许多消费者的选择。用户在那时便能够通过智能家居系统对门窗及烟雾进行监测预警了。发达国家尤其是美国与智能家居的渊源很深,自1984年世界上第一座智能建筑在美国出现以来,许多发达国家提出了多种智能家居的解决方案,智能家居在美国早先就得到了广泛的应用。美国拥有世界上最大的智能家居市场,目前,其智能家居产业已经发展得更加成熟,市场已经开始成形,产业链已经完整。作为全球智能家居市场渗透率最大、渗透率最高的国家,美国的智能家居市场容量同时也在不断增长,根据Statista发布的《2021年全球智能家居市场展望报告》,2020年美国智能家居设备市场规模达到233亿美元[5]。1.2.2国内研究现状在其他发达国家已经初步步入智能家居领域研究的时候,我国有关智能家居领域的研究却并未起步,人们对于智能化的生活还没有概念,但是随着我国近年来在信息科技领域的蓬勃发展,智能家居领域的研究也逐渐步入正轨并且拥有极大的市场潜力。
计算机、智能手机和平板电脑的出现,使人们能够随时保持联系,同时这些跨时代的电子产品的出现又增加了市场对智能家居产品的需求。我国智能家居市场的快速增长离不开以下因素:人们智能家居技术的认识不断提高、物联网市场大幅增长、政府的支持和城市化进程加快以及远程家庭安防的重要性不断提高。此外,电信运营商为了支持智能家居的产业发展,正着手研究解决信号以及延迟问题,用以提供更加稳定并且强大的联网方案。预计到2025年,4G和5G网络将会覆盖全国,同时中国将拥有世界上最大的5G市场[6]。2021年底,中国的城市人口已占到全国人口的61.4%,此外,中国制造2025战略、国家新型城镇化计划智慧城市项目、中国第十四个五年发展规划和等举措,也会推动中国智能家居市场的发展,加上政府的大力扶持也为为智能家居行业创造了巨大的机会,中国的智能家居市场奠定了坚实的基础[7]。除了全国范围内的举措,中国的大型企业,从互联网巨头到智能家电制造商,都对中国智能家居的市场投入了极大的心血。传统的互联网大厂,如阿里巴巴、华为、百度、小米和其他许多公司不约而同都涉足了“智能家居”产品市场,其中小米公司联合许多智能家电制造商创立了一个完整的智能家居的产业链。最近两年,因为新冠疫情的爆发而导致人们被隔离在家里,国家的经济增长也受到了很大的冲击,但智能家居的发展却并没有停滞。疫情期间,人们的家务劳动的负担增加了,反而使解放双手的智能家居更快的进入寻常百姓家。此外,千兆宽带在也在居民区开始普及,更高的网速以及耕地的延迟加上现在人手一台的智能手机,使得智能家居设备的可及性已大幅提高。1.3论文主要工作本文采用比较的方法对现有的智能家居控制系统进行研究,文中对系统软硬件各功能模块进行具体实现。经过对比研究发现基于STM32的检测系统具有更好的准确性和实时性性能。
该系统通过采集多个传感器的数据,保证系统的正确性,旨在为大众设计一个舒适、愉悦的智能家居系统,该系统不仅可以实时监测室内的环境参数,还可以根据环境数据自动调节智能家居状态。
这篇论文详细介绍了设计过程中使用的相关模块的知识,分析了各个硬件电路的工作原理,并说明了软件结构和系统调试结果。第二章基于STM32智能家居系统方案的设计整体系统方案设计是开发智能家居控制系统的一个重要步骤。通过整体系统的方案设计,可以明确控制系统所需的各种功能。本章从普通家庭的实际需求出发,结合智能家居市场的实际情况,详细分析了控制系统的功能需求。2.1系统设计目标与原则在项目实施前,首先要考虑项目面临的问题,评估项目计划,探讨如何解决项目实施中可能遇到的问题,为项目的实施和设计做好充分准备[9]。
同时,还需制定一套切实可行的实施方案。只有这样才能使项目得以顺利地完成。然后根据项目实际需求,以STM32F4系列芯片为核心搭建智能家居系统。
通过软件编程和硬件电路相结合的方式来实现本系统产品的功能。
经过实验测试,该系统达到了预期效果,可根据需要量产投放市场。
因此,在进行设计系统时,应遵循简单易用、价格低廉、稳定可靠、可扩展四项原则[8]。2.2硬件选择2.2.1微控制器选择微控制器在系统的设计中起着非常重要的作用,它决定了系统的处理速度、性能和可扩展性等,在对其进行设计选型时,本文提供两种选择方案。(1)如果旨在仅执行一项任务的应用程序通常由8位微控制器来操作,这些应用程序几乎没有数据处理并且用户界面(UI)受限制。所有尺寸都可在8位微控制器中使用,范围从6引脚设备到64引脚芯片。闪存的大小也从512字节到256KB不等,SRAM的大小从32字节到8KB或更大,而EEPROM的范围从0到4K或更大。(2)与8位微处理器类似,但32位微控制器功能强大,并提供指令流水线,存储器保护,浮点单元(FPU),分支预测和板载调试器等高级功能。在指令流水线中,处理器核心会在时间之前预取后续指令。在分支预测中,预先获取了if-else条件的两个结果的以下指令,从而使代码执行迅速。由FPU进行的浮点计算比SW实现的方法要快。有一个内存保护单元,以确保操作系统的关键部分不会被应用程序代码意外覆盖。结合面向用户的智能家居性能和控制要求,我们选择了32位的STM32控制器。它很容易使用,只需要调用API函数接口就可以驱动外设而不需要操作寄存器配置,并且它快速稳定,有许多外设和GPIO接口供以后扩展[9]。2.2.2无线通信模块选择我们的智能家居控制系统需要选择无线通信技术对智能家居系统进行联网智能控制,选择合适的无线通信技术模块对于系统可靠性非常重要,现给出两种方案参考。(1)ZigBee技术一项新型的无线通信技术,适用于传输范围短数据传输速率低的一系列电子元器件设备之间,特点如下[10]:①低速率,ZigBee工作在20~250kbps的速率。②近距离,传输范围一般介于10~100m之间。③工作频段常见在2.4GHz。④低功耗,2节5号干电池可支持1个节点工作6~24个月。(2)WIFI技术是一种可以将个人笔记本、手持设备等终端以无线方式进行相互连接的技术,特点如下:高速率,传输速率维持在11~54Mbps之间。距离远,通信距离覆盖范围为20~200m之间。工作频段常见在2.4GHz。功耗较高,功耗平均维持在10~50mA。通过对以上无线通信模块的比较分析,可以看出ZigBee技术的数据传输不方便,通信距离短,导致通信中断WIFI技术不适合智能家居系统应用,因此,WIFI技术更适合智能家居系统的设计。2.2.3语音控制模块选型为了实现智能家居控制系统的控制要求,本文设计了一个系统,方便用户用简单的语音命令来控制家居设备。同时为了满足智能家居语识别场景和产品性能的需求,我们采用非特异性的非特定人语音识别模式来设计需求,给出两种参考方案[11]。(1)利用DSP芯片和语音算法语音识别控制设计。用户可以使用DSP芯片来设计一个一个语音识别控制系,当语音信号通过麦克风输入时对模拟语音信号进行采样。
但同时用户必须自建一个含有数百个样本的语音库。(2)LD3320语音识别芯片采用ASR技术,用户只需将识别的关键词以字符串的形式转入芯片,即在下次识别时就可以立即生效。用户只需对芯片的寄存器进行设置,将诸如“你好”等关键词的内容动态地传输到芯片中,芯片就可以识别所设定的关键词。每个关键词可以是一个单字、一个短语、一个短句或任何中文读音的组合。基于LD3320的语音识别系统可以在运行过程中动态改变关键词列表的内容,这样就可以用一个系统支持多种不同的场景,并且不需要用户进行任何录音训练。因为DSP芯片需要采集声音样本,建立语音识别数据库,需要更多的时间和成本,编程开发困难,成本较高,所以采用LD3320芯片来实现语音识别控制。2.3系统总体设计方案基于STM32智能家居系统设计实现的功能为非特定语音控制和手机APP实时监控家居状态、智能控制家电状态、遇到烟气如煤气泄漏及时报警。系统整体框架图如图2.1所示,该系统由硬件模块、主控部分、家具家电控制部分和互动通讯部分组成。互动通讯部分允许用户使用手机APP查看客厅的状态,使用LD3320语音识别来控制家里的门窗、灯光等,硬件模块部分由一些传感器和检测模块组成。在这个系统的基本功能上还可以扩展其他功能,如TFLCD液晶屏、温湿度传感器、PM2.5检测装置等[12]。图2.1系统整体框架图2.4本章小结本章的主要内容是对基于STM32系统的智能家居系统设计方案进行辩证分析和可行性论证,简要说明了系统设计的目的和原则,介绍了系统设计中器件选择的对比分析,最后介绍了系统的总体设计方案和系统设计的总体框架。第三章基于STM32智能家居系统硬件设计我们选取了STM32F407ZGT6作为智能家居系统的主控中心,此系统的整体电路示意图如图3.1所示。首先,我们设计外围电路,包括系统复位电路、时钟电路和晶体电路。其次,我们设计硬件电路,如光敏电阻模块电路、烟雾传感器模块电路、LD3320语音控制模块电路和ESP8266WIFI模块电路。最后,在系统中加入一些扩展电路,包括门窗灯的继电器电路、手机APP的串行通信电路等。图3.1系统电路示意图3.1STM32F4梗概3.1.1STM32F4介绍STM32F407ZGT6芯片实物如图3.2,作为CortexM3市场的最大股东,意法半导体在2011年推出了基于CortexM4内核的STM32F4系列产品。与STM32F1/F2等CortexM3产品相比,STM32F4的最大优势在于增加了硬件FPU单元和DSP指令。这使得STM32F4特别适合需要浮点运算或DSP处理的应用,也被称为DSC,具有非常广泛的应用[13]。图3.2STM32F407ZGT6芯片实物与STM32F1相比,STM32F4主要有以下优点[14]:更先进的内核、拥有更多的资源、外设功能更多、性能更优越、功耗更低。表3.1为STM32F4系列处理器详细对比分析介绍。3.1.2STM32F4时钟系统时钟系统是CPU的脉冲,就像人的心跳一样。所以时钟系统的重要性不言而喻,STM32F4一共有五个时钟源,HSI、HSE、LSI、LSE、PLL其中PLL实际上分为两个时钟源,分别是主PLL和专用PLL。从时钟频率上看要分为高速时钟源和低速时钟源,在这五个中HSI、HSE和PLL是高速时钟,LSI和LSE是低速时钟。LSI和LSE是低速时钟。从源头上可以分为外部时钟源和内部时钟源,外部时钟源是指通过连接晶振从外部获得的时钟源,其中HSE和LSE是外部时钟源,其他是内部时钟源。内部高速时钟HSI由一个RC振荡器产生,频率为16MHz,可直接用作系统时钟或锁相环时钟输入。外部高速时钟HSE一般由外部石英或陶瓷振荡器和外部时钟源产生,时钟频率范围为4MHz至26MHz。内部低速时钟LSI由一个频率为32kHz的RC振荡器产生,提供一个低功耗时钟,专门用于独立看门狗和自动唤醒单元。外部低速时钟LSE由一个外部石英晶体产生,频率为32.768kHz。锁相环时钟PLL是锁相环频率倍增器的输出时钟。STM32F4有两个锁相环时钟(PLL)。系统时钟SYSCLK时钟源由RCC_CFGR配置寄存器的SW位配置,以选择要使用的时钟源。可以配置选择的时钟源是HSI振荡器时钟、HS振荡器时钟和PLL时钟。3.1.3STM32F4最小系统STM32F4最小系统是智能家居系统的核心控制部分,最小系统的电路设计要保证系统的可靠、稳定运行。电源电路增加了滤波电路以保证电压稳定,时钟电路选择了性能良好的8MHz和32.768晶振电路,复位电路保证了系统在工作不正常时立即复位。系统采用STM32F407ZGT6控制器,它具有144个GPIO端口,LQFP144封装,1024KBFLASH,最大处理速度为168MHz,占地面积小,功能强大,是设计面向用户的智能家居系统的理想选择。在复位电路中,当未按下复位按钮时,保证系统正常工作,当按下复位按钮时,保证系统由非正常工作转为正常工作。在启动电路中,配置BOOT0和BOOT1可以组合为闪存启动模式、系统存储器启动模式和SRAM模式。STM32有三种启动模式如表3.2所示,本控制系统中设置的启动模式是内置1024KBFLASH主闪存的启动模式。当BOOT0连接到X(可以是高电平或低电平),BOOT1连接到低电平时,启动模式为闪存启动。[15]。表3.2STM32启动模式引脚BOOT0引脚BOOT1启动模式说明X0主闪存存储器启动区域改为主闪存存储器01系统存储器启动区域改为系统存储器11内置SRAM启动区域改为内置SRAM3.2光敏电阻模块在智能家居系统的设计中,光敏电阻模块可以实时监测室内外的光线强度,在早晨通过监测阳光强度智能打开窗帘、门窗,晚上随着光线强度的降低智能关闭窗帘、门窗,智能调节客厅的灯光强度。光敏传感器是最常见的传感器之一,其种类很多:光电管、光电倍增管、光敏电阻、光电晶体管、太阳能电池、红外传感器、紫外传感器、光纤光电传感器、彩色传感器、CCD和CMOS图像传感器等。光传感器是目前产量最大、应用最广的传感器之一,在自动控制和非电量电测技术中占有非常重要的地位。光敏传感器是一种使用光敏元件将光信号转换成电信号的传感器。图3.3所示的光敏电阻模块,对可见光波长附近的波长敏感,包括红外波长和紫外波长。光传感器并不局限于对光的检测,它还可以作为检测元件组成其他的传感器来检测许多非电气量,只要这些非电气量被转换为光信号的变化即可。图3.3光敏电阻模块开发板板载了一个光敏二极管(光敏电阻),作为一个光敏传感器,它对光线的变化非常敏感。光电二极管也被称为光敏二极管。光电二极管在结构上类似于半导体二极管,它的核心是一个具有光敏特性的PN结,具有单向导电性,所以它需要一个反向电压才能工作。当没有光照时,有一个很小的饱和反向漏电流,即暗电流,此时光电二极管截止。当有光照时,饱和反向漏电流大大增加,形成光电流,它随入射光的强度而变化。当光照射到PN结时,可以使PN结产生电子—空穴对,从而使少数载流子的密度增加。这些载流子在反向电压下漂移,这增加了反向电流。因此,可以利用光的强度来改变电路中的电流。利用这一电流变化,我们串联一个电阻,它可以转化为电压的变化,这样电压值就可以由ADC读取,以确定外部光的强度。3.3烟雾传感器模块人们在家中不可避免使用一些天然气或液化气烧水、做饭等一系列事件,而很有可能会发生没关天然气或者天然气泄漏的情况,这时需要天然气或者气体检测装置来测量天然气或气体的泄露来确保人们的居家安全。烟气泄漏检测模块采用ZYMQ-2型气敏式传感器,ZYMQ-2型气敏式传感器是根据二氧化锡在洁净空气中的导电性原理制成。当传感器处于有毒气体泄漏的环境中时,气敏型传感器的电导率会随着环境中有毒气体浓度的增加而增加。由于ZYMQ-2气敏型传感器对氮气、甲烷、一氧化碳和空气等气体的电阻值不同,所以使用时应进行校准。ZYMQ-2型烟雾传感器模块实物如图3.4所示,该烟雾传感器具有以下特点[16]:(1)有一个信号输出指示灯,便于查看测量结果的变化。(2)采用两种输出模式,TTL量输出模式和模拟量输出模式。(3)输出高电平表示环境中没有可检测的气体泄漏,输出低电平表示环境中存在可检测的气体泄漏。(4)对甲烷和天然气的检测灵敏度高。(5)寿命周期长,监测稳定性和可靠性高。(6)响应恢复特性快,实用性强。图3.54烟雾传感器实物图烟雾传感器的工作原理是:在清洁的环境中,气敏材料的电导率较低,当环境中发生可燃气体或有毒气体泄漏时,随着泄漏气体浓度的增加,烟雾传感器的气敏材料的电导率变大,烟雾传感器模块的输出端输出低电平,STM32监测到低电平输入时,蜂鸣器发出警报。3.4ESP8266WIFI模块ESP8266WIFI模块实物图如图3.5所示,ATK-ESP8266是ALIENTEK的高性能UART-WiFi(串行-无线)模块。ATK-ESP8266搭载了爱思考的ESP8266模块,该模块通过了FCC、CE认证,可以直接用于产品出口到欧美国家。本系统采用ESP8266作为WIFI模块,主要是因为其超低的成本和精致的处理器与WIFI芯片的集成,具有GPIO、PWM、I2C、1-Wire、ADC等功能,为我们提供了一个性价比极高的开发平台。ESP8266是一个完整的、独立的WIFI网络解决方案,能够承载软件应用,这意味着应用程序可以直接在ESP8266上运行,也可以通过其他应用处理器进行业务逻辑处理,而只使用ESP8266的WIFI网络功能(通常作为串口直通。目前淘宝上卖的大部分已经写好了基于AT指令的串口转WIFI固件,方便直接连接到原单片机系统上)[17]。图3.5ESP8266WIFI模块ESP8266WIFI模块支持串行通信,兼容3.3V和5V微控制器系统,只需要几个简单的AT命令就可以实现网络通信。该模块有三种模式:串行AP、串行STA和串行STA+AP模式,以快速实现该模块与其他设备的网络通信。ESP8266WIFI模块支持STA、AP和STA+AP三种模式。(1)串口无线WIFI(COM-AP)模式,模块作为无线WIFI热点,允许其他WIFI设备连接到本模块,实现串口与其他设备之间的无线(WIFI)数据转换互传。(2)串口无线STA(COM-STA)模式,模块作为无线WIFISTA,用于连接到无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传。(3)串口无线AP+STA(COM-AP+STA)模式,模块既作无线WIFIAP,又作无线STA,其他WIFI设备可以连接到该模块,模块也可以连接到其他无线网络,实现串口与其他设备之间的无线(WIFI)数据转换互传[18]。3.5语音控制模块方便友好的智能家居系统不需要每次都手动操作,例如,坐在沙发上看电视可以通过语音控制打开和关闭空调,睡觉前可以通过语音调整灯光的亮度和开关。LD3320芯片实物图如图3.6所示,综合实际情况,达到面向用户的智能家居系统语音控制要求选取LD3320语音控制模块。图3.6LD3320芯片实物图本模块的实际电路是由STC11单片机和LD3320芯片组成的语音识别模块,它支持并行接口和串行接口。本系统语音识别模块芯片LD3320模块电路中,LD3320芯片通过8位并行接口与STC11单片机进行通信,此时使用8个数据线信号、4个控制信号和1个中断信号;LD3320芯片与STC11单片机的串行通信采用SPI协议,首先将MD信号拉高,SPIS信号拉低接地然后使用4条信号线,即片选信号、时钟信号、输入信号、输出信号。LD3320识别原理图如图3.7所示,用户的语音进入语音识别部分后,LD3320将处理后的数据并行传输给主控制器,主控制器将命令数据发送到可扩展的外围串口设备,实现处理后的控制操作。本设计的主要技术关键是语音信号的采集以及处理和判断,语音芯片LD3320提供的语音识别技术是基于关键词列表的识别技术。随着识别结果的输出,再利用单片机的IO口来控制家电产品[19]。图3.7LD3320语音识别过程LD3320语音控制模块中断响应,只要音频采集电路采集到声音信号,模块就会产生中断信号。3.6本章小结本章首先介绍了面向用户的智能家居系统的电路结构图,并从整体上总结了系统的硬件电路;其次,主要介绍了STM32F4最小系统几个模块的电路、工作模式和工作原理以及硬件设计,并完成了整个系统的构建和各个模块的功能。第四章基于STM32智能家居系统程序设计及调试软件设计是控制系统功能实现中不可缺少的重要环节,也是各功能模块能够正常运行的基础。本系统的软件设计主要由三部分组成:光敏电阻和烟雾报警模块、LD3320语音控制模块和ESP8266WIFI通信模块的程序设计。4.1KeilMDKv5简介MDK起源于德国的KEIL,是RealViewMDK的简称。全球有超过10万名嵌入式开发工程师在使用MDK。最新版本是MDK5.14,它使用uVision5IDE集成开发环境,是目前ARM处理器,特别是CortexM内核的最佳开发工具。MDK5向后兼容MDK4、MDK3等。以前的项目也可以在MDK5上开发(但是你必须自己添加所有的头文件),MDK5还加强了对Cortex-M微控制器开发的支持,并升级了传统的开发模式和界面。软件包可以独立于工具链进行升级,以获得新的芯片支持和中间库。MDK核心分为四个部分:带编辑器的uVisionIDE、ARMC/C++编译器、软件包安装程序和带跟踪功能的uVision调试器。uVisionIDE从MDK4.7开始提供。软件包(包安装程序)分为三个子部分。设备(芯片支持)、CMSIS(ARMCortex微控制器软件接口标准)和Mdidleware(中间库)。软件包安装程序允许我们安装最新的组件以支持新的设备,提供新的设备驱动库和最新的例程以加速产品的开发。KeilMDKv5界面如图4.1所示。图4.1KeilMDKv5界面图4.2STM32库介绍STM32库是建立在驱动层和特殊寄存器层上的功能接口API(应用程序接口),开发者无需配置底层的特殊寄存器,只需调用相关API即可驱动外设,具有开发速度快、易读、维护成本低等优点。STM32开发方式对比如图4.2,库开发方式由驱动层、库函数层、特殊寄存器层组成,开发者直接调用库函数;直接配置寄存器方式由驱动层、特殊寄存器层组成,开发者需要配置特殊寄存器来驱动外设。图4.2STM32开发方式对比4.3光敏电阻和烟雾传感器模块光敏电阻模块主要功能实现智能控制门窗灯等的状态,烟雾传感器主要实现及时检测烟气的泄漏并报警。4.3.1光敏电阻和烟雾传感器设计光敏电阻和烟雾传感器的输出模式为TTL电平。当检测到光敏电阻和烟雾传感器输出引脚的低电平时,将显示相应操作的开关或报警状态。首先初始化开发板的PE4引脚,然后主功能检测PE4引脚是否为低电平并执行相应的操作[20]。烟雾传感器流程图如图4.3,烟雾传感器和光敏电阻的工作过程是检测程序中的低电平动作,检测程序中是否有低电平动作可以添加到防抖动程序中,可以有效地防止因误动作引起的干扰。图4.3烟雾传感器流程图4.3.2光敏电阻和烟雾传感器调试结果调试结果如图4.4,烟雾传感器可有效防止气体泄漏并被及时发现智能家居系统的烟雾传感器可以检测到气体泄漏并产生低电平输出。一旦主控芯片STM32F407检测到低电平的烟雾传感器,系统的开发板就会发出红色的闪烁灯和蜂鸣器,提醒用户注意燃气泄漏。[21]。图4.4烟雾传感器调试结果4.4ESP8266WIFI模块程序ESP8266WIFI模块的主要功能是实现面向用户的智能家居系统与手机之间的通信,并监控智能家居的状态。ESP8266WIFI模块设置为TCP客户端模式,连接微处理器,手机设置为TCP服务器端模式,监控智能家居的门、门窗灯、烟雾传感器等状态。4.4.1ESP8266WIFI模块设计图4.5为ESP8266WIFI模块流程,首先通过主控芯片向ESP8266发起AT指令,完成参数配置,配置完成后,将ESP8266断电重启一次,使配置生效,重启后,ESP8266会自动连接到AT指令指定的WIFI,成功后通过串口返回OK,连接到WIFI后,建立模块工作模式,建立模块客户端等。然后启动直通模式,即按照网络通信协议将本地设备之间的通信转换为互联网通信,这样就可以在不改变设备的情况下在互联网上进行简单的本地设备通信,最后设置手机APP在TCP服务器之间进行通信[22]。图4.5ESP8266WIFI模块流程图4.4.2ESP8266WIFI模块调试结果STA模式下选择TCP服务器,接着出现AP模式下的工作状态,我们选择TCP服务器。接着就是我们的串口无线APTCP服务器+STATCP服务器测试。我们通过手机链接到SSID为ATK-ESP8266的wifi无线接入点,并且通过网络调试助手连接到192.168.4.1,8086,模块分配给手机的ID号是0。同样的方式通过电脑链接到192.168.1.xxxxx,8086,模块分配给电脑ID是1。AP+STA模式下的ID号分配是按照连接到模块的顺序来分配的[23]。连接成功后我们可以通过按按键KEY0和KEY1分别发送数据到手机和电脑。调试结果如图4.6和图4.7所示4.5LD3320语音控制模块程序LD3320语音控制模块的主要功能是通过语音来控制智能家居的状态。用户可以不通过手动遥控来调整智能家居的各种状态。4.5.1LD3320驱动步骤芯片复位,就是向芯片的复位引脚RSTB发送一个低电平,然后需要一次拉低拉高片选信号CS操作来激活内部的DSP。语音识别是通过设置多个按键寄存器的值、设置语音初始化寄存器、设置关键词列表寄存器、设置开始识别寄存器、写入中断响应操作程序、打开中断配置寄存器来实现的。表4.1显示了写入语音识别列表的情况。写入语音识别列表的规则包括数字和字符串(可以是连续的或不连续的),以及由小写汉语拼音组成的字符串。每个字符串都是小写的国家标准普通话,每个汉语拼音之间应该有一个空格[24]。响应中断,只要音频采集电路采集到声音信号就会对声音信号进行处理分析,中断系统就会产生一个中断信号。4.5.2LD3320驱动程序设计图4.6为LD3320语音识别控制流程图,语音识别的工作流程是LD3320语音识别初始化,写入识别列表并开始识别,设置中断操作打开中断寄存器,最后选择最佳匹配作为识别结果。由于LD3320的内部硬件电路在识别过程中容易出错,所以在语音识别芯片的过程中,只要出现识别错误,LD3320芯片的软件就会重置。图4.6LD3320语音识别控制流程图4.5.3LD3320语音识别控制调试结果LD3320语音识别有两级密码,第一级密码可自行设定,系统设定为"杰",第二级密码设定为所需操作,如开灯、关灯、开窗帘、关窗帘等。只要对LD3320语音控制模块说"杰"并打开灯,就可以操作客厅里的灯了[25]。图4.7LD3320调试结果图4.6本章小结本章主要介绍面向用户的智能家居系统程序设计和调试,首先介绍了KeilMDKv5软件的使用和STM32F4的开发方法。其次,介绍了几个硬件模块的软件设计,主要包括STM32F4系统自带的定时器功能,光敏电阻模块和烟雾传感器模块的程序流程图和调试步骤及调试结果,ESP8266WIFI作为TCP客户端和移动调试助手APP作为TCP服务器的调试步骤,以及LD3320语音识别控制模块的驱动调试步骤。LD3320语音识别控制模块驱动程序的流程图和调试结果。第五章结论5.1论文总结本文的设计研究从用户的实际需求出发,遵循安全、舒适、方便、美观的智能家居设计理念,将传感系统与窗帘、窗户、空调、灯光相结合,通过传感器监测室内环境,处理器接受来自传感器的数据。本设计系统具有监测有毒气体泄漏的感应装置,当用户不在家时,一旦发生有毒气体泄漏,就会立即向用户报警,同时系统配备了互动通讯系统,用户可以通过LD3320语音控制语音控制模块控制智能家居的灯光、窗帘和空调等智能家具,还可以通过手机实时观察客厅的各种参数变化,了解智能家居的控制情况。本文的具体工作可以分为以下几个部分:首先,本文介绍了以用户为中心的智能家居系统的硬件设计,其中微处理器是系统设计控制的核心部分,它相当于人体的心脏。本文介绍了STM32F407处理器的基本知识和STM32最小系统的电源电路、时钟电路线、复位电路和微处理器。然后介绍了光敏电阻传感器和烟雾传感器的工作原理以及如何检测低电平。然后介绍了ESP8266WIFI模块的STA、AP和STA+AP模式,并选择STA模式作为我们的通信模式。ESP8266WIFI模块作为客户端,移动调试助手APP作为服务器。最后,介绍了语音控制模块的通信模式和工作原理。通过比较,确定选择LD3320作为本系统的语音控制模块。其次,本文展示了面向用户的智能家居系统的软件设计和调试,给出了烟感传感器、ESP8266WIFI模块、LD3320语音识别控制模块的具体软件设计,详细介绍了调试步骤和调试结果。调试结果表明,该系统可以查看客厅的状态,在发生漏烟时及时报警,并可以通过语音模块对智能家居进行控制和调节等。该系统满足了安全、可靠、便捷的工作要求,是一个舒适、愉悦的智能家居系统。5.2论文展望该系统可以使用户的智能家居设计系统更加完善,需要增加更多的传感器模块,如温湿度传感器、客厅温湿度检测模块、PM2.5监测模块等。该系统实现了智能语音识别控制,将语音识别控制和语音智能相结合,为家电和智能家居提供了一个语音控制可靠的现代化平台。用户应急检测一直是现代科技智能家居的重点和难点,后期可在系统中加入应急检测模块。系统采用有线电路继电器控制智能家居的可靠性,解决这一问题的有效途径是采用2.4G无线模块ZigBeeWIFI的无线电路控制。参考文献许迅,郑哲清,杨菁.基于物联网平台的老年人智能家居设计研究[J].信息系统工程,2016(11):113-114.张胜英,王烟军.我国智能家居的现状和未来.江苏商论,2012(16):60.李文勇.智能家居系统的发展趋势.企业科技与发展,2017(2):73-75.夏勤艳,马立磊.浅谈智能家居系统的功能及发展前景[J].民营科技,2010(2):31-31.何联民,刘东.浅谈中小城市的智能住宅小区设计[J].中国住宅设施,2013(1):45-47.张绍宸,程晓东.ZigBee无线网络技术中的智能家电控制系统[J].科技创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论