版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要随着人们生活品质的提高,家居环境的舒适度和个性化需求越来越受到重视。香薰灯作为一种能够营造愉悦氛围、缓解压力的家居产品,受到了越来越多消费者的青睐。因此,本文提出了一种基于STM32的智能香薰灯设计。本文选择了一种常用的STM32F103C8T6单片机作为硬件平台,控制外部温湿度传感器,实现温湿度数据检测,并设计了相应的加湿器模块,LED灯模块,按键模块,语音识别模块,显示屏模块和WiFi通信协议,实现温湿度检测,如果湿度低于阈值则启动加湿器,也可以语音识别或者按键控制开关加湿器和LED灯,相关数据显示到液晶屏上观察,并将数据上传至APP端进行远程无监测,可以远程控制加湿器和LED灯的打开或关闭的功能。在软件方面,采用了嵌入式开发技术进行程序编写,并结合网络通信技术实现与手机APP之间的数据交互。通过手机APP,用户可以远程控制加湿器和LED灯设备等,并实时监测各个设备的状态,实时读取温湿度数据等参数信息。测试结果表明,在不同网络环境下,该系统具有良好的响应速度和稳定性,并且可以满足用户对于远程控制和监测的需求。关键词:智能灯;STM32单片机;温湿度检测;语音识别;远程监控;APPAbstractWiththeimprovementofpeople'squalityoflife,moreandmoreattentionispaidtothecomfortandpersonalizedneedsofhomeenvironment.Asakindofhouseholdproductsthatcancreateapleasantatmosphereandrelievepressure,aromatherapylampshavebeenfavoredbymoreandmoreconsumers.Therefore,thispaperproposesadesignofintelligentaromatherapylampbasedonSTM32.Inthispaper,acommonlyusedSTM32F103C8T6singlechipmicrocomputerisselectedasthehardwareplatformtocontroltheexternaltemperatureandhumiditysensorandrealizethetemperatureandhumiditydatadetection.Thecorrespondinghumidifiermodule,LEDlampmodule,keymodule,voicerecognitionmodule,displaymoduleandWiFicommunicationprotocolaredesignedtorealizethetemperatureandhumiditydetection.Ifthehumidityislowerthanthethreshold,thehumidifiercanbestarted,orthehumidifierandLEDlightcanbeswitchedonandoffbyvoicerecognitionorkeycontrol.TherelevantdataisdisplayedontheLCDscreenforobservation,andthedataisuploadedtotheAPPforremotemonitoring.ThefunctionofturningonoroffthehumidifierandLEDlightcanbecontrolledremotely.Intermsofsoftware,embeddeddevelopmenttechnologyisusedtowriteprograms,andnetworkcommunicationtechnologyiscombinedtorealizedatainteractionwithmobileAPP.ThroughthemobileAPP,userscanremotelycontrolhumidifiersandLEDlightingequipment,andreal-timemonitoringofthestatusofeachdevice,real-timereadingtemperatureandhumiditydataandotherparameters.Thetestresultsshowthatthesystemhasgoodresponsespeedandstabilityindifferentnetworkenvironments,andcanmeettheneedsofusersforremotecontrolandmonitoring.KeyWords:Intelligentlight;STM32MCU;Temperatureandhumiditydetection;Speechrecognition;Remotemonitoring;APP目录摘要 1Abstract 21绪论 51.1研究背景和意义 51.2国内外研究现状 61.2.1国内研究现状 61.2.2国外研究现状 61.3论文的主要工作 71.4论文的组织结构 72系统相关技术与分析 92.1单片机及其应用概述 92.2网络通信技术介绍 92.3编程技术介绍 92.4传感器原理和选择 102.5系统整体方案设计 102.6本章小结 113系统硬件电路设计 123.1主控模块电路设计 123.1.1主控单片机介绍 123.1.2单片机最小系统电路设计 123.1.3晶振电路设计 133.1.4复位电路设计 133.2温湿度传感器模块电路设计 143.3语音识别传感器模块电路设计 153.4显示屏模块电路设计 153.5加湿器控制模块电路设计 163.6按键模块电路设计 173.7无线通信网络模块电路设计 173.8LED灯模块电路设计 183.9本章小结 184系统软件设计 194.1主程序设计 194.2温湿度传感器子程序设计 204.3语音识别传感器子程序设计 214.4显示屏子程序设计 224.5按键子程序设计 234.6软件APP程序设计 244.6.1
客户端功能说明 244.6.2客户端框架 254.6.3通信模块 254.7本章小结 275系统测试与分析 285.1软硬件调试 285.3系统功能测试 295.3.1初始化测试 295.3.2传感器测试 305.3.3人机交互测试测试 305.3.4执行器控制测试 305.4 问题分析 316总结与展望 326.1总结 326.1展望 32参考文献 33致谢 35附录A:原理图 36附录B:程序 361绪论1.1研究背景和意义智能灯系统是一种结合人工智能和物联网技术的智能家居应用。它通过感知环境、处理信息和自主调节等功能,实现灯光的自动化控制和智能化管理。智能灯系统的出现,不仅提升了生活的便利性和舒适感,还为能源管理、环境保护和健康促进等方面带来了重要意义[1-2]。随着科技的不断发展,智能家居正成为人们关注的热点领域。目前,传统灯光系统的控制主要依赖于人工操作,无法满足个性化的使用需求,且能耗效率不高。而智能灯系统通过感知周围环境、学习用户习惯和需求,实现智能调节和节能管理,具有巨大的发展潜力[3]。首先,智能灯系统可以根据用户的需求和习惯,自动调整灯光色温、亮度和场景。无论是起床、工作、休息还是睡觉,都可以根据实际情况智能调节灯光,为用户提供更加舒适和便利的生活体验[4]。其次,智能灯系统能够实现精确的能耗监测和管理,通过合理控制灯光的亮度和使用时间,有效降低能耗。同时,它还能感知周围环境的光照强度和光质,实现自动调节灯光亮度,最大限度地利用自然光源,减少能源浪费,实现节能环保的目标[5]。最后,智能灯系统可以模拟自然光的变化,根据用户的生理时钟和需求,调节灯光的色温和亮度,提供更加符合人体生物节律的灯光环境,有助于调节睡眠、提高工作效率和提供舒适的居住环境。综上,智能灯系统作为智能家居领域的重要应用之一,具有提升生活便利性、能源管理和环境保护、促进健康和舒适感、个性化和智能化管理以及促进产业发展等重要意义[6-7]。随着技术的不断进步和应用的推广,相信智能灯系统将为人们的居住环境带来更多便利和舒适。1.2国内外研究现状1.2.1国内研究现状智能灯系统作为智能交通的重要组成部分,国内研究人员对其进行了广泛研究。主要从以下的几个方面进行了深入的研究和分析[8-10]。1.智能路灯照明:国内研究人员在智能路灯照明方面进行了大量研究,主要集中在照明控制策略、节能减排和智能监控等方面。通过采用智能控制算法和通信技术,实现路灯的远程控制和智能调节,提高照明效果并降低能耗。2.车路协同通信:国内研究人员在车路协同通信方面进行了积极探索,研究重点包括车辆与路侧设施之间的通信、车辆与车辆之间的通信等。通过实现道路与车辆、车辆与车辆之间的信息交互,提高交通安全和道路通行效率。3.智能交通管理系统:国内研究人员在智能交通管理系统方面进行了广泛研究,主要涉及交通流量监控、交通信号控制、交通信息发布等方面。通过开发高效、稳定的智能交通管理系统,提高道路通行能力和交通秩序。周立杰等[11]提出了一种MSP430超低功耗单片机的便携式智能灯控制系统设计。根据人体活动情况和位置,单片机自动调整灯光亮度。例如,当有人进入房间时,单片机会将灯光调至适中或明亮档位;当人离开时,灯光自动调至昏暗档位;当人体活动消失后,灯光会在延时后自动关闭,实现节能效果。邓峙崇[12]提出了一种汽车自适应前照灯控制算法设计与实现。首先,通过建模,可以更准确地了解照明区域内灯光分布情况,从而为后续的算法提供数据支持;其次,在设计算法时,研究人员考虑了车辆夜间行车的各种照明需求,如弯道照明、道路宽度、车速等;最后,在算法中,研究人员设计了针对各种复杂工况的补偿策略,如道路曲率变化、路面光照强度变化等。1.2.2国外研究现状国外的研究状况相比国内要相对先进一些。首先,欧洲在智能灯系统领域的研究起步较早,主要集中在智能路灯照明、车路协同通信等方面。欧洲研究人员通过采用先进的照明技术和通信技术,提高道路照明效果和交通安全[13]。其次,美国在智能灯系统方面的研究主要集中在智能路灯照明、交通信息处理与发布等方面。美国研究人员通过开发高效节能的照明系统和实时发布交通信息,提高道路通行能力和能源利用率[14]。日本在智能灯系统领域的研究具有较高的水平,主要研究方向包括道路与车辆之间的通信系统、交通信息通信系统、超智能车辆系统等。日本研究人员通过构建高效、安全的交通系统,提高道路通行效率和交通安全。Zhigang等[15]研究人员提出了一种使用物联网的城市路灯智能照明控制系统方法。基于改进算法和GIS技术的智能照明控制系统。它可以实时控制路灯开关,实时监控路灯的工作状态。通过实验验证了改进后系统的性能。实验结果表明,该系统通过改进的调光算法实现了自动调光功能。Kaie等[16]研究人员提出了一种路灯智能控制系统。智能路灯系统管理路灯在晚上自动开启,照明道路几个小时。当没有人在那个区域被检测到时,它逐渐降低亮度。当检测到车辆或行人时,路灯自动开启。1.3论文的主要工作本基于STM32的智能香薰灯设计的主要工作包括以下几个方面:1.系统需求分析:对该系统的功能和性能需求进行详细分析,确定系统所需的各种功能模块和硬件设备。2.硬件设计与接口:采用安卓系统的硬件平台,并通过AD/嘉立创软件设计相应的电路连接和通信接口,利用C语言在Keil软件上进行驱动开发,以实现与加湿器和LED灯的连接和温湿度传感器控制。3.软件开发与编程:使用AndroidStudio安卓开发工具进行监控界面软件开发,编写用户界面、数据交互、设备控制等相关功能模块,并结合网络通信技术实现与设备之间的数据交互。4.远程控制与监测:通过安卓手机或平板电脑上的APP,实现用户对设备的远程控制和监测。用户可以通过APP界面进行设备状态查询、控制加湿器和LED灯、调节温湿度传感器返回的参数阈值等操作。1.4论文的组织结构这篇论文主要围绕基于STM32的智能香薰灯的设计过程展开,论文的组织结构如下:第一章:绪论、介绍了监控的背景和意义,国内外研究现状,基于STM32的智能香薰灯的研究现状,相关技术、方法,研究的主要工作和组织结构。第二章:基于STM32的智能香薰灯相关技术与分析、介绍了单片机的基本原理和特点,网络通信技术在嵌入式系统中的应用,编程技术及其在系统中的应用,传感器选择、评估和比较以及系统整体方案设计。第三章:基于STM32的智能香薰灯硬件电路设计、介绍了单片机电路板的设计与制作,传感器与执行器的连接和布置,执行器的驱动和控制以及系统的电源供应和外部接口设计。第四章:软件开发与设计、介绍了单片机程序编写过程介绍,数据处理的实现方法,用户界面的设计与开发。第五章:系统测试与性能评估、介绍了基于STM32的智能香薰灯软硬件调试,系统工作情况及响应能力,问题总结和给出了解决办法。第六章:总结与展望、介绍了本文的基于STM32的智能香薰灯设计工作内容和设计与实现过程回顾,未来可能的改进方向和未来研究重点展望。2系统相关技术与分析2.1单片机及其应用概述单片机是一种集成了处理器、存储器和各种输入输出接口的微型计算机系统。它具有体积小、功耗低、成本低等特点,广泛应用于各个领域。单片机的应用非常广泛,主要在两个方面:1.嵌入式系统:单片机作为嵌入式系统的核心部件,被广泛应用于家电、汽车电子、工业自动化等领域。它可以控制设备的运行状态,实现各种功能,如温湿度采集等。2.通信设备:单片机在通信设备中扮演着重要角色。例如,手机中的基带芯片就是一种高度集成的单片机,它负责处理通信协议、音频处理等功能。2.2网络通信技术介绍网络通信技术在嵌入式系统中的应用非常广泛,它可以实现设备之间的数据传输、远程控制和监测等功能。网络通信技术在嵌入式系统中常见的应用涉及两个方面:1.远程监控与管理:通过网络通信技术,嵌入式系统可以与上位机或云平台进行连接,实现对设备的远程监控和管理。例如,通过网络可以实时获取温湿度传感器数据、设备状态信息,并进行远程配置和控制。2.远程更新和升级:利用网络通信技术,嵌入式系统可以实现固件的远程更新和升级。2.3编程技术介绍本文利用C语言用于设计单片机嵌入式程序设计,主要控制外部的温湿度传感器进行数据的采集、处理和分析,并建立上下位机的连接,Java用于设计安卓手机图形用户界面,负责监测前端上传的温湿度传感器数据,也是两种常见的编程语言,下面分别介绍它们的编程技术:Java编程技术:1.面向对象编程(OOP):Java是一门面向对象的编程语言,支持类、对象、继承、多态等面向对象的概念和特性。2.异常处理:Java提供了异常处理机制,开发人员可以使用try-catch-finally语句块来捕获并处理异常。这样可以增加程序的健壮性,并且在出现错误时能够进行适当的处理。C语言编程技术:1.结构化编程:C语言是一种结构化编程语言,支持顺序、选择和循环等基本的控制结构。2.指针操作:C语言中有指针的概念,开发人员可以使用指针来直接访问内存地址,进行灵活的内存操作。指针在动态内存分配、数组处理和函数传递参数等方面具有重要作用。2.4传感器原理和选择本文基于STM32的智能香薰灯设计使用到的传感器的工作原理和型号如下:1.温湿度传感器:工作原理:DHT11是一种数字温湿传感器,采用单总线通信协议进行数据传输。型号为DHT11是一种广泛应用于温度测量领域的数字温湿度传感器。2.5系统整体方案设计整个基于STM32的智能香薰灯架构设计中,硬件部分负责参数的采集和控制外设,软件部分则负责数据处理、通信以及用户界面的展示与交互。其中,硬件电路模块包括温湿度传感器模块,加湿器模块,LED灯模块,按键模块,语音识别模块,显示屏模块和WiFi通信模块。实现了温湿度检测,如果湿度低于阈值则启动加湿器,也可以语音识别或者按键控制开关加湿器和LED灯,相关数据显示到液晶屏上观察,并将数据上传至APP端进行远程无监测,可以远程控制加湿器和LED灯的打开或关闭的功能。根据上述选择绘制出本次设计的总体框图如图2-1所示。图2-1系统框架图2.6本章小结本章主要对系统进行了相关技术和系统方案设计。在相关技术方面,使用温湿度传感器来检测温湿度,并通过网络通信实现远程访问与控制。为了保证系统性能,采用高效的数据处理算法和优化的架构设计。同时,还考虑到了系统的界面设计和用户友好性。3系统硬件电路设计3.1主控模块电路设计3.1.1主控单片机介绍主控单片机是整个系统中的核心部件,它负责控制和协调各个外围设备和保护电路的工作。主控单片机的性能和功能决定了整个系统的稳定性和可靠性。因此,在选择主控单片机时,需要考虑其性能、功耗、扩展性等因素,以满足具体应用的需求。常用的单片机有8051系列、AVR系列、ARM系列等。其中,8051系列单片机具有较高的性价比,适用于各种简单的应用;AVR系列单片机具有较低的功耗和较好的性能,适用于对功耗要求较高的应用;ARM系列单片机具有强大的处理能力和丰富的外设资源,适用于对性能要求较高的应用。本文采用的单片机为ARM系列中的STM32F103C8T6主控制器。在实际应用中,可以根据具体需求选择合适的主控单片机,并通过编写相应的程序来实现各种功能。同时,为了方便调试和升级,还可以为主控单片机添加一些辅助芯片,如定时器模块、串口通信模块等。3.1.2单片机最小系统电路设计单片机最小系统是指能够独立运行的,由最少的硬件组成的系统。它包括单片机核心板、晶振、电源和复位电路等基本组成部分。其主要功能是满足单片机的基本工作条件,如时钟、复位、中断等。为了保证系统的稳定性和可靠性,还需要添加一些保护电路,如电源过压保护、电源反接保护、电磁兼容(EMC)滤波等。此外,还可以根据需要添加一些调试和测试工具,如逻辑分析仪、示波器、编程器等。总之,单片机最小系统是实现单片机控制的基础,通过不断的添加外围设备和保护电路,可以构建出更加复杂和完善的系统,满足各种不同的应用需求。本文采用的型号为STM32F103C8T6系列单片机作为主控结合外部的晶振和复位电路组成的最小系统,单片机最小系统原理图如图3-1所示。在单片机最小系统的基础上,根据本文的具体应用添加一些外围设备和模块,包括LED灯、按键、串口通信模块、显示屏、传感器、通信模块、执行器等。这些外设和模块可以为单片机提供更多的输入输出接口,从而实现本文指标中更复杂的功能。图3-1单片机最小系统电路图3.1.3晶振电路设计晶振电路设计是指在电子设备中,选择和配置晶体振荡器(也称为晶振)以实现所需的频率和稳定性。晶振电路是一种基于压电效应的电子电路,由晶体谐振器和电容器组成,如图3-2所示。其原理是利用晶体的压电效应,在晶体上施加电压时会产生机械振动,当机械振动达到一定频率时,会与外部电路中的电容形成共振,从而产生稳定的振荡信号输出。图3-2晶振电路图3.1.4复位电路设计复位电路的原理是通过将输入信号进行处理,使其达到一个稳定的输出状态,从而实现对系统的复位操作。具体来说,复位电路通常包括一个复位触发器和一些控制逻辑电路,如图3-3所示,采用按键作为触发器,逻辑电路采用RC电路组成。当输入信号满足一定的条件时,复位触发器会被激活,使得输出信号被重置为初始状态。这个过程还可以通过各种不同的技术实现,如电平转换、时钟同步等。图3-3复位电路图3.2温湿度传感器模块电路设计DHT11温湿度传感器电路设计如图3-4所示。实物图如图3-5所示。DHT11温湿度传感器和本文的微处理器之间的通信协议采用的是单总线方式进行数据的交互,单片机只需要引出一个控制I/O接口即可完成控制和数据的交互,即采用PA5接口与传感器的DATA端口进行连接,实现信息的交互,另外,两个端口分别连接至电源的+5V或者+3.3V电源。其中,传感器内部采集完成数据大小为40Bit的湿度和温度数据之后,才会传输给单片机,数据传输完成之后还会进行校验的工作,以保证数据传输的准确性。DHT11功耗很低,5V电源电压下,工作平均最大电流0.5mA,因此适合长时间的信息交互和数据的采集。图3-4温湿度传感器电路图图3-5温湿度传感器实物图3.3语音识别传感器模块电路设计语音识别传感器电路设计如图3-6所示。实物图如图3-7所示。该模块可以在智能公元平台上用户自主定制语音指令和固件,最快三分钟生成,SDK开源支持代码开发。模块上配备了32BITRISC内核,运行频率240M,采用串口通信的方式与单片机进行实时的信息交互,其中TXD与单片机的PA9端口连接,RXD与单片机的PA10端口连接,VCC与电源+5V电压连接,GND与单片机的地线进行共地。图3-6语音识别传感器电路图图3-7语音识别传感器实物图3.4显示屏模块电路设计OLED显示屏电路设计如图3-8所示,实物图如图3-9所示。这个显示屏模块使用IIC协议进行数据交互。PA11端口控制SCL引脚,PA12端口控制SDA引脚。GND与单片机地线连接,VCC通过+5V电源供电。其他引脚可以空置或连接电平信号来执行通信协议操作。图3-8OLED显示屏电路图图3-9OLED显示屏实物图3.5加湿器控制模块电路设计继电器控制驱动电路设计如图3-10所示。实物图如图3-11所示。继电器一般用于控制高电压或高电流的电路,或者需要隔离控制电路和负载电路的情况。本文中所使用的继电器旨在实现对弱电信号的控制强电的功能,其中单片机的控制端口为PB8,高电平时闭合,低电平时打开,电源与+5V电压相连。图3-10继电器控制电路图图3-11继电器实物图3.6按键模块电路设计按键电路设计如图3-12所示。实物图如图3-13所示。本文设计的按键的作用是进行有效的人机交互的功能。其中,设计了多个按键进行配合实现模式选择,参数阈值设置,外部电气设备的控制,控制的端口分别为PB12~PB15,采集到低电平的情况下有效。图3-12按键电路图图3-13按键实物图3.7无线通信网络模块电路设计无线通信网络电路设计如图3-14所示。实物图如图3-15所示。支持丰富的SocketAT指令,也支持UART/GPIO数据通信接口命令,支持SmartLink只能进行网络连接的功能,此外,还支持远程固件升级(OTA)。用于控制这款模块的通信协议为串口的协议,其中单片机的PA2与单片机的PA3分别于模块的RXD以及TXD接口进行连接,VCC与电源+3.3V电压连接,GND与单片机地进行共地。图3-14无线通信网络电路图图3-15无线通信网络实物图3.8LED灯模块电路设计LED灯电路设计如图3-16所示。实物图如图3-17所示。LED灯采用的典型的二极管原理进行设计,分别有正负极两个端口,其中一端作为公共的部分,另外一个端口用于连接至单片机的控制引脚,并且输出相应的电平信号即可完成点亮或者熄灭的操作,本文的控制引脚为PC13~PC15,输出低电平有效。图3-16LED灯电路图图3-17LED灯实物图3.9本章小结在本章中,介绍系统所需的硬件组成部分,包括STC89C52/STM32F103C8T6单片机模块、温湿度传感器模块,加湿器模块,LED灯模块,按键模块,语音识别模块,显示屏模块和WiFi通信模块等。这些硬件模块将为后续章节中软件部分的开发提供基础支持,并确保系统能够正常运行和实现功能需求。4系统软件设计4.1主程序设计本文设计的单片机主程序的流程图如图4-1所示。该主程序的执行过程主要包括下面的几个步骤:首先,初始化系统时钟和其他硬件模块,包括配置系统时钟,包括波特率、时序等。其次,获取到传感器返回的数据,并进行处理和分析。分别对温湿度传感器等模块的数据进行读取。第三,进入主循环,不断读取传感器返回的数据并进行处理,同时输出处理结果。在主循环中,不断地更新系统状态,将参数值实时更新到显示屏上观察,如果参数异常则控制加湿继电器、LED灯等装置的状态。然后,在主循环中,进行用户界面的响应,判断外部的按键是否有按下,并进行相关的执行操作,同时,实时更新显示提示信息等。最后,将数据上传至手机APP端进行监测,循环体函数执行完毕之后,返回到循环体的开头继续往复的执行下去。图4-1主程序流程图设计4.2温湿度传感器子程序设计温度传感器子程序设计的流程图如图4-2所示。首先,作为单片机控制器的主机开始发送启动信号,即:将数据线拉低,保持的时间为t1,至少18ms的时间,然后,将数据线拉高,保持的时间为t2,即20~40us的时间,然后读取DHT11返回的信号,表示响应,一般情况下,DHT11得到响应之后,会自动拉低数据线,保持时间为t3,约40~50us时间,作为响应信号,然后DHT11将数据线拉高,保持的时间为t4,即40~50us的时间过后,开始输出数据。图4-2温湿度传感器程序设计4.3语音识别传感器子程序设计语音识别传感器子程序设计的流程图如图4-3所示。语音识别的口令识别的过程主要包括以下的几个步骤组成,首先,对模块的引脚进行初始化配置,采用的是串口通信的方式进行实时的信息交互,然后,进行口令识别的开始,对模块进行初始化配置,其次,判断是否有语音信号,如果有则提取语音特征参数,否则继续等待有语音信号来了为止,进行下一步的操作,计算特征匹配识别情况,最后,将得到的结果进行输出到外部。图4-3语音识别传感器程序设计4.4显示屏子程序设计OLED显示屏子程序设计的流程图如图4-4所示。OLED显示屏采用IIC协议进行驱动和控制,具体步骤如下:1.启动IIC协议,并执行数据发送子程序。2.发送地址字节。3.发送命令字节。4.发送数据字节。5.停止发送,完成操作。6.最后,读取数据并开始显示相关内容。用于控制数据显示的屏幕如图4-4所示,首先,进行显示屏初始化配置和功能设置。然后,清除显示RAM区域,设置显示的初始值。将显示指针指向第一行,并将待显示数据存入缓存区。预设数据显示在指定区域后,调整指针位置并继续显示。如果显示未完成,持续进行显示直到完全显示。最后,返回结果。图4-4OLED显示屏驱动程序设计4.5按键子程序设计按键子程序设计的流程图如图4-5所示。按键的操作过程具体如下几个步骤组成:首先,按键引脚端口进行初始化配置,判断是否有按键按下,如果条件成立则延时一会除去抖动信号的干扰,并进行按键的扫描;其次,找到闭合的按键,并计算按键的具体值,并且判断闭合的按键是否释放,如果条件成立则建立有效的标志位,否则继续等待按键释放,建立无效的标志位。图4-5按键程序设计4.6软件APP程序设计4.6.1
客户端功能说明设备管理是系统的核心模块,主要包括自定义监控的指令按键和设备的管理功能。用户可以添加、删除和修改控件,并在每个控件中添加相应的设备。点击设备管理按钮后,客户端会向后台发送请求,获取当前用户下的所有控件信息,并以JSON格式返回。客户端解析返回的数据,并将其显示在界面上。在添加控件功能中,用户可以点击添加图标进入添加界面,在界面上填写控件名称。然后,客户端将用户ID和控件名称发送给网关,并将这些信息保存到数据库中。设备管理模块提供了方便快捷地管理自定义控件和设备的功能。用户可以灵活地添加、删除、修改控件,并在每个控件中管理相应的设备。系统还支持单个设备和整个区域内的设备集体控制,以及与情景模式关联的设备联动控制。Android客户端功能模块如图4-6所示。图4-6客户端功能模块图4.6.2客户端框架在Eclipse、AndroidStudio开发环境下,采用Java语言基于MVC模式对客户端进行设计。首先,创建一个Java项目,并在项目中创建三个包:view、controller和model。最后,在view包中,编写用户界面的代码。这可以是Swing、JavaFX或其他UI框架的代码。视图层负责生成用户界面,并接收用户输入。通过以上步骤,在Eclipse、AndroidStudio开发环境下使用Java语言基于MVC模式对客户端进行设计,可以实现清晰的代码分层和良好的可维护性。4.6.3通信模块通信模块负责客户端和服务器或网关之间的消息通信和链路维护,可采用TCP/UDP、HTTP或MQTT推送等通信方式。系统的通信协议需要设计消息格式、数据字段和命令定义等内容。具体实现过程包括:选择通信方式、设计消息通信协议、实现客户端的消息发送和接收、实现服务器或网关端的消息处理以及维护链路连接。系统的通信协议图4-7所示。图4-7通信协议图首次使用软件时,需要完成以下步骤:1.在云端注册:将用户名和密码通过HTTP方式发送到云端进行注册。这可以使用HTTP请求将用户凭据发送到服务器的API接口。2.获取用户ID:在注册成功后,云端服务器会生成一个唯一的用户ID,并将其返回给客户端应用程序。其可以通过HTTP响应获取该用户ID。系统的通信模块流程图如图4-8所示。图4-8通信模块流程图4.7本章小结本章介绍了系统软件设计的程序设计和流程图,包括建立合理的软件主函数以及进行模块化设计等。可以提高软件开发效率和代码质量。接着详细介绍了系统中各个软件模块的功能和实现方式,包括温湿度采集模块、通信模块和用户界面模块等。5系统测试与分析5.1软硬件调试本文提出的基于STM32的智能香薰灯设计的硬件电路调试结果如图5-1所示。可以观察到整个系统采用的是STM32F103C8T6单片机作为核心控制器,控制外部的温湿度传感器模块,加湿器模块,LED灯模块,按键模块,语音识别模块,显示屏模块和WiFi通信模块,进行系统硬件电路焊接之后,使用万用表检测每个模块的线路是否存在短路或者断路的情况,然后再上电进行测试,当前的电源指示灯点亮,表示系统可以各个模块连接正常,可以进行软件开发设计。图5-1系统硬件调试图本文提出的基于STM32的智能香薰灯设计的软件开发驱动和控制硬件电路的编程界面如图5-2所示。本文采用的是模块化设计的思路,分别对外部的温湿度传感器模块,加湿器模块,LED灯模块,按键模块,语音识别模块,显示屏模块和WiFi通信模块建立一个.c和一个.h文件,然后在主函数main中进行集中调用,以实现温湿度检测,如果湿度低于阈值则启动加湿器,也可以语音识别或者按键控制开关加湿器和LED灯,相关数据显示到液晶屏上观察,并将数据上传至APP端进行远程无监测,可以远程控制加湿器和LED灯的打开或关闭的功能。图5-2系统软件开发调试界面图5.3系统功能测试5.3.1初始化测试系统初始化上电功能的测试如图5-3所示。首先,检查所有硬件设备是否正确连接,并确保电源供应正常。其次,确保硬件连接没有问题之后上电进行初始化测试,可以观察到外部的电源指示灯正常的点亮,各个模块开始工作,测试结果达到预期的要求。图5-3系统初始化测试图5.3.2传感器测试温湿度传感器数据采集测试结果如图5-4所示。温湿度传感器数据采集测试是指对系统中的温湿度传感器进行测试,以确保它们能够准确、稳定地采集信息。上电之后可以在界面上观察到数据在更新变化之中。包括温度、湿度、加湿器和LED灯状态等参数,测试结果正常。图5-4传感器数据采集测试图5.3.3人机交互测试测试人机交互按键测试结果如图5-5所示。人机交互按键测试是指对本系统中的按键进行测试,以确保按键的功能正常、灵敏度良好,并与系统的其他部分正确交互。通过对外部的按键进行设置的测试,结果达到预期设计的效果。图5-5按键测试图5.3.4执行器控制测试外部执行器控制测试结果如图5-6所示。控制外部设备测试是指对系统中的加湿器,LED灯功能进行测试,以确保其能够准确、可靠地控制外部设备的开关、调节等操作。本文测试的外部设备类型,包括加湿器,LED灯打开和关闭,测试结果正常,功能达到预期的要求。图5-6执行器测试图问题分析本文提出的基于STM32的智能香薰灯设计测试的过程中发现了一些问题,主要集中在两个方面。第一,控制延迟:系统与外部加湿器,LED灯之间存在延迟,导致操作执行的时间不准确。原因是由于网络延迟、系统响应速度等引起的。在老师和同学的帮助指导下得到了解决。解决方法:优化网络连接和提升系统响应速度,通过在网络比较好的环境下进行测试。第二,温湿度读取失效:系统无法正确地传感器返回的参数。这是由于写驱动读取温湿度的时候没有进行格式的装换等原因引起的。解决方法:通过阅读芯片手册的数据转换规则,重新编程实现了数据的转换和正确的读取到温湿度。6总结与展望6.1总结本文提出的基于STM32的智能香薰灯设计是一种较为简单、成本较低的系统。通过使用STM32F103C8T6单片机作为控制核心,结合温湿度传感器和加湿器,LED灯,可以实现温湿度检测,如果湿度低于阈值则启动加湿器,也可以语音识别或者按键控制开关加湿器和LED灯,相关数据显示到液晶屏上观察,并将数据上传至APP端进行远程无监测,可以远程控制加湿器和LED灯的打开或关闭的功能。该系统具有成本低、易于实施、灵活性高、可扩展性强的优点。6.1展望随着物联网技术的不断发展基于STM32的智能香薰灯设计也将迎来更多创新和改进。未来的发展趋势包括以下两个方面:1.更高效的通信方式:目前常用的通信方式包括Wi-Fi、蓝牙等,但它们在功耗和传输速率上存在一定局限性。未来会出现更高效的通信方式,包括LoRaWAN、NB-IoT等,以满足基于STM32的智能香薰灯设计对长距离通信和低功耗要求。2.强化安全性:随着基于STM32的智能香薰灯与互联网紧密连接,安全问题也变得尤为重要。未来的发展将注重数据加密、身份认证和漏洞修复等安全机制,以保护用户隐私和防止黑客攻击。参考文献[1]胡涛,蒋澎涛,吕江.基于单灯智能控制的高速公路隧道照明管理系统研究[J].灯与照明,2023,47(03):5-8.[2]陆文玲.基于电力线载波的智能照明单灯控制系统设计[J].光源与照明,2023(06):96-98.[3]钟源,吕德,唐辉强等.隧道LED灯智能控制系统节能改造研究[J].制冷,2023,42(02):84-87.[4]孙果镓.基于机器视觉的高空灯诱害虫智能识别系统的研究与实现[D].浙江理工大学,2023.[5]方严,高安康,廖汉鑫等.一种智能路灯剩余电流动作保护器的设计[J].建筑电气,2023,42(03):62-64.[6]蒋强,李瑞宁.基于西门子PLC智能交通灯的设计与实现[J].软件,2022,43(12):115-117.[7]袁洪涛,吴茜,黄渤伦.通信技术更迭背景下城市路灯照明智能控制系统分析[J].光源与照明,2022(S1):100-103.[8]李雯婕.矿灯智能充电管理系统设计[J].内蒙古石油化工,2022,48(11):46-49.[9]陈河洲,芮新花,张治强等.基于STM32F103C8T6控制太阳能灯的App设计[J].电工技术,2022(22):82-84+88.[10]周艳玲,张云翔,曹晶.基于Netlogo的智能交通灯可控系统的研究与仿真[J].榆林学院学报,2022,32(06):71-75.[11]周立杰,井新宇.MSP430超低功耗单片机的便携式智能灯控制系统设计[J].电子世界,2021(23):156-157.[12]邓峙崇.汽车自适应前照灯控制算法设计与实现[D].哈尔滨工业大学,2022.[13]ChunxiaoZ,JianqiaoG,MinL,etal.IntelligentinterioratmospherelampsystembasedonquantumdotLEDsforsafedrivingassistance.[J].Opticsexpress,2023,31(8).[14]M.M,A.MM,H.SH,etal.Intelligentmodelingofphotocatalyticallyreactiveyellow84azodyeremovalfromaqueoussolutionsbyZnO-lightexpandedclayaggregatenanoparticles[J].InternationalJournalofEnvironmentalScienceandTechnology,2022,20(3).[15]ZhigangC,MengjieL,PeipeiL,etal.A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 污水处理厂化验员及操作工安全考试试卷(附答案)
- 2025年公共营养师基础知识考试题库及答案
- 2025年全国人民学习“乡村振兴战略”知识竞赛题库(附含答案)
- 医务人员职业防护试题及答案
- 临床监查员日常工作的规范与技巧
- 安全工程师中级绩效考核指标KPI设计与评估方案
- 注册结构工程师一级的职业道德与责任担当
- 关于老年人群的营养支持与服务体系建设探讨
- 项目经理PMP敏捷管理与风险控制实战案例
- 医疗护理相关制度及操作规范知识试卷题目集
- 2025年秋外研版(三起)(2024)小学英语三年级上册期中考试模拟试卷及答案
- 《2025年浙江公务员录用审计专业试卷(审计监督)》
- 厦门市总工会招聘工会专干和集体协商指导员笔试真题2024
- 地理环境保护与发展+课件-2025-2026学年八年级地理上学期(人教版2024)
- 建筑模型学生介绍
- 王源完整课件
- 2025年国家级检验检测机构资质认定评审员考试测试题及答案
- 2025年广西高考地理真题(解析版)
- 2025建筑施工企业安管人员考试(企业主要负责人A类)练习题及答案
- 2025年越南语专升本翻译专项试卷(含答案)
- 食品安全总监知识考试题及答案
评论
0/150
提交评论