0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于STM32与机智云的智能家居系统(完整项目)

机智云 2026-05-15 18:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

物联网嵌入式技术推动智能家居成为主流,传统家居存在功能单一、监测不全、控制繁琐等缺陷。本文设计基于STM32F103C8T6与机智云平台的智能家居控制系统,通过多传感器采集环境参数,经OLED实时显示、ESP8266-01S接入云端,实现手机APP远程监测、模式切换、手动/自动控制与报警提醒。


本文设计基于STM32F103C8T6与机智云的智能家居控制系统,涵盖总体方案、硬件选型与电路、软件逻辑设计及调试测试,实现环境多参数检测、OLED显示、模式切换、手/自动控制、远程交互与报警提醒功能。

644a28a0-5045-11f1-ab55-92fbcf53809c.png



Part.01研究目标


1、完成硬件选型与电路设计,精准采集温湿度、烟雾、一氧化碳、空气质量、光照、气压等参数,保障设备可靠控制;

2、设计软件逻辑,实现手/自动模式切换,自动模式下异常预警与设备自动调控,手动模式下按键控制步进电机和照明灯;

3、实现ESP8266-01S与机智云稳定连接,完成数据上报与指令下发,达成远程监测与控制;

4、通过调试测试,确保系统稳定、响应迅速、精度达标,满足实际使用需求。


64b0c916-5045-11f1-ab55-92fbcf53809c.png


Part.02系统整体架构


本智能家居控制系统以STM32F103C8T6单片机为核心控制单元,采用分层设计理念,分为硬件层、软件层与云平台层三个部分,整体架构如图2-1所示(此处可插入架构图,论文中可预留图位)。


硬件层是系统的基础,主要包括主控单元、环境监测模块、显示模块、执行模块、按键模块、无线通信模块以及报警模块,负责环境参数的采集、控制指令的执行、数据的显示与无线传输;软件层运行于STM32单片机中,负责处理传感器采集的数据、解析用户按键指令与机智云平台下发的指令,控制执行模块动作,实现模式切换、阈值调节、报警控制等功能,并与云平台进行数据交互;云平台层采用机智云物联网平台,负责接收单片机上传的环境数据、存储数据、下发用户控制指令,实现手机APP与智能家居控制系统的远程通信,为用户提供远程监测与控制入口。


Part.03系统设计原则


为确保系统的实用性、可靠性、经济性与可扩展性,结合智能家居的使用场景与用户需求,本次设计遵循以下原则:


实用性原则:贴合用户实际需求,实现环境多参数检测、智能控制、远程交互、报警提醒等核心功能,操作简洁易懂,无需专业知识即可上手使用;


可靠性原则:选用性能稳定、口碑良好的指定元器件,优化电路设计与软件逻辑,减少故障发生,确保系统长期稳定运行,尤其保证安全预警功能的可靠性;


经济性原则:在满足功能需求与性能要求的前提下,选用低成本、高性价比的元器件,降低系统整体成本,便于批量推广与普通家庭使用;


可扩展性原则:系统设计预留一定的接口,便于后续增加功能模块(如语音控制、多设备联动等),适应不同用户的个性化需求与智能家居的发展趋势。


Part.04系统功能模块划分


根据系统的设计目标与功能需求,结合指定元器件,将系统划分为以下7个功能模块,各模块协同工作,实现智能家居控制系统的全部预设功能:


主控模块:以STM32F103C8T6单片机为核心,是系统的“大脑”,负责接收各模块的反馈信号,解析按键指令与机智云指令,控制执行模块动作,处理环境监测数据,实现各模块的协同工作;


环境监测模块:由DHT11温湿度传感器、光敏传感器、MQ-2烟雾传感器、MQ-7一氧化碳传感器、MQ-135空气质量传感器、BMP280气压传感器组成,负责全面采集室内环境参数,为系统控制与预警提供数据支撑;


显示模块:采用OLED屏幕,负责实时显示当前环境各参数(温湿度、烟雾浓度、一氧化碳浓度、空气质量、光照强度、大气压强)、系统工作模式、阈值参数等信息,方便用户现场查看;


执行模块:由步进电机、LED照明灯组成,步进电机用于实现开窗通风(模拟),LED照明灯用于室内照明,接收主控模块的控制信号,执行相应的动作;


按键模块:负责实现模式切换(自动/手动)、阈值调节(加/减)、进入设置界面等操作,是用户与系统现场交互的主要方式;


无线通信模块:采用ESP8266-01S WIFI模块,负责连接家庭WIFI网络与机智云平台,实现单片机与手机APP之间的数据交互(环境数据上报、控制指令下发);


报警模块:由有源蜂鸣器组成,负责在自动模式下,当检测到烟雾浓度、一氧化碳浓度、空气质量超出预设阈值时,发出报警声音,提醒用户及时处理,提升家居安全性。


Part.05系统硬件设计


硬件选型


硬件选型是系统设计的基础,结合系统功能需求、性能要求与经济性原则,严格按照用户指定的元器件型号进行选型,确保各元器件适配性良好、性能稳定,具体选型如下:


主控单元:STM32F103C8T6单片机


STM32F103C8T6是ST公司推出的一款基于ARM Cortex-M3内核的32位微控制器,主频最高可达72MHz,拥有丰富的IO接口、ADC接口、UART接口等,能够满足系统多传感器数据采集、多设备控制、无线通信等需求。该单片机体积小、功耗低、性能稳定、性价比高,广泛应用于嵌入式系统与智能家居设计中,非常适合作为本系统的主控单元。其最小系统需满足供电、时钟、复位等基本需求,供电电压为3.3V,采用外部8MHz晶体振荡器提供时钟信号,配置复位按键实现系统复位功能,同时设置正确的启动模式,确保单片机正常工作。


环境监测模块元器件


DHT11温湿度传感器:采用单总线通信方式,能够同时采集环境温度与湿度,测量范围为温度0-50℃、湿度20%-90%RH,精度满足家庭环境监测需求,接线简单、成本低廉,适合用于本系统的温湿度采集。该传感器通过DATA引脚与单片机进行串行单向数据传输,一次通讯时间约4ms,数据格式为8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和,确保数据采集的准确性。


光敏传感器:采用电阻式光敏传感器,能够根据光照强度的变化输出不同的电压信号,通过ADC接口与单片机连接,实现光照强度的采集。该传感器结构简单、响应迅速,能够准确检测室内光照情况,为LED照明灯的自动控制提供依据。


MQ-2烟雾传感器:采用半导体气敏元件,能够检测烟雾、可燃气体(如甲烷、丙烷等)的浓度,测量范围为100-10000ppm,灵敏度高、响应速度快,通过ADC接口与单片机连接,实现烟雾浓度的实时采集,用于安全预警。该传感器工作时需加热,加热电流约50mA,工作电压为5V,通过检测输出电压的变化反映烟雾浓度的高低。


MQ-7一氧化碳传感器:采用半导体气敏元件,专门用于检测一氧化碳浓度,测量范围为10-1000ppm,对一氧化碳具有良好的选择性,抗干扰能力强,通过ADC接口与单片机连接,实现一氧化碳浓度的实时采集,是家庭安全监测的核心传感器之一。该传感器需加热启动,加热电压为5V,工作电压为3.3V,输出电压随一氧化碳浓度升高而增大。


MQ-135空气质量传感器:采用半导体气敏元件,能够检测空气中的多种有害气体(如甲醛、苯、氨气等),测量范围为0-1000ppm,灵敏度可调,通过ADC接口与单片机连接,实现室内空气质量的实时监测,反映室内环境的健康状况。该传感器工作电压为5V,输出模拟信号,通过ADC转换为数字信号后供单片机处理。


BMP280气压传感器:采用I2C或SPI通信方式,能够精准测量大气压强与温度,测量范围为300-1100hPa,压强测量精度可达±1hPa,温度测量精度可达±0.1℃,同时支持低功耗模式,适合长期工作。该传感器体积小、精度高,通过I2C接口与单片机连接,实现大气压强的采集,丰富环境监测维度。


Part.06显示模块:OLED屏幕


选用0.96英寸OLED屏幕,采用I2C通信方式,具有分辨率高、功耗低、响应快、视角广、显示清晰等优点,能够实时显示环境各参数、系统工作模式、阈值参数等信息。该屏幕体积小、重量轻,便于安装在控制面板上,方便用户现场查看系统状态与环境数据,无需额外驱动电路,接线简单,与STM32单片机适配性良好。


Part.07执行模块元器件


步进电机:选用28BYJ-48步进电机,搭配ULN2003驱动模块,能够实现精准的转速与角度控制,用于模拟开窗通风动作。该电机体积小、力矩大、运行稳定,工作电压为5V,通过GPIO接口与单片机连接,由单片机输出控制信号驱动其正转、反转与停止,实现开窗与关窗的动作。


LED照明灯:选用普通白色LED灯,用于室内照明,工作电压为3.3V,通过GPIO接口与单片机连接,由单片机控制其亮灭。LED灯具有功耗低、寿命长、响应快等优点,适合作为智能家居的照明设备,同时通过串联220Ω限流电阻,保护LED灯与单片机IO口。


按键模块:独立按键


选用4个独立按键,分别用于模式切换(自动/手动)、进入设置界面、参数阈值调节(加/减),通过GPIO接口与单片机连接。按键采用高有效方式连接,无需额外添加下拉电阻,可通过软件配置单片机内部下拉电阻,实现按键信号的精准检测,操作简单、可靠,能够满足用户现场操作的需求。


无线通信模块:ESP8266-01S WIFI模块


选用ESP8266-01S WIFI模块,支持802.11b/g/n无线协议,采用UART通信方式与单片机连接,能够实现与家庭WIFI网络、机智云平台的稳定通信,上传环境数据与接收控制指令。该模块体积小、功耗低、通信稳定,支持一键配网,便于用户操作,是实现远程控制的核心元器件。使用前需对模块烧录机智云固件,通过USB A TTL CH340串口工具完成烧录,配置WIFI连接参数,确保模块能够正常接入机智云平台。


报警模块:有源蜂鸣器


选用有源蜂鸣器,无需额外驱动电路,工作电压为3.3V,通过GPIO接口与单片机连接,当单片机输出低电平信号时,蜂鸣器发出连续的报警声音;输出高电平时,蜂鸣器停止报警。该蜂鸣器音量适中、功耗低,能够有效提醒用户环境异常,提升家居安全性,适合作为本系统的报警设备。


硬件电路设计


系统硬件电路主要包括主控单元电路、环境监测模块电路、显示模块电路、执行模块电路、按键模块电路、无线通信模块电路以及报警模块电路,各电路相互独立又相互关联,通过导线连接形成完整的硬件系统,电路设计遵循简洁、可靠、抗干扰的原则,确保各模块稳定工作。


主控单元电路


STM32F103C8T6单片机最小系统电路包括供电电路、时钟电路、复位电路与启动模式配置电路。供电电路采用LM1117低压差线性调整器,将5V输入电压转换为3.3V稳定电压,为单片机及其他需3.3V供电的模块(如OLED屏幕、BMP280传感器)供电,同时在供电引脚旁配置100nF旁路电容,滤除电源噪声,保证供电稳定性;时钟电路采用外部8MHz晶体振荡器,搭配两个22pF匹配电容与1MΩ反馈电阻,为单片机提供稳定的时钟信号,确保单片机正常运行;复位电路采用轻触按键复位,利用单片机内部上拉电阻,无需额外添加上拉电阻,按下按键时实现系统复位,松开按键后系统正常工作;启动模式配置电路通过两个10kΩ电阻将BOOT0与BOOT1引脚下拉到地,默认设置为主Flash存储器启动模式,确保单片机上电后正常加载程序。


环境监测模块电路


环境监测模块各传感器电路设计如下:


DHT11温湿度传感器:VCC引脚接3.3V电源,GND引脚接地,DATA引脚通过10kΩ上拉电阻连接到单片机的GPIO引脚,实现温湿度数据的采集,上拉电阻用于保证数据传输的稳定性;

光敏传感器:采用分压电路,传感器一端接3.3V电源,另一端接地,中间节点连接到单片机的ADC接口,通过检测节点电压的变化,实现光照强度的采集,电压随光照强度增大而减小;


MQ-2烟雾传感器、MQ-7一氧化碳传感器、MQ-135空气质量传感器:三款传感器均采用分压电路,传感器一端接5V电源,另一端通过10kΩ电阻接地,中间节点连接到单片机的ADC接口,传感器加热引脚直接接5V电源,通过检测节点电压的变化反映对应气体浓度的高低,电压随气体浓度升高而增大;


BMP280气压传感器:采用I2C通信方式,VCC引脚接3.3V电源,GND引脚接地,SDA引脚与SCL引脚分别连接到单片机的两个GPIO引脚,通过I2C通信协议实现与单片机的数据交互,采集大气压强与温度数据。


Part.08显示模块电路


OLED屏幕采用I2C通信方式,其SDA引脚与SCL引脚分别连接到单片机的两个GPIO引脚,VCC引脚接3.3V电源,GND引脚接地,无需额外驱动电路,通过I2C通信协议,单片机向OLED屏幕发送显示指令与数据,实现环境参数、系统模式、阈值等信息的实时显示,接线简单、功耗低。


执行模块电路


执行模块电路包括步进电机驱动电路与LED照明电路:


步进电机驱动电路:步进电机通过ULN2003驱动模块与单片机连接,驱动模块的IN1-IN4引脚分别连接到单片机的四个GPIO引脚,驱动模块的VCC引脚接5V电源,GND引脚接地,步进电机的四个引脚分别连接到驱动模块的OUT1-OUT4引脚,由单片机输出控制信号,驱动步进电机正转、反转与停止,实现开窗与关窗动作;


LED照明电路:LED灯的阳极通过220Ω限流电阻连接到单片机的GPIO引脚,阴极接地,单片机输出高电平时,LED灯点亮;输出低电平时,LED灯熄灭,实现照明的控制,限流电阻用于保护LED灯与单片机IO口,防止电流过大损坏元器件。


Part.09按键模块电路


四个独立按键的一端分别连接到单片机的四个GPIO引脚,另一端共同接地,通过软件配置单片机内部下拉电阻,当按键按下时,GPIO引脚检测到高电平信号,单片机通过检测电平变化识别按键操作,实现模式切换、阈值调节、进入设置界面等功能,电路设计简洁、可靠,无需额外添加电阻元件。


无线通信模块电路


ESP8266-01S WIFI模块的VCC引脚接3.3V电源,GND引脚接地,TXD引脚连接到单片机的RX引脚,RXD引脚连接到单片机的TX引脚,通过UART通信协议,实现单片机与模块之间的数据交互,进而实现与机智云平台的连接。需注意模块与单片机的共地,避免通信干扰,同时在模块电源引脚旁配置100nF旁路电容,保证模块供电稳定。


报警模块电路


有源蜂鸣器的VCC引脚接3.3V电源,GND引脚通过GPIO引脚接地,当单片机输出低电平信号时,蜂鸣器回路导通,发出报警声音;输出高电平时,回路断开,蜂鸣器停止报警。电路设计简洁,无需额外驱动元件,能够快速响应单片机的控制信号,确保报警功能的及时性。


硬件连接总览


系统硬件连接采用模块化设计,各模块通过导线与STM32F103C8T6单片机的对应引脚连接,确保各模块能够正常通信与工作,具体连接关系如下(可根据实际引脚分配调整,均选用单片机空闲IO口与ADC接口):


DHT11温湿度传感器:DATA → PA0

光敏传感器:信号输出端→ PA1(ADC接口)

MQ-2烟雾传感器:信号输出端 → PA2(ADC接口)

MQ-7一氧化碳传感器:信号输出端 → PA3(ADC接口)

MQ-135空气质量传感器:信号输出端 → PA4(ADC接口)

BMP280气压传感器:SDA → PB0,SCL → PB1

OLED屏幕:SDA → PB2,SCL → PB3

步进电机驱动模块:IN1 → PB4,IN2 → PB5,IN3 → PB6,IN4 → PB7

LED照明灯:阳极 → PC0(经220Ω限流电阻)

按键:K1(模式切换)→ PC1,K2(进入设置)→ PC2,K3(加)→ PC3,K4(减)→ PC4

ESP8266-01S模块:TXD → PC5,RXD → PC6

有源蜂鸣器:GND → PC7

硬件连接完成后,需对各模块进行绝缘处理,避免引脚短路,确保系统硬件的安全性与可靠性;同时检查各元器件的接线是否正确,避免接反电源导致元器件损坏。


Part.10系统软件设计


软件设计思路


系统软件设计采用模块化设计思想,以STM32F103C8T6单片机为核心,按照功能模块划分软件模块(环境监测模块、显示模块、模式切换与控制模块、阈值调节模块、无线通信与机智云接入模块、报警模块),各模块独立设计、协同工作,便于软件的调试、修改与扩展。


软件设计的核心思路是:系统上电后,首先完成各模块的初始化,包括单片机IO口、ADC、UART、I2C等外设的初始化,以及各传感器、OLED屏幕、ESP8266-01S模块的初始化;初始化完成后,OLED屏幕显示系统启动信息,随后系统进入主循环;在主循环中,系统实时采集环境各参数(温湿度、烟雾浓度、一氧化碳浓度、空气质量、光照强度、大气压强),对采集到的数据进行处理与校准;然后判断当前工作模式(自动模式或手动模式),根据模式解析按键指令与机智云平台指令,控制执行模块(步进电机、LED灯)动作,同时将环境数据上传到机智云平台,通过OLED屏幕显示相关信息;当自动模式下检测到环境参数超出阈值时,控制蜂鸣器发出报警声音,并执行相应的自动控制动作(开窗通风、开启LED灯);循环执行上述流程,确保系统持续稳定运行。


主程序设计


主程序是系统软件的核心,负责统筹各模块的工作,协调各模块之间的数据交互与指令执行,其流程如下:


1、系统上电,初始化系统时钟、单片机外设(IO口、ADC、UART、I2C);


2、初始化各功能模块:环境监测模块(DHT11、光敏、MQ系列、BMP280)、OLED显示模块、ESP8266-01S WIFI模块、按键模块、报警模块;


3、OLED屏幕显示系统启动信息(如“智能家居控制系统启动中...”),延迟2秒后切换到正常显示界面;


4、系统进入主循环,首先调用环境监测模块函数,采集各环境参数,对数据进行校准与处理,转换为可显示、可判断的实际数值;


5、调用显示模块函数,将处理后的环境参数、当前系统模式、各参数阈值等信息显示在OLED屏幕上,实时更新;


6、检测按键信号,解析按键指令,实现模式切换、阈值调节、进入设置界面等功能;


7、检测ESP8266-01S模块与机智云平台的连接状态,若连接正常,将环境参数上传到机智云平台,并接收平台下发的控制指令,解析后执行相应动作;


8、根据当前工作模式执行相应的控制逻辑:自动模式下,判断环境参数是否超出阈值,若超出则启动报警,并控制步进电机开窗通风、LED灯开启;手动模式下,根据按键指令或远程指令控制步进电机与LED灯的动作;


9、循环执行步骤4-8,确保系统持续稳定运行,实时响应各类指令与环境变化。


Part.11各功能模块软件设计


环境监测模块软件设计


环境监测模块软件主要负责采集各传感器的输出信号,并对信号进行处理、校准,得到实际的环境参数,为系统控制与预警提供数据支撑,各传感器的软件处理逻辑如下:


DHT11温湿度传感器:软件通过GPIO引脚向传感器发送启动信号(拉低总线18ms以上,再拉高20-40us),等待传感器响应后,接收传感器输出的40bit数据,对数据进行校验(前32bit数据的校验和与后8bit校验和一致则数据有效),解析后得到温度与湿度的实际数值;


光敏传感器:通过ADC接口采集传感器的输出电压信号,将模拟信号转换为数字信号(0-4095),再通过校准公式(光照强度=(4095-数字信号)/4095×1000lux)转换为实际的光照强度值,实现光照强度的量化采集;


MQ-2烟雾传感器、MQ-7一氧化碳传感器、MQ-135空气质量传感器:均通过ADC接口采集传感器的输出电压信号,将模拟信号转换为数字信号,结合传感器的灵敏度曲线,校准后得到对应的气体浓度值,同时设置滤波处理,减少数据波动,确保采集数据的稳定性;


BMP280气压传感器:通过I2C通信协议向传感器发送读取指令,接收传感器返回的气压与温度数据,对数据进行解析与校准(根据传感器 datasheet 中的校准参数进行补偿),得到实际的大气压强与温度值,大气压强单位转换为hPa,温度单位转换为℃。


软件设置定时采集机制,每隔1秒采集一次环境参数,确保数据的实时性,同时对采集到的数据进行异常判断,若数据超出传感器的测量范围,则视为无效数据,采用上一次的有效数据替代,提升数据采集的可靠性。


Part.12显示模块软件设计


显示模块软件负责控制OLED屏幕显示相关信息,采用I2C通信协议,通过编写OLED屏幕的驱动函数,实现字符、数字、字符串的显示,显示界面分为正常显示界面与设置界面。


正常显示界面:实时显示环境各参数(温湿度、烟雾浓度、一氧化碳浓度、空气质量、光照强度、大气压强)、当前系统工作模式(自动/手动)、各参数阈值(烟雾、一氧化碳、空气质量、光照强度),显示格式清晰、简洁,便于用户查看;设置界面:当用户按下“进入设置”按键时,切换到设置界面,显示可调节的阈值选项,用户通过“加/减”按键调整阈值,设置完成后再次按下“进入设置”按键保存参数并返回正常显示界面。


软件通过定时器实现显示信息的更新,每隔1秒更新一次环境参数与系统状态,确保显示信息的实时性,同时避免频繁刷新导致屏幕闪烁,提升用户体验。


模式切换与控制模块软件设计


模式切换与控制模块软件负责处理按键指令与远程指令,实现自动模式与手动模式的顺畅切换,以及执行模块的精准控制,具体逻辑如下:


模式切换:当用户按下“模式切换”按键时,系统切换工作模式(自动→手动/手动→自动),并在OLED屏幕上显示当前模式,同时保存当前模式状态,下次上电后自动加载上次的模式;


自动模式控制逻辑:系统实时对比采集到的环境参数与预设阈值,当检测到烟雾浓度、一氧化碳浓度、空气质量中的任意一项超出阈值时,立即控制有源蜂鸣器发出报警声音,同时控制步进电机正转(模拟开窗通风),直至环境参数恢复到阈值范围内,蜂鸣器停止报警,步进电机反转(模拟关窗);当检测到光照强度低于预设阈值时,自动控制LED灯点亮,光照强度高于阈值时,自动控制LED灯熄灭;


手动模式控制逻辑:手动模式下,系统不进行自动调控,用户可通过现场按键或手机APP远程控制步进电机与LED灯的动作——按下对应按键或发送远程指令,控制步进电机正转(开窗)、反转(关窗)、停止,控制LED灯点亮、熄灭,动作响应迅速,控制准确。


阈值调节模块软件设计


阈值调节模块软件负责处理用户的设置指令,实现各环境参数阈值的调节与保存,具体逻辑如下:


当用户按下“进入设置”按键时,系统进入设置模式,OLED屏幕显示设置菜单,依次显示“烟雾浓度阈值”“一氧化碳浓度阈值”“空气质量阈值”“光照强度阈值”四个选项,用户通过“加/减”按键切换选项,选中某一选项后,再次通过“加/减”按键调整阈值大小(阈值范围根据传感器测量范围设定,如烟雾浓度阈值:100-1000ppm);设置完成后,按下“进入设置”按键,系统保存当前设置的阈值到单片机的Flash中,下次上电后自动加载,同时退出设置模式,返回正常显示界面。


软件设置阈值保护机制,确保调节的阈值在传感器测量范围内,避免超出范围导致控制逻辑异常,同时设置阈值默认值,当用户未进行阈值调节时,系统采用默认值运行。


无线通信与机智云接入模块软件设计


无线通信模块软件负责实现ESP8266-01S WIFI模块与单片机、机智云平台的通信,完成环境数据上报与控制指令接收,具体实现步骤如下:


1、ESP8266-01S模块初始化:系统上电后,单片机通过UART接口向模块发送AT指令,配置模块的工作模式(STA模式)、WIFI连接参数(SSID、密码),使模块连接到家庭WIFI网络,同时配置模块的通信波特率(与单片机一致,如9600bps);


2、机智云平台接入:在机智云开发者中心创建智能家居产品,新建环境参数数据点(温湿度、烟雾浓度、一氧化碳浓度、空气质量、光照强度、大气压强)与控制指令数据点(步进电机控制、LED灯控制、模式切换、阈值调节),生成对应固件,通过USB A TTL CH340串口工具将固件烧录到ESP8266-01S模块中;模块连接WIFI后,自动与机智云平台建立连接,获取设备ID与密钥,确保通信安全;


3、数据上报:单片机将处理后的环境参数(温湿度、烟雾浓度、一氧化碳浓度、空气质量、光照强度、大气压强)以及系统状态(工作模式、步进电机状态、LED灯状态、报警状态)通过UART接口发送给ESP8266-01S模块,模块将数据上传到机智云平台,供手机APP查看,上报频率为1次/秒;


4、指令接收:手机APP发送的控制指令(步进电机控制、LED灯控制、模式切换、阈值调节)通过机智云平台下发到ESP8266-01S模块,模块接收指令后通过UART接口转发给单片机,单片机解析指令后执行相应的动作,并将执行结果上传到机智云平台,实现指令的闭环控制。


软件设置通信异常处理机制,当ESP8266-01S模块与机智云平台断开连接时,模块自动重新连接,同时OLED屏幕显示“通信异常”提示,提醒用户检查网络状态,确保远程控制功能的稳定性。


报警模块软件设计


报警模块软件负责控制有源蜂鸣器的工作,实现环境异常时的及时报警,具体逻辑如下:


自动模式下,系统实时监测烟雾浓度、一氧化碳浓度、空气质量三个参数,当任意一项参数超出预设阈值时,单片机输出低电平信号,控制有源蜂鸣器发出连续的报警声音,同时将报警信息上传到机智云平台,手机APP收到报警提醒;当环境参数恢复到阈值范围内时,单片机输出高电平信号,蜂鸣器停止报警,报警信息同步更新到机智云平台。


手动模式下,蜂鸣器不进行自动报警,仅在收到手机APP或按键的报警指令时启动,确保报警功能的灵活性与合理性;同时软件设置报警消音功能,用户可通过按键或手机APP发送消音指令,停止蜂鸣器报警。


Part.13系统调试与测试


调试环境与工具


本次系统调试分为硬件调试与软件调试,调试的目的是检查硬件连接的正确性、软件逻辑的合理性,确保系统各项功能正常实现,调试环境与工具如下:


硬件调试工具:万用表示波器、杜邦线、面包板、5V电源适配器、USB A TTL CH340串口工具;


软件调试工具:Keil MDK5开发环境、串口调试助手、机智云开发者平台、机智云手机APP;


调试环境:室温25℃、湿度50%RH,无烟雾、无有害气体,光照强度适中的实验室环境,确保调试过程不受外界环境干扰。


硬件调试


硬件调试的核心是检查各元器件的连接是否正确、各模块是否能够正常工作,供电是否稳定,具体调试步骤如下:


电源调试:将5V电源适配器接入系统,用万用表测量各模块的供电电压,确保STM32单片机、OLED屏幕、BMP280传感器等需3.3V供电的模块获得稳定的3.3V电压,MQ系列传感器、步进电机等需5V供电的模块获得稳定的5V电压,无短路、漏电现象,供电引脚无虚焊、脱焊。


主控单元调试:将单片机最小系统单独上电,通过USB A TTL CH340串口工具连接电脑,在串口调试助手发送指令,检查单片机的IO口、ADC、UART、I2C等外设是否正常工作,确保单片机能够正常接收与发送数据,程序能够正常下载与运行。


环境监测模块调试:分别对各传感器进行单独调试,用万用表测量传感器的输出信号,检查传感器是否能够准确采集环境参数:用手遮挡光敏传感器,观察输出电压的变化;向MQ-2传感器靠近烟雾源,观察输出电压的变化;向MQ-7传感器通入少量一氧化碳气体(模拟),观察输出电压的变化;通过气压变化模拟,观察BMP280传感器的输出数据;确保各传感器数据采集正常、响应迅速。


显示模块调试:给OLED屏幕上电,检查屏幕是否能够正常点亮,通过单片机发送显示指令,检查字符、数字、字符串的显示是否清晰、准确,无乱码、卡顿现象,显示界面切换顺畅。

执行模块调试:给步进电机与LED照明灯供电,通过单片机发送控制信号,检查步进电机是否能够正常正转、反转与停止,LED灯是否能够正常亮灭,动作响应迅速,无卡顿、异响现象。


无线通信模块调试:将ESP8266-01S模块与单片机连接,上电后通过串口调试助手查看模块的通信状态,检查模块是否能够正常连接到家庭WIFI网络,是否能够与机智云平台建立稳定连接,数据传输是否正常。


报警模块调试:给有源蜂鸣器供电,通过单片机发送控制信号,检查蜂鸣器是否能够正常发出报警声音,声音清晰、音量适中,停止控制信号后能够立即停止报警。


经过硬件调试,各模块连接正确,供电稳定,各元器件均能正常工作,无故障现象,数据采集与信号传输正常,满足系统的硬件需求。


Part.14软件调试


软件调试的目的是检查软件逻辑是否正确、各功能模块是否能够正常协同工作,指令解析是否准确,具体调试步骤如下:


初始化调试:将编写好的初始化程序下载到单片机中,上电后检查各模块的初始化是否成功,包括传感器、OLED屏幕、ESP8266-01S模块的初始化,确保系统能够正常启动,无初始化失败现象。


环境参数采集调试:运行环境监测模块软件,采集环境各参数,通过串口调试助手查看采集到的数据,检查数据是否准确、稳定,对采集到的数据进行校准,确保数据误差在允许范围内(如DHT11温度误差±1℃,湿度误差±5%RH;BMP280气压误差±1hPa)。


显示功能调试:运行显示模块软件,检查OLED屏幕是否能够正常显示环境参数、系统模式、阈值等信息,显示信息实时更新,无乱码、卡顿现象,设置界面切换顺畅,阈值调节显示正常。


模式切换与控制功能调试:分别测试自动模式与手动模式,检查模式切换是否顺畅,自动模式下,当环境参数超出阈值时,蜂鸣器是否正常报警、步进电机是否正常开窗、LED灯是否正常开启;手动模式下,是否能够通过按键或远程指令控制步进电机与LED灯的动作,控制准确、响应迅速。


阈值调节功能调试:进入设置界面,测试修改各参数阈值,检查参数修改是否成功,修改后是否能够正常生效,参数是否能够永久保存,下次上电后是否自动加载,阈值调节范围是否在合理范围内。


无线通信与机智云接入调试:测试ESP8266-01S模块与机智云平台的连接,检查环境数据是否能够正常上传到平台,手机APP是否能够实时查看数据;发送控制指令(步进电机控制、LED灯控制、模式切换),检查单片机是否能够正常接收指令并执行相应的动作,指令响应时间≤1s,远程控制功能稳定可靠。


报警功能调试:自动模式下,模拟环境参数超出阈值(如向MQ-2传感器靠近烟雾源),检查蜂鸣器是否能够正常发出报警声音,报警信息是否能够上传到机智云平台,手机APP是否能够收到报警提醒;环境参数恢复正常后,检查蜂鸣器是否停止报警,报警信息是否同步更新。


经过软件调试,各功能模块逻辑正确,协同工作良好,无程序报错、功能异常现象,指令解析准确,数据传输稳定,满足系统的软件需求。


Part.15系统测试结果与分析


系统调试完成后,对系统的各项功能进行全面测试,模拟实际使用场景,验证系统的可行性、稳定性与实用性,测试结果如下:


环境监测功能测试


在不同环境条件下,测试环境监测模块的采集精度与稳定性,测试结果如下表5-1所示(此处可插入测试表格,论文中可预留表位):


测试结果表明,各传感器采集精度均满足设计要求:DHT11温湿度传感器的温度测量误差在±1℃范围内,湿度测量误差在±5%RH范围内;光敏传感器响应时间≤0.5s,光照强度测量误差≤50lux;MQ-2烟雾传感器测量误差≤50ppm,MQ-7一氧化碳传感器测量误差≤10ppm,MQ-135空气质量传感器测量误差≤50ppm;BMP280气压传感器测量误差≤1hPa,温度测量误差≤0.1℃;各传感器采集数据稳定,无明显波动,能够准确反映室内环境状态。


显示功能测试


测试OLED屏幕的显示效果与实时性,结果表明,屏幕显示清晰、无乱码、无闪烁,环境各参数、系统模式、阈值等信息实时更新,更新频率为1次/秒;设置界面切换顺畅,阈值调节显示准确,能够清晰呈现当前设置状态,方便用户现场查看与操作。


模式切换与控制功能测试


自动模式测试:设置烟雾浓度阈值为500ppm、一氧化碳浓度阈值为100ppm、空气质量阈值为500ppm、光照强度阈值为300lux;模拟烟雾浓度超标(600ppm),蜂鸣器立即发出报警声音,步进电机正转(开窗),手机APP收到报警提醒;烟雾浓度恢复正常(400ppm),蜂鸣器停止报警,步进电机反转(关窗);模拟光照强度低于阈值(200lux),LED灯自动点亮;光照强度高于阈值(400lux),LED灯自动熄灭,符合设计要求。


手动模式测试:按下模式切换按键,切换到手动模式,通过按键控制步进电机正转(开窗)、反转(关窗)、停止,动作响应迅速;通过按键控制LED灯点亮、熄灭,控制准确;通过手机APP发送远程控制指令,同样能够实现步进电机与LED灯的精准控制,符合设计要求。


阈值调节功能测试


进入设置界面,分别修改烟雾浓度、一氧化碳浓度、空气质量、光照强度的阈值,测试结果表明,参数修改操作简单、便捷,修改后立即生效,参数能够永久保存到单片机Flash中,下次上电后自动加载;阈值调节范围在传感器测量范围内,无超出范围的情况,符合设计要求。


远程控制功能测试


手机APP连接机智云平台后,能够实时查看环境各参数(温湿度、烟雾浓度、一氧化碳浓度、空气质量、光照强度、大气压强)与系统状态(工作模式、步进电机状态、LED灯状态);发送控制指令(开启/关闭步进电机、开启/关闭LED灯、切换工作模式),单片机能够快速响应,执行相应的动作,响应时间≤1s;环境数据上传实时,报警信息能够及时推送至手机APP,远程控制功能稳定可靠,符合设计要求。


报警功能测试


自动模式下,分别模拟烟雾浓度、一氧化碳浓度、空气质量超出阈值,蜂鸣器均能立即发出报警声音,声音清晰、音量适中;报警信息实时上传到机智云平台,手机APP收到报警提醒;环境参数恢复正常后,蜂鸣器停止报警,报警信息同步更新,报警功能正常、及时,符合设计要求;手动模式下,能够通过按键或手机APP控制蜂鸣器启停,灵活便捷。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2313

    文章

    11205

    浏览量

    375107
  • 智能家居
    +关注

    关注

    1945

    文章

    10054

    浏览量

    197998
  • 机智云
    +关注

    关注

    3

    文章

    652

    浏览量

    27854
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    物联网智能家居方案-基于Nucleo-STM32L073&机智 项目实例

    物联网智能家居方案-基于Nucleo-STM32L073&机智 项目实例下载! 纯分享帖,需要者可点击附件免费获取
    发表于 05-23 21:01

    物联网智能家居方案-基于Nucleo-STM32L073&机智实例项目打包下载

    物联网智能家居方案-基于Nucleo-STM32L073&机智实例项目打包,推荐下载!
    发表于 05-29 21:50

    【GoKit申请】+基于wifi的智能家居

    的Gokit二代开发板资源非常丰富,并且机智官方免费开放智能硬件移动APP代码,非常适合物联网的开发,我希望通过GoKit2代的板子来做一个基于wifi的智能家居
    发表于 04-26 10:36

    【GoKit申请】小型智能家居系统

    `开发想法:现如今智能家居变得越来越火爆了,我们有理由相信在不久的将来,随着物联网技术的发展,每个人的家庭生活都会因此而改变。想做一个小型的智能家居系统STM32是最好的选择,而
    发表于 05-19 08:38

    智易申请】智能家居宝设计

    申请理由:公司致力于物联网智能家居方案的设计,目前处于方案评估阶段,使用过机智。本人多年从事ARM嵌入式开发,有TI 达芬奇多核系列开发经验,以及NXP/ST/Freescale cortex
    发表于 08-20 10:56

    【NanoPi2申请】基于NanoPi2的智能家居远程控制系统

    的学习经历。现从事ARM Linux嵌入式的工作。前期在本论坛申请了基于OK210的智能家居系统的体验,功能基本实现,并得到了论坛和飞凌的一致认可。很在幸前段时间接触了机智,庆科,
    发表于 12-02 16:17

    基于机智智能家居系统设计与实现

    【摘要】 设计并实现了一种基于平台的智能家居系统,该系统STM32作为下位机的控制核心,通过传感器搜集家庭环境信息并上传之
    发表于 09-15 15:42

    机智2016~2017优秀项目盘点

    】之无线工业粉尘监测仪【Gokit 3】之仓鼠管家和OpenHamtaro开源项目【Gokit】之智慧宿舍【Gokit 3】之智能婴儿摇篮【GoKit+STM32】之智能家居
    发表于 09-22 13:03

    基于机智智能家居控制系统设计

    摘要: 随着人们生活水平的提高,智能化生活观念不断普及,物联网智能家居已成为智能家居发展的新趋势,为此基于机智物联网平台设计了一套智联网
    发表于 03-09 12:27

    【IoT毕业设计】基于机智平台的智能家居系统

    平台的智能家居系统,采用STM32F401RE控制芯片,WIFI-esp8266模块作为通讯模块,对温度、窗帘、灯光等不同变量进行了集成,使用机智
    发表于 06-07 12:33

    【IoT毕设】机智AIoT+esp8266+物联网智能家居控制系统

    智能手表会将命令实时反馈到机智平台上,智能家居会读取
    发表于 04-07 17:20

    基于gokit3微信宠物屋与机智的物联网智能家居

    和人性化的问题。本教程设计了一种基于云端的智能家居,该系统通过Gokit3.0与机智物联网平
    发表于 04-07 17:53

    【IoT毕业设计】基于机智平台的智能家居系统

    平台的智能家居系统,采用STM32F401RE控制芯片,WIFI-esp8266模块作为通讯模块,对温度、窗帘、灯光等不同变量进行了集成,使用机智
    的头像 发表于 06-07 12:40 2230次阅读
    【IoT毕业设计】基于<b class='flag-5'>机智</b><b class='flag-5'>云</b>平台的<b class='flag-5'>智能家居</b><b class='flag-5'>系统</b>

    STM32项目分享:智能家居机智系统

    STM32项目分享:智能家居机智系统
    的头像 发表于 07-28 08:10 4518次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:<b class='flag-5'>智能家居</b>(<b class='flag-5'>机智</b><b class='flag-5'>云</b>)<b class='flag-5'>系统</b>

    STM32项目分享:智能家居(机智)升级版

    01—项目简介1.功能详解STM32智能家居(机智)升级版功能如下:检测功能:监测环境温湿度、烟雾浓度、一氧化碳、空气质量、光照强
    的头像 发表于 07-02 18:04 1113次阅读
    <b class='flag-5'>STM32</b><b class='flag-5'>项目</b>分享:<b class='flag-5'>智能家居</b>(<b class='flag-5'>机智</b><b class='flag-5'>云</b>)升级版