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

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

3天内不再提示

多控制模式的智能家居系统设计

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

扫码添加小助手

加入工程师交流群

随着物联网技术的发展,智能家居的需求不断增加,但仍存在设备兼容性差和成本高等问题。本文提出了一种基于STM32单片机的多模式智能家居控制系统,该系统通过温湿度、光照强度和烟雾浓度传感器OLED显示屏实现环境监测和实时数据显示。


它结合了ASRPRO语音识别模块与ESP8266 Wi-Fi模块,提供手动控制、自动调节、语音识别和远程控制四种操作模式,能够智能控制灯光、风扇、窗帘和加湿器等设备。测试结果表明,该系统在环境监测精度和语音响应速度方面表现优异,为低成本、高兼容性的智能家居解决方案奠定基础。


013D实景地图



1f0e7ea8-f1f9-11f0-8ce9-92fbcf53809c.jpg

图1 系统总体设计框图

本系统旨在实现家庭中常用电器的智能控制,设计了一款基于STM32单片机的多控制智能家居系统,整体设计框图如图1所示。该系统集成了环境检测、自动控制、语音识别和远程通信等多种功能,采用模块化结构。主要由主控模块、传感器采集模块、执行控制模块、语音识别模块以及显示与通信模块构成。各模块通过串口、I2C、PWM和GPIO等接口进行互联,由主控芯片协调处理,实现对包括灯光、风扇、窗帘和加湿器在内的多种设备的多模式智能控制。


02 硬件设计


2.1 主控模块电路设计


主控模块在电路设计中以STM32F103C8T6最小系统板为基础,核心电路内部主要由时钟电路、复位电路、电源稳压电路及引脚接口组成。外部8MHz晶振通过内建PLL实现主频上升,为系统提供稳定的时钟源;复位端接入RC延时电路,确保单片机在上电或干扰下能可靠复位;电源模块通过AMS1117稳压器将5V电压稳定输出至3.3V,为核心逻辑部分供电。整体硬件电路设计图如图2所示。


2.2 语音识别模块电路设计


语音识别模块采用ASRPRO模块,通过串口方式与STM32主控进行通信。模块的PA2引脚连接至主控的PB11引脚,用于向主控发送识别后的语音指令编码。模块由5V电源供电,GND接系统公共地线。该模块识别结果以串口编码形式传输,主控接收后解析执行对应操作,完成语音控制功能。


2.3 无线通信模块电路设计


无线通信模块选用ESP8266-01S,用于实现系统与云平台之间的Wi-Fi数据通信。模块采用串口(UART)方式与主控芯片进行双向通信,TXD引脚连接至STM32的PA3(USART1_RX),RXD引脚连接至PA2(USART1_TX),实现主从数据交互。模块通过AT指令配置为STA模式后可连接路由器,结合机智云平台实现远程数据上传与控制命令下发。



1f206f1e-f1f9-11f0-8ce9-92fbcf53809c.jpg


图2 整体硬件电路设计图


2.4 传感器模块电路设计


温湿度检测模块采用DHT11数字型传感器,该模块只需一个数据引脚与主控相连,便可通过单总线方式与STM32主控进行通信。模块的VCC端接5V电源,GND接地,OUT引脚连接至STM32的PB3引脚。模块周期性将温湿度数据打包输出,主控芯片通过定时轮询读取并进行解析。


烟雾检测模块使用MQ-2传感器,能够检测烟雾、液化气、酒精等可燃性气体浓度。该模块输出模拟电压信号,主控通过ADC接口进行采样判断。模块供电为5V,GND接地,A0引脚连接至STM32的PA4引脚,实时读取电压值。当空气中烟雾浓度升高,输出电压随之变化,主控将采样值与设定阈值比较,从而判断是否触发报警。


光照检测模块选用GY-302光照传感器,通过I2C接口与STM32主控进行通信。模块VCC引脚连接至3.3V电源,GND接地,SCL与SDA引脚分别连接至STM32的PB4和PB5引脚,构成I2C总线通信。模块上电后可直接输出以勒克斯(lx)为单位的光照强度数据,主控通过I2C协议读取测量值并用于判断是否启用照明装置。


2.5 屏幕显示模块电路设计


显示模块采用0.96英寸OLED屏幕,用于在本地实时显示系统采集的环境数据与设备运行模式。该模块采用I2C通信方式连接主控,SCL引脚与STM32的PB1相连,SDA引脚连接至PB0,供电电压为3.3V,GND接地。OLED模块支持字符、图形和动态刷新显示,模块内部已集成驱动芯片SSD1306,可直接通过标准I2C协议与主控进行数据通信。


2.6 执行机构模块电路设计


步进电机驱动电路运用ULN2003驱动板,将其与28BYJ-48步进电机以及STM32主控相连,共同协同工作,以此来模拟窗帘开合的功能,ULN2003内部整合了达林顿管阵列,可直接接收STM32输出的脉冲信号,驱动步进电机实现转动,驱动模块的四个输入控制信号IN1至IN4引脚,分别与STM32的PA8、PA11、PA12、PA15引脚相连接,其目的在于接收方向以及步进控制信号,而OUT1至OUT4则连接着步进电机的四相绕组。该模块由外部5V电源进行供电,COM端连接电源正极,GND接地,主控借助定时器产生脉冲序列,对电机转动的步数以及方向加以控制,再配合ULN2003的高电流输出能力,保证电机可平稳地运行。


继电器模块用于控制加湿器的开关,采用5V直流继电器,通过STM32的PB13引脚输出高低电平信号驱动。继电器控制端通过NPN三极管与主控连接,基极串联限流电阻连接至PB13,发射极接地,集电极连接继电器线圈。当PB13输出高电平时,三极管导通,继电器吸合,加湿器通电工作;低电平时断开,加湿器停止工作。


PWM控制电路用于调节LED亮度与风扇转速,分别由STM32的PB14和PB15引脚输出PWM信号,实现对输出功率的连续调节。主控芯片通过定时器模块配置不同频率和占空比的PWM波形,输出至LED和风扇控制电路。LED驱动采用MOS管,栅极通过限流电阻连接PB14,漏极串联LED灯至5V电源,源极接地。风扇通过PB15引脚连接驱动电路。PWM信号经滤波后转换为模拟电压,从而实现控制风扇转速和LED亮度。


蜂鸣器用于烟雾浓度超标时发出声音警报。采用有源蜂鸣器,工作电压为5V,通过STM32的PA0引脚控制。PA0连接NPN三极管基极,发射极接地,集电极接蜂鸣器负极,正极接电源。当PA0输出高电平时,三极管导通,蜂鸣器鸣响。在电路中加入了一个拨码开关SW1,可以用来切换蜂鸣器的工作状态,避免蜂鸣器始终处于响声状态。


2.7 按键模块电路设计


按键模块采用四路独立按键,分别连接至STM32的PB6~PB9引脚,用于模式切换、阈值设置和设备手动控制。每个按键一端接至IO口,另一端接地,同时在IO口与电源之间接入10kΩ上拉电阻,确保按键未按下时IO保持高电平。按键按下后引脚电平变为低,主控通过轮询方式检测按键状态,为避免抖动干扰,软件中设置消抖延时处理逻辑,确保操作识别准确。


2.8 供电模块电路设计


供电模块负责为整个系统提供稳定的工作电压,确保各功能模块正常运行。系统使用外部DC 5V电源适配器作为主输入电源,经过AMS1117-3.3稳压芯片将电压降至3.3V,供主控STM32以及其他3.3V模块使用,继电器、风扇、语音模块等设备直接使用5V供电。


03软件设计

3.1 系统主程序设计


主程序流程图如图3所示。在系统上电后,首先进行定时器和GPIO端口的初始化,随后系统便进入到主循环之中,传感器会实时采集环境数据,然后在OLED屏幕上展示当前状态信息,还会把传感器数据借助Wi-Fi模块上传至机智云平台,以此达成远程数据同步。


系统有四种控制模式,分别是手动控制、自动控制、语音控制以及远程控制,用户可依靠语音识别、按键以及手机APP来切换控制模式并下达具体指令。在手动控制模式下,可通过按键对灯光、风扇、窗帘、加湿器等执行设备直接实施控制;在自动控制模式下,系统会依据环境参数与用户设置的阈值作出判断;在语音控制模式下,系统会识别用户语音指令并对执行设备进行相应的控制;在远程控制模式下,通过手机APP将控制指令上传至云端,系统自动接收来自云端下发的指令并对执行设备进行相应的控制。


3.2 语音识别控制程序设计


语音识别是本系统的人机交互核心之一,采用ASRPRO语音识别模块进行本地离线识别,并通过USART串口与STM32主控通信。模块在识别到有效语音指令后,将指令对应的编号以串口数据形式发送给主控芯片,主控程序通过中断接收方式捕获该数据,并根据编号内容判断用户意图,从而控制对应的智能设备运行状态。语音模块程序流程图如图4所示。



1f34ef8e-f1f9-11f0-8ce9-92fbcf53809c.jpg


图3 主程序流程图

1f453736-f1f9-11f0-8ce9-92fbcf53809c.jpg图4 语音模块程序流程图



1f53a47e-f1f9-11f0-8ce9-92fbcf53809c.jpg


图5 按键控制与阈值设置程序流程图


程序运行过程中,首先对语音模块初始化并配置串口接收通道。当串口接收到来自模块的指令编码时,主控立即解析该编号,并在预设命令表中查找其对应功能。若指令有效,系统将执行相关控制操作,同时通过OLED模块更新当前状态。若为无效或错误编码,则直接忽略,并继续监听下一条指令。语音识别控制逻辑反应迅速、指令明确,特别适合在手动操作不便的场景。


3.3 按键控制程序设计


本系统配备多功能按键模块,用于在无语音及无网络环境下实现本地控制,主要包括运行模式切换、设备手动开关控制以及自动控制模式下的阈值设定。在程序里运用轮询的方式来扫描按键状态,按键输入信号经由GPIO引脚接入到STM32主控当中,程序会对按键按下以及释放的时间长度作出判断,区分短按与长按操作,其中短按可用来切换运行模式以及直接控制某一设备的启动和停止,长按则是用于进入参数设置流程。流程图如图5所示。


在阈值设置功能里,用户可以借助按键去设置温度,湿度,光照等参数的上下限数值,这些阈值并非会立刻对系统行为产生影响,而是只有在切换到自动控制模式的时候,才会作为环境判断的依据来加以使用,系统处于自动模式时,会按照一定周期读取当下的环境数据,并把它和用户所设定的阈值进行对比。如果超出了范围,那么就会触发执行模块做出响应,比如自动开启或者关闭风扇,窗帘,加湿器,同时蜂鸣器发出报警声。


在阈值设置的过程当中OLED显示屏会实时反馈当前设置的项目以及对应的数值,用户可以依靠加减键来调整参数,借助确认键来保存设置,最终会把设定值存储在主控变量之中。并且配置写入EEPROM来实现掉电保存功能。


3.4 OLED显示程序设计


OLED显示程序流程图如图6所示。所选OLED模块基于SSD1306驱动芯片,采用I2C总线方式与STM32主控通信,在程序实现方面,首先需要在STM32CubeMX中对I2C接口进行配置,包括选择I2C通道、映射引脚、开启中断及波特率设置。配置完成后生成初始化代码,并在工程目录中添加OLED显示模块所需的驱动文件,用于封装底层显示函数及命令通信接口。在主函数中包含相关头文件,完成驱动初始化调用,即可实现对屏幕的控制。


3.5 无线通信模块程序设计


ESP8266-01S作为WiFi通信模块,负责将本地STM32主控与机智云平台建立数据交互通道。该模块通过串口与主控芯片通信,使用AT指令集完成无线网络连接、云平台接入以及控制指令与传感器数据的双向传输。WiFi模块流程图如图7所示。


当ESP8266成功连接到局域网后,模块会尝试与机智云平台建立通信连接。平台接入方式基于USART串口和MQTT数据传输协议,由机智云平台生成的通信协议文档和数据点格式统一规范通信内容。开发者无需手动构建MQTT包结构,只需遵循平台提供的协议说明,封装上传数据和解析下发指令。



1f63fbbc-f1f9-11f0-8ce9-92fbcf53809c.jpg


图6 OLED显示程序流程图



1f774c1c-f1f9-11f0-8ce9-92fbcf53809c.jpg


图7 Wi-Fi模块流程图


04 系统功能测试


4.1 显示功能测试


首先,确保所有硬件模块正确连接,检查各模块电源、引脚、通信接口,确保它们连接牢固,没有松动或接触不良。使用Type-C接入电源模块给整个系统供电,供电后可通过供电模块的按键开关启动整个系统。系统上电后会进行一系列程序的初始化之后OLED屏幕开始工作显示由传感器采集到的环境数据和系统当前运行模式。第一行显示的是温度数据和湿度数据,第二行显示的是光照强度,第三行显示的是烟雾浓度,第四行显示的是系统当前模式。硬件整体实物图如图8所示。



1f843472-f1f9-11f0-8ce9-92fbcf53809c.jpg


图8 硬件整体实物图


4.2 语音控制功能测试


语音控制是本设计的核心内容,为避免误触发,系统设定了唤醒机制。用户需先说出唤醒词“你好,小智”以激活语音识别通道,系统接收到唤醒信号后将进入十秒倒计时监听阶段,在此期间内可识别有效控制指令。若超过十秒未识别到任何指令,系统将自动退出语音模式,返回默认运行状态。对系统语音控制功能进行了5次近距离、5次远距离测试,结果表明,系统距离指令发出者5m内能3s内快速响应,且识别准确,超过5m时会因语音信号有干扰时受到影响。


4.3 手动控制功能测试


在无网络或语音不可用的情况下,系统可以通过按键手动控制,以实现模式切换、设备控制与阈值调整三类操作,按键控制如图9所示,系统右下方从左往右依次有四个功能按键,短按K1按键可进行模式切换,当前系统模式可直接显示在OLED屏幕上,K2、K3、K4按键分别控制灯光、风扇和步进电机。K2、K3按键通过按动不同次数,还可以调整灯光亮度和风扇风速,K4按键用来控制步进电机转动,正转模拟窗帘打开,反转模拟窗帘关闭。长按K1两秒钟进入阈值设置界面,可以通过按键调整温度、湿度、光照强度以及烟雾浓度参数,用于在自动模式下的阈值判断。阈值参数设置图如图10所示。



1f92940e-f1f9-11f0-8ce9-92fbcf53809c.jpg


图9 按键控制测试结果


4.4 自动模式功能测试


通过按键以及语音控制可切换为自动模式,在自动控制模式下,系统将依据传感器实时采集的数据与用户设定的阈值进行比较。当系统检测到当前温度大于设定阈值时,风扇开始转动,超于阈值越高,风扇转速越快。温度低于设定阈值时,风扇停止转动。当系统检测到当前湿度低于设定阈值时,加湿器开启,湿度高于设定阈值时,加湿器关闭。


当系统检测到当前烟雾浓度高于设定阈值时,蜂鸣器便会触发声音警报,当烟雾浓度持续高于设定值时,可通过蜂鸣器报警开关手动关闭声音警报。当系统检测到当前光照强度大于阈值时,窗帘打开灯光关闭用来模拟白天,反之当光照强度低于阈值时,窗帘关闭灯光打开用来模拟黑夜。自动模式测试图如图11所示。



1fa4504a-f1f9-11f0-8ce9-92fbcf53809c.jpg


图10 阈值参数设置



1fb12360-f1f9-11f0-8ce9-92fbcf53809c.jpg


图11 自动模式测试结果


4.5 远程控制功能测试


系统上电后,使设备与手机控制端处于同一局域网下,打开机智云手机APP,添加设备,并进行一键配网,数据将通过ESP8266Wi-Fi模块与机智云平台完成设备与云端数据交互,实现远程对智能家居系统的操控。通过机智云APP可以实时显示当前的温湿度数据、烟雾浓度数据、光照强度数据以及烟雾浓度数据。通过手机APP还可以实现对风扇、加湿器、灯光以及窗帘的控制。



1fc2ccf0-f1f9-11f0-8ce9-92fbcf53809c.jpg


图12 远程控制测试结果


05总结


该设计基于STM32主控制器,结合温湿度、光照、烟雾传感器,以及语音、通信和Wi-Fi模块,构建了一个支持手动、自动、语音和远程四种控制模式的智能家居控制系统。该系统具有低成本、高兼容性和强可操作性的优势,并展现出良好的发展潜力。未来可通过扩展环境传感器类型来提升系统的环境感知能力,并可接入云端语音识别服务,以增强语言识别性能。

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

    关注

    1945

    文章

    10054

    浏览量

    197998
  • 系统设计
    +关注

    关注

    0

    文章

    175

    浏览量

    22892
  • 控制模式
    +关注

    关注

    0

    文章

    33

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智能家居控制系统模型

    智能家居控制系统模型 智能家居控制系统(smarthome controlsystems,简称SCS),是以住宅为平台,家居电器及
    发表于 10-28 21:21

    智能家居

    智能家居灯现在智能家居这一理念已经深入到了我们的生活中,根据这个理念我们设计研究了智能家居灯 单片机通过串口与手机蓝牙配对 可以实现回家模式 离家
    发表于 11-05 18:59

    【OK210申请】智能家居控制系统

    智能家居系统为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将
    发表于 07-06 15:46

    【Aworks申请】智能家居控制系统

    :以智能家居系统为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术、音视频技术将
    发表于 07-06 15:48

    【云智易申请】智能家居控制系统

    申请理由:自己学习研究智能家居系统,由于我是是学生没有那么钱买开发版!而且学校制PCB板的条件有限,到现在缺一个主机控制板,所以申请这款开发版项目描述:我在学校实验室做过
    发表于 07-31 07:52

    【MiCOKit申请】智能家居的远程控制系统

    的外设硬件,只能在智能家居系统中作终端控制(类似平板电脑)来使用,具体见论坛的飞凌版面。 庆科MICOKit开发套件,主板提供了MiCo物联网操作系统,可以快速接入Wi-Fi 网络,并
    发表于 08-22 17:28

    【WRTnode2R申请】基于智能语音系统控方式嵌入式智能家居控制平台

    申请理由:智能家居控制平台要用到网关通信,有些功能模块需要网络连接到某些服务接口。由于以前使用过DD_WRT 和OPEN_WRT所以觉得使用这类嵌入式系统开发的话成本低,拓展性好,更稳定。希望能拿到
    发表于 09-10 11:28

    智能家居系统智能家居解决方案及智能家居定制开发

    右侧客服。智能家居系统一般具有:环境安防、智能门锁、立体音乐、环境监测(红外亮度、然气感应)、视频监视、可视对讲、厨房室内可视分机、灯光、空调、电动窗帘(百叶窗、气窗)、集中控制和远程
    发表于 06-12 10:27

    基于Linux操作系统智能家居的设计

    家庭中的相关家居通过一个控制平台,连接到网络上,在联网的条件下,可以随时查看家里的情况和控制。  物联网的兴起,为智能家居提供了条件。如何通过简化物联网终端设备,最终开发出一套经济实用
    发表于 08-24 18:17

    基于Linux操作系统智能家居的设计

    家庭中的相关家居通过一个控制平台,连接到网络上,在联网的条件下,可以随时查看家里的情况和控制。  物联网的兴起,为智能家居提供了条件。如何通过简化物联网终端设备,最终开发出一套经济实用
    发表于 08-29 15:33

    智能家居控制系统如何走进生活?

      智能家居控制系统如何走进生活?对于未来的住宅,你有怎样的期待?随着科技的发展,智能家居离我们越来越近。想象一下,在未来的住宅中,轻轻一点,家里的环境模式就能随意切换。如晨起、离家、
    发表于 05-02 11:47

    智能家居到底有便利

    移动设备替换掉我们在手里的众多遥控器来控制,这就等于智能家居。其实,简便的操作、控制家电仅仅只是智能家居中的冰山一角。智能家居最重要的是,通
    发表于 06-22 10:12

    智能家居到底智能

      现在大家都知道智能家居系统可以帮助我们用智能手机控制取暖器、监控器、照明和扬声器,其实智能家居能实现的功能远远不仅于此,取决于你加上的设
    发表于 05-01 07:47

    ZigBee与Android的智能家居控制系统设计

    ZigBee与Android的智能家居控制系统设计智能家居是在传统住宅的基础上,利用现代科学技术,诸如网络通信、安全防范、自动控制、音视频等技术将
    发表于 08-06 09:02

    基于ZigBee的智能家居系统设计

    【说明】智能家居系统以消费者的使用习惯为依据,利用信息系统和自动化控制系统实现人与家用设备之间的信息交换,也就是说,智能家居是对家庭环境中的
    发表于 11-08 07:44