一、前言
1.1 项目介绍
【1】项目开发背景
随着人们对生活环境舒适度的要求日益提高,室内空气质量的改善成为了重要议题之一。空气湿度是影响人体健康和舒适度的重要因素,尤其在冬季或者干燥的气候环境中,湿度过低容易导致干燥、呼吸道不适等健康问题。因此,调节室内空气湿度以提高生活质量成为越来越多家庭和办公场所的需求。传统的加湿器大多需要用户手动控制,且无法智能化调节加湿程度,使用过程中缺乏实时监控和自动化控制,容易造成加湿效果不理想,甚至因长时间运行或缺水而出现故障。因此,设计一款智能空气加湿器,能够自动调节湿度、监控水位并具备远程控制和报警功能,成为满足现代用户需求的一个重要方向。
目前市面上虽然有一些智能加湿器产品,但大多数产品在智能化控制和远程管理方面仍存在不足,许多加湿器仅能提供基本的湿度调节,且对水位监测和报警功能的支持较弱。而且,大部分加湿器需要依赖手动操作来启动和关闭,用户体验不够友好。随着物联网技术的快速发展,将智能设备与云平台结合,实现远程控制和数据实时监测,已经成为智能家居设备的一个重要发展趋势。基于这一趋势,本项目旨在设计一款具有温湿度检测、智能加湿、水位监控、报警提示以及云端数据交互等多功能的智能空气加湿器,借助STM32微控制器、ESP8266 Wi-Fi模块以及MQTT协议等技术,进一步提升加湿器的智能化水平。
本项目所设计的智能空气加湿器不仅能够通过环境湿度自动调节加湿器的开关状态,还能通过实时水位监控功能,防止加湿器因缺水导致的损坏。同时,系统还支持通过OLED显示屏和按键控制进行本地操作,确保用户在没有网络连接时也能方便地使用加湿器。更重要的是,用户可以通过智能手机APP或Windows上位机,通过MQTT协议远程查看设备状态、控制加湿器开关,并获取环境数据和设备信息,提升了系统的智能化、便捷性和可靠性。
综上所述,随着智能家居设备的发展与普及,市场对于智能空气加湿器的需求日益增多。本项目结合物联网技术、智能硬件设计及云平台服务,旨在开发一款功能全面、操作便捷、安全可靠的智能空气加湿器,填补市场中智能加湿器在自动化控制、远程管理和用户体验方面的不足,推动智能家居设备的普及与应用。
原理图:
APP运行图:
框架图:
实物图:
【2】设计实现的功能
(1)空气加湿功能
本地按键控制:用户可通过按键手动开启或关闭加湿器。
远程控制:用户可通过手机APP或Windows上位机远程控制加湿器的开关,实时调节空气湿度。
(2)温湿度检测功能
系统实时采集当前环境的温度和湿度数据。
在自动模式下,系统会根据设定的湿度阈值自动调节加湿器工作状态。当环境湿度低于阈值时,加湿器会自动开启;当环境湿度达到设定值时,加湿器会自动停止工作。
(3)水位检测功能
通过水位传感器监控加湿器的水量。
当水位低于设定值时,加湿器会自动停止工作,以避免干烧,并且蜂鸣器会发出警报提示用户及时加水。
当水位充足时,加湿器恢复工作,蜂鸣器停止警报。
(4)报警功能
当加湿器水位过低时,蜂鸣器会响起警报,提示用户补充水源。
当水位恢复正常后,蜂鸣器停止发声,系统继续加湿工作。
(5)按键控制功能
系统设置有3个按键,分别实现以下功能:
按键1:实现OLED显示屏的翻页操作,用户可以查看不同的显示界面。
按键2:实现自动模式与手动模式的切换。
按键3:手动控制加湿器的开关状态,方便用户直接控制设备。
(6)本地数据显示功能
OLED显示屏实时显示环境温湿度数据、当前水位、加湿器开启/关闭状态、运行模式和湿度阈值等信息。
用户可以方便地查看设备的运行状况,确保加湿器工作在最佳状态。
(7)数据上云功能
设备通过ESP8266 Wi-Fi模块连接华为云IOT物联网平台,利用MQTT协议实现数据的上传与云端交互。
上传的数据包括实时温湿度、加湿器工作状态和水位信息等。
用户可以通过手机APP或Windows上位机,远程查看设备上传的数据,并进行远程控制,如开启/关闭加湿器。
(8)远程控制功能
通过手机APP或Windows上位机,用户可以实时查看设备的工作状态,并进行远程操作。
远程控制功能包括加湿器开关、温湿度设定、加湿器状态查看等,确保用户随时都能掌握加湿器的工作情况。
(9)模式选择功能
设备支持自动模式和手动模式切换。
自动模式下,加湿器根据实时温湿度自动工作,手动模式下,用户可以手动控制加湿器的开关。
按键2用于切换这两种工作模式,提升用户的操作灵活性。
(10)系统安全性与稳定性功能
系统通过水位传感器和蜂鸣器有效预防因缺水而引起的加湿器损坏,确保加湿器在安全条件下运行。
此外,系统能够稳定运行于低功耗状态,延长设备的使用寿命。
【3】项目硬件模块组成
(1)主控芯片:STM32F103RCT6
该模块为系统的核心控制单元,负责处理所有的输入输出信号,包括传感器数据采集、加湿器控制、按键输入、显示输出等。STM32F103RCT6具有较高的处理能力和丰富的外设接口,适合用于本项目中实时控制与数据处理。
(2)温湿度传感器:SHT30
SHT30模块用于实时采集环境的温度和湿度数据。该传感器具有高精度和良好的稳定性,能提供可靠的环境参数给主控芯片。通过I2C接口与STM32主控芯片连接,采集到的数据用于自动调节加湿器的工作状态。
(3)水位传感器
水位传感器用于实时监测加湿器中的水位情况。它输出模拟信号,通过STM32的ADC接口进行采集,将水位数据转化为数字信号。系统根据水位数据判断是否需要停止加湿器工作,防止干烧。
(4)继电器模块
继电器模块用于控制加湿器的开关。STM32通过数字信号控制继电器的通断,进而控制加湿器的电源供应。继电器作为一个开关元件,能够承受加湿器的工作电流,确保设备的正常运作。
(5)蜂鸣器
蜂鸣器用于在水位过低时发出警报,提醒用户及时加水。它是通过控制高电平信号触发的有源蜂鸣器,能够清晰地发出响亮的声音,确保用户能及时注意到设备问题。
(6)OLED显示屏(0.96寸)
OLED显示屏用于本地数据显示,显示当前环境温湿度、加湿器状态、水位情况、工作模式、湿度阈值等信息。通过SPI协议与STM32连接,实时更新屏幕显示的内容,提供清晰的设备状态信息。
(7)按键模块
系统设有三个按键,分别用于实现以下功能:
• 按键1:实现显示屏翻页操作,切换不同的数据显示界面。
• 按键2:切换自动/手动工作模式。
• 按键3:手动开关加湿器。
每个按键都通过GPIO接口连接到STM32,按键的状态通过程序读取并进行相应操作。
(8)ESP8266 Wi-Fi模块
ESP8266模块用于将设备连接到Wi-Fi网络,并通过MQTT协议实现数据的上传与远程控制。通过与华为云IOT物联网平台的连接,设备能够实现数据上传、远程监控和控制等功能。
(9)电源模块
系统的电源由外部12V 2A稳压电源提供。该电源模块为整个设备提供5V和3.3V的电压,以满足STM32、传感器、显示屏、继电器和Wi-Fi模块等硬件组件的供电需求。
(10)水位检测模拟传感器接口
该模块通过模拟信号输出水位数据,并通过STM32的ADC接口进行采集,将水位信息转换为数字信号。水位数据用于控制加湿器的启停,确保加湿器在缺水情况下不会工作。
【4】设计意义
随着科技的进步与生活质量的提高,智能家居系统越来越受到人们的青睐。智能空气加湿器作为智能家居的重要组成部分,能够根据环境的变化自动调节室内空气湿度,改善居住环境的舒适度,满足人们对健康生活的需求。本项目设计的智能空气加湿器通过结合温湿度检测、水位监控、远程控制和报警功能,不仅能够提供更加智能和便捷的用户体验,还能在一定程度上优化加湿器的使用效率与安全性,避免了传统加湿器操作繁琐且容易忽视的问题。
本项目通过引入自动湿度调节功能,使加湿器能够根据实时环境湿度自动调节工作状态,避免人为干预和过度加湿现象的发生,确保室内湿度始终维持在适宜的范围内,这对于居住者的健康至关重要。尤其在干燥季节,过低的湿度会对人体的呼吸道、皮肤及眼睛等产生负面影响,智能加湿器能够有效改善这一问题,提供更加舒适的居住环境。
水位监测和报警功能的设计,解决了传统加湿器可能因水位过低而出现的干烧问题。系统通过实时监控水位,确保加湿器只有在水位充足的情况下工作,这不仅延长了加湿器的使用寿命,还提高了使用的安全性。此外,当水位过低时,蜂鸣器会自动发出警报,及时提醒用户加水,进一步降低了设备损坏的风险。
项目设计还结合了物联网技术,通过ESP8266模块和华为云IOT平台的连接,实现了设备数据的上传与远程控制。用户无需靠近设备即可通过手机APP或Windows上位机远程查看设备状态并控制加湿器开关,大大提高了用户的便捷性与舒适性。这种智能化控制让加湿器在使用过程中更加符合现代家庭的需求,使其成为智能家居系统中的一部分。
本项目的设计不仅提升了加湿器的智能化、自动化和远程控制功能,也为智能家居系统的进一步发展提供了实践经验。通过STM32微控制器、MQTT协议和物联网平台的结合,实现了加湿器与云平台的数据交互,为今后类似设备的智能化设计提供了宝贵的参考。此外,设计中的各个功能模块可以根据需求进行拓展或修改,为未来的系统升级和优化留出了空间。
总体而言,本项目的智能空气加湿器设计,不仅提升了传统加湿器的使用体验,还通过智能化和云平台的支持,使得用户能够更加便捷、智能地管理家庭环境,具有较高的社会价值和应用前景。
【5】国内外研究现状
国内外对智能空气加湿器的研究和开发呈现出多样化的趋势,尤其随着物联网技术的发展,智能家居产品逐渐成为人们日常生活的一部分。在国内,许多企业已经开始探索将物联网技术应用于传统的家电设备中,以实现更高效、便捷的用户体验。例如,小米公司推出的米家系列智能家居产品,其中就包括了支持手机APP远程控制的智能空气净化器和加湿器。这些设备不仅能够通过手机进行操作,还能根据环境中的温湿度自动调节工作状态,极大地提高了用户的生活质量。
与此同时,国外在智能家居领域也有着深入的研究和发展。比如,美国的一些科技公司如Nest(已被谷歌收购),专注于研发智能家居控制系统,其产品涵盖了温度控制器、烟雾报警器等,并逐步向空气质量管理领域扩展。虽然直接针对智能空气加湿器的研究报道相对较少,但相关技术的应用案例却十分丰富。例如,某些高端品牌的空调系统已经集成了加湿功能,并且可以通过互联网进行远程监控和调节,实现了更加精准的室内环境管理。
此外,科研机构也在不断探索提高空气加湿器智能化水平的方法。一些研究集中在如何利用先进的传感器技术来提升检测精度,如使用更高灵敏度的湿度传感器来实时监测环境变化;还有一些则致力于改善加湿器与用户之间的交互方式,比如采用语音识别技术让用户可以更加自然地控制设备。例如,在某些研究项目中,研究人员尝试将深度学习算法应用于空气质量和湿度预测模型中,以期实现更加精确的环境调控。
综上所述,无论是国内还是国际市场,智能空气加湿器及其相关技术正在向着更加智能化、便捷化和人性化的方向发展。随着物联网技术和人工智能技术的不断进步,预计未来会有更多创新性的应用出现,进一步推动智能家居行业的发展。
【6】摘要
随着生活水平的提高,智能家居系统逐渐成为现代家庭的重要组成部分。加湿器作为其中一种常见的家电设备,其传统的工作方式往往依赖于人工操作,且缺乏智能化控制,容易出现过度加湿或干烧等问题。本设计基于STM32单片机,结合温湿度检测、水位监测、自动湿度调节和远程控制等功能,设计了一款智能空气加湿器。系统通过SHT30温湿度传感器实时采集环境数据,并通过继电器控制加湿器的开启与关闭;水位传感器监控水量,防止干烧;ESP8266 Wi-Fi模块实现设备与华为云IOT平台的连接,支持数据上云与远程控制功能。同时,用户可通过手机APP或Windows上位机进行设备的远程操作和状态监控。该设计充分考虑了用户需求,提升了加湿器的智能化、便捷性及安全性,具有较高的实用价值与推广前景。
关键字
智能空气加湿器;STM32;温湿度检测;水位监测;远程控制;物联网;MQTT协议;华为云IOT
1.2 设计思路
本项目的设计思路主要围绕智能化、自动化、用户友好性及安全性展开。设计目标是开发一款能够自动调节空气湿度、监测水位并支持远程控制的智能加湿器,以满足现代家庭对健康生活环境的需求,同时避免传统加湿器存在的安全隐患和操作繁琐问题。
系统的核心控制单元选用了STM32F103RCT6单片机,该芯片具有较强的计算能力和丰富的外设接口,能够有效处理环境温湿度的采集、加湿器的控制及传感器数据的处理等任务。为了确保系统高效、稳定地运行,项目采用了位运算直接操作寄存器的方式,避免了标准库和HAL库接口的复杂性,提高了程序的执行效率和响应速度。
在温湿度控制方面,通过SHT30传感器实时监测环境湿度,并将数据传输给STM32单片机。系统设定了一个湿度阈值,当环境湿度低于该值时,加湿器自动开启;当环境湿度超过设定值时,加湿器自动关闭,实现自动湿度调节。此外,系统支持手动模式,用户可以通过按键或手机APP控制加湿器的开关,满足不同使用场景下的需求。
为了防止加湿器因水位过低发生干烧现象,设计了水位监测模块。水位传感器通过模拟量输出实时监测加湿器的水量,并通过STM32的ADC接口进行数据采集。当水位低于安全阈值时,加湿器停止工作并触发蜂鸣器发出警报,提醒用户及时加水。当水位充足时,蜂鸣器停止警报,设备恢复正常运行。
本系统还充分利用了物联网技术,通过ESP8266 Wi-Fi模块将设备与华为云IOT平台连接,实现数据的上云与远程控制。设备采集到的环境温湿度数据、加湿器状态和水位数据通过MQTT协议上传至云平台,用户可通过手机APP或Windows上位机实时查看设备状态,并远程控制加湿器的开启与关闭。这不仅提升了系统的智能化,还大大增加了用户的便利性。
显示方面,采用了0.96寸OLED显示屏,用于本地显示环境温湿度、加湿器状态、当前水位、湿度阈值等信息。用户通过按键可以切换显示界面,查看不同的数据,提升了设备的操作体验。
综上所述,本项目设计思路围绕实现智能化控制、提高用户便利性和安全性,充分结合了温湿度检测、水位监测、自动调节、远程控制等功能,通过STM32单片机的核心控制,配合传感器与物联网技术,形成一个高效、安全、易操作的智能空气加湿器系统。
1.3 系统功能总结
功能模块 | 功能描述 |
空气加湿 | 支持本地按键开启或关闭加湿器,也支持手机APP远程控制加湿或停止加湿。 |
温湿度检测 | 实时采集当前环境的湿度和温度数据,自动模式下根据设定湿度阈值自动启停加湿器。 |
水位检测 | 通过水位传感器实时监测加湿器的水量,当水位过低时停止加湿器工作,避免干烧,水位充足时恢复加湿工作。 |
报警功能 | 当水位过低时,启动蜂鸣器报警提醒用户加水;水位充足时停止报警。 |
按键控制 | 支持三个独立按键:按键1实现显示翻页,按键2实现自动/手动模式切换,按键3实现加湿器的手动开启/关闭控制。 |
本地数据显示 | 通过OLED显示屏显示环境温湿度、当前水位、加湿器状态、运行模式和湿度阈值等信息。 |
数据上云 | 通过ESP8266模块与华为云IOT平台连接,使用MQTT协议上传温湿度数据、加湿器状态、水位数据等,支持远程查看与控制。 |
远程控制 | 用户可通过手机APP或Windows上位机远程查看设备数据,并进行加湿器的控制(开启/关闭)。 |
自动/手动模式切换 | 系统支持自动模式(根据环境湿度自动控制加湿器)与手动模式(用户手动开启/关闭加湿器)之间的切换。 |
显示翻页功能 | 通过按键实现显示不同的数据页面(如环境温湿度、水位、加湿器状态等)。 |
1.4 开发工具的选择
【1】设备端开发
设备端开发环境的选择和配置对于本项目的顺利进行至关重要。本项目的设备端开发采用了Keil5软件编程环境,Keil是嵌入式系统开发中常用的集成开发环境(IDE),其支持多种ARM Cortex-M系列的微控制器,并具有高效的编译优化能力,适合于开发STM32等基于ARM架构的单片机。
Keil5提供了丰富的调试功能,包括源代码级调试、变量监控、堆栈追踪等,能够帮助开发人员在开发过程中迅速定位问题。与STM32F103RCT6主控芯片的兼容性非常好,通过Keil5可以轻松配置和管理开发项目,同时进行编译、烧录和调试。
编程语言方面,本项目采用C语言进行开发。C语言作为一种高效、结构化的语言,在嵌入式开发中得到广泛应用,尤其适用于对硬件的低级操作。在编写代码时,本项目特别选择了直接操作寄存器的方式,通过位运算来实现硬件功能的控制。这样做的优势在于能够提高程序执行效率,降低系统资源消耗,同时也能更灵活地实现对硬件的精细控制。这种方法相较于使用标准库或HAL库接口,能够让开发人员更深入地理解和控制硬件操作,尤其适用于资源受限的嵌入式系统。
在程序下载方面,本项目采用了ISP(In-System Programming)串口下载方式。这种下载方式允许开发人员在系统运行时,通过串口直接下载和烧录程序,不需要额外的编程器或调试设备。ISP下载方式具有灵活性和便捷性,能够简化硬件调试过程,减少开发周期,且对于STM32F103RCT6主控芯片而言,支持该下载方式,进一步提升了开发效率。
Keil5作为开发环境,配合C语言编程、直接寄存器操作、ISP串口下载方式,能够满足本项目对高效、稳定的嵌入式开发需求,确保系统能够在精细的硬件控制下高效运行。
【2】APP上位机开发
APP上位机的开发环境选用了Qt 5.12.6版本,这是一个跨平台的开发框架,广泛应用于开发高性能的图形用户界面(GUI)应用程序,特别是在嵌入式系统和桌面应用开发中,具有良好的支持和灵活性。Qt提供了丰富的类库和工具,支持开发者创建具备良好用户体验的应用,并且能够在多平台上运行,包括Windows、Android等操作系统,这对于本项目的跨平台需求至关重要。
Qt开发环境中使用的编程语言为C++,C++是Qt的主要开发语言,因其具备强大的性能和对系统资源的高效管理,尤其适合开发需要高效图形处理、实时响应以及数据管理的应用程序。通过Qt提供的信号与槽机制,开发者可以轻松实现事件驱动的编程模式,这对于创建响应式、动态更新的上位机应用是一个重要特性。
开发环境部署在Windows 10操作系统下,Windows平台作为开发主机,能够提供良好的调试和测试环境,确保开发过程中的高效性和稳定性。通过Qt Creator集成开发环境(IDE),开发人员可以在一个统一的界面中进行代码编写、界面设计、调试、编译等一系列操作。Qt Creator提供了强大的代码补全、智能提示以及调试工具,这些功能大大提高了开发效率,帮助开发人员快速定位问题和优化代码。
另外,Qt的跨平台特性使得该开发环境支持同时编译和部署Windows版本以及Android版本的APP。在开发过程中,可以通过Qt的工具链进行Android版本的编译和打包,使得同一个代码库能够轻松适配不同的平台,确保在Windows和Android设备上的一致性和兼容性。对于本项目来说,能够在Android和Windows上运行相同的APP,不仅降低了开发成本,还能够保证用户体验的统一性。
Qt 5.12.6版本作为开发环境,通过C++编程语言和跨平台支持,结合Windows 10系统,提供了一个高效、稳定、易于维护的开发平台,为本项目的APP上位机开发提供了坚实的基础。