基于智能家居的家庭环境实时检测和控制系统设计

2023-06-25 21:00杨飞宇吴菲唐修权
现代信息科技 2023年8期
关键词:STM32单片机智能家居

杨飞宇 吴菲 唐修权

摘  要:随着科技的发展,智能家居逐渐进入大众的视野,它能有效提高人们的生活质量。根据目前的市场状况,设计一套基于STM32的智能家居系统,该系统采用蓝牙无线通信技术,结合温湿度采集、光照检测、人体感应等功能,实现了手机远程监测室内环境和控制室内设备的目标,此外,该系统还设有自动控制模式和安防预警模式。测试结果表明,该系统准确度较高,运行稳定,能够满足对家庭环境的实时检测和安防预警,在室内环境检测和家庭安防领域具有一定的应用推广价值。

关键词:STM32单片机;光照检测;安防预警;智能家居

中图分类号:TN929.5  文献标识码:A  文章编号:2096-4706(2023)08-0189-04

Abstract: With the development of technology, smart home has gradually entered the public's vision, which can effectively improve people's quality of life. According to the current market situation, a set of smart home system based on STM32 is designed. The system uses Bluetooth wireless communication technology, combined with temperature and humidity collection, light detection, human body sensing and other functions, to achieve the goal of remote monitoring of indoor environment and control of indoor equipment by mobile phones. In addition, the system also has automatic control mode and security warning mode. The test results show that the system has high accuracy and stable operation, and can meet the real-time detection and security warning of the home environment. It has certain application and promotion value in the field of indoor environment detection and home security.

Keywords: STM32 Single-Chip Microcomputer; light detection; security warning; smart home

0  引  言

物聯网技术的兴起,让各式各样的家电设备实现了连接,形成智能家居系统,人们开始对家庭环境的智能化、个性化和安全性有了要求,基于此智能家居开始提供对家庭环境的实时监控、智能预警等智能服务[1-3]。本文以家庭环境实时检测和控制为课题,研究设计一套智能家居系统,该系统能够提供对家庭环境的实时检测和智能预警功能,旨在科学改善室内环境,满足人们对居住环境舒适度和智能化的需求[4]。本文针对智能家居的环境监测与智能控制加入蓝牙控制模块,实现手机APP终端与蓝牙模块的通信,进而达到对整个智能家居系统的直观监测与控制。

1  系统结构设计

本系统以ST公司的STM32F103C8T6微控制为核心,采用光强、温湿度和人体红外检测传感器实现信息采集,采用TI公司的CC2640蓝牙通信芯片与用户手机进行信息交互,用户手机端采用APP通过蓝牙接收信息,并对家居系统进行控制[5]。本系统大致分为四个部分:传感器数据采集、MCU数据处理、蓝牙数据传输和手机APP客户端,如图1所示。

数据采集工作由各个传感器完成,主要采集温湿度、光照强度、有无人经过等信息;数据处理即是由STM32F103C8T6对传感器采集到的数据进行处理,做好发送和显示的准备[6];蓝牙数据传输即是使用串口将MCU处理的数据通过蓝牙模块发送到手机APP端,手机APP端也可通过蓝牙发送设计好的指令字符串,控制整个系统的相应动作;手机APP客户端主要是便于人机交互,保证系统操作的便捷。

除此以外,系统还加入了键盘和0.96寸OLED屏显示,使之可在没有手机的情况依然可以使用,拓宽了系统的适用范围。本系统成本低廉,性能稳定,能够很好地完成室内环境实时检测和控制功能。

2  硬件系统设计

家庭环境实时检测和控制系统的硬件部分主要包括三个部分:第一部分是室内环境信号采集,包括由DHT11采集温湿度,由HC-SR501感应是否有人经过,由BH1750监测光强信息;第二部分是对采集的信号进行处理和控制,包括用设定程序控制电机正反转以模拟窗帘的开合,实现系统的自动控制,或用键盘或手机APP发送指令实现手动控制;第三部分是蓝牙数据传输,采用CC2640芯片的DX-BT20蓝牙模块,实现STM32单片机与手机APP的数据互传。

2.1  蓝牙模块硬件设计

本系统选用DX-BT20芯片作为蓝牙通信模块,采用TI公司的CC2640芯片,支持高速传输,功耗较低。CC2640是一款面向Bluetooth Smart应用的无线MCU,此器件属于CC26xx系列经济高效、超低功耗2.4 GHz RF器件。该系列器件为改善系统性能和降低功耗,蓝牙协议栈部分采用一个单独的ARM Cortex-M0独立运行,它的工作频率是48 MHz,与主处理器相同[7]。

2.2  室内环境采集硬件设计

本系统采用DHT11温湿度传感器模块获取室内温度和湿度数据[8],这款产品技术成熟,已经在很多测量场景中进行了应用,能保证长期使用的稳定性和可靠性。温度测量范围是0~50 ℃,误差为±2 ℃;湿度测量范围是20~90 %RH,误差为±5 %RH;该模块与STM32单片机之间的通信方式为单总线数据格式的同步通信。

本系统的光照强度传感器模块选用BH1750光传感器。该传感器是一种采用双线IIC接口的数字光亮度集成电路传感器,可以检测较宽范围的光强度变化。在本次设计中,用它来检测室内环境的光照强度,单片机可根据它测量的环境光强度值来自动控制窗户的打开与关闭。该数字光强检测传感器的工作电压为3~5 V,光照度可测的数据范围是0~65 535 Lux,可直接通过内置的16位模数转换器进行数字输出,进行精度达1 Lux的高精度测量。光照传感器模块BH1750在工作时检测周围光线变化,其SDA、SCL引脚接在STM32F103C8T6单片机的PB6、PB7接口。在系统上电进入工作状态后,单片机将通过IIC协议读取光照光感器内部寄存器数据,每500毫秒循环读取一次。BH1750模块通过两个IIC接口与单片机相连进行通信。

本系统采用HC-SR501作为人体红外感应模块,它具有工作稳定的优点,其内置的是RD-624红外传感探头,并配合菲涅尔透镜,使反应更加灵敏,适用各类自动感应设备。

本系统采用DS1302作为时钟模块。它是由DALLAS公司研发的涓流充电时钟芯片,能够实时提供秒、分、日、月和年的信息。其通信方式为同步时钟的SPI通信,传输数据快,响应度高,该模块还使用了一个纽扣式电池,保证系统掉电后时间不会停止。

2.3  电机驱动模块设计

考虑到住户窗帘导轨长短不同的情况,为了能够很好地模拟窗帘的打开和关闭,这就要求电机不仅能正反转,指定角度也需要很精确,以适应不同长度的导轨,于是本设计中采用型号为28BYJ-48的步进电机进行模拟。该步进电机用5~12 V电压供电,选用ULN2003驱动芯片,该芯片是一款高压、大电流输出转换器。该驱动模块可以实现电机的正向转、反向转和停止三个工作状态,能够很好地模拟窗帘的开启和关闭状态。

3  软件系统设计

本系统的软件部分包括STM32主控程序的设计、蓝牙通信的设计以及手机APP程序的设计。其中,STM32的主控程序中主要包括传感器数据的采集和步进电机的控制,手机APP部分主要包括蓝牙数据收发程序的编写和界面设计[9,10]。

3.1  主控程序设计

为了能够实时处理和传输各个传感器采集的信息,本次设计的程序将对DHT11温湿度传感器模块、BH1750光照传感模块以及人体红外传感模块等不断进行循环扫描,及时更新和处理数据。主程序首先进行系统的初始化,之后再运行其他功能模块,并在不同模式下采取不同的程序邏辑。主程序流程图如图2所示。

3.2  人体红外检测程序设计

人体红外检测可分为两种模式:正常模式和安防模式。正常模式下,当检测到有人移动时,只记录这次检测到人移动的时间,并将数据发送至手机APP。而在安防模式下,除了将数据发送给用户,还将在APP中提醒有人闯入,蜂鸣器也会随之触发,以警告闯入者。人体红外检测程序流程图如图3所示。

3.3  蓝牙数据传输设计

蓝牙传输协议在安卓手机系统上一直以来都得到了很好的支持。Android上的蓝牙应用开发主要是使用安卓系统中提供的蓝牙通信相关的类库来实现的。单片机首先对管脚进行配置,然后对串口的波特率进行设置,最后配置串口中断模式。完成串口初始化后,上位机开启蓝牙,找到需要通信的蓝牙设备,然后创建蓝牙接字和IO流,最后通过IO流与单片机进行通信。

3.4  手机APP软件设计

手机APP程序主要由蓝牙数据收发、数据处理、显示视窗等部分组成。首先,手机需要搜索蓝牙设备,程序预先将UUID写入,为连接做好准备。连接成功后,需要在APP程序中将蓝牙工作模式设置为串口通信模式,这样才能与连接到单片机串口上的蓝牙模块通信,接收到的数据要经过一个数据处理函数,否则会因为进制问题而产生乱码。数据接收成功后,将处理好的数据通过手机APP上的显示视窗完成显示。发送数据前,也需要对数据进行相应的处理,并且为了使用户收到的数据没有多余的内容,需要提前将所发送数据包中不必要的内容删除,让用户收到最有用的数据。手机APP与蓝牙通信部分流程图如图4所示。

手机蓝牙与单片机上的蓝牙模块能够正常通信后,就能进行手机APP在用户层的开发。在手机APP界面上将设定好的各个指令字符以按钮、开关等形式展示,按下对应的按钮其实就是发送相应的指令,避免了手动输入指令及发送的麻烦,更是方便了用户的使用。

4  系统测试

在设计完成后,需要对系统的功能、稳定性等进行一个全面的测试,以确定本系统是否达到了预期目标,并验证系统的稳定性。对该系统的测试主要分为硬件测试和软件测试两个部分:硬件测试包括各个传感器的数据测试和蓝牙数据传输测试;软件测试主要是对手机APP的功能测试,测试APP里的数据收发功能,以及单片机能否对手机APP的功能按钮做出相应的反应。

4.1  硬件系统测试及测试结果

4.1.1  温湿度传感器测试

DHT11温湿度传感器测试可以通过该系统测得值与专业仪器测得值相对比的方式实现,测试方法是在同一时间、同一地点,记录该系统测试的温湿度值和市面上测试仪器测得的温湿度值,将数值进行对比,对比得到的表格如表1和表2所示。

由以上两个表得出的数据可知,没有出现不合理的误差,数据都接近于实际值,表明测量温湿度的模块工作正常且稳定。

4.1.2  光强传感器测试

将光强传感器BH1750置于不同的光照环境下,经过多次测试,光强传感器显示的数值变化灵敏,在室内角落的光强数值在10~20之间变化,在室内灯光下的光强数值在40~50之间变化,白天面朝窗户时光强数值在100以上,表明该模块正常工作,部分测试结果如表3所示。

该模块除了监测光强的功能外,还要结合步进电机,让它根据光照值大小实现对窗帘的自动控制功能。在手动模式下,可以通过按键或手机发送指令控制步进电机的正反转,如表4所示為自动模式下根据设定的光强阈值改变电机正反转的结果。由以上结果可知两者工作配合正常。

4.2  软件系统测试及测试结果

手机APP主界面包括环境监测数据窗口、人体红外传感器触发记录窗口、设备控制按钮和模式选择开关四大部分,该APP通过手机蓝牙连接单片机上的蓝牙模块与单片机进行通信,其主界面如图5所示。

环境监测数据显示窗口主要用于显示当前时间的环境数据,该部分下方设有一个下拉列表,用户可根据需要选择数据更新频率。APP相关截图如图6所示。

设备控制按钮部分和模式选择开关部分的原理基本相同,即每个按钮对应一个提前设定好功能的字符,按下按钮后,手机APP通过蓝牙将指定字符发送给单片机,单片机完成对应的指令,经过测试,每个按钮都能正常工作,该部分界面如图7所示。

该部分可用于无线操控各个设备,蓝牙连接好后,按下不同按钮后单片机会正确执行对应命令,说明该部分功能正常。在模式选择开关部分,若打开自动控制,单片机就会比较当前光强与设定阈值来自动控制步进电机的正反转;若打开安全预警模式,人体红外检测模块一旦被触发,除显示和记录触发时间外,同时蜂鸣器也会发出警报声,警示闯入者。

5  结  论

根据目前智能家居系统的现实情况和市场的客观需求,结合STM32单片机技术、蓝牙无线通信技术和移动客户端技术,设计出一种能在手机APP上通过蓝牙远程控制家居以及实时监测显示室内环境数据的小型智能家居系统。本文详细阐述了通过STM32微处理器将环境监测、自动控制和蓝牙数据传输功能整合在一个系统中的实现过程和方法,可充分利用该微处理的资源,成本较为低廉。经过测试得知,本系统测量数据准确度较高,很好地实现了室内环境实时测量和控制功能,能够满足用户对便捷、安全、高效智能生活的需求。

参考文献:

[1] 童耀南,王欣,曹鹂晨,等.基于物联网技术的室内环境在线监测系统设计 [J].湖南理工学院学报:自然科学版,2020,33(1):24-28.

[2] 徐蕴函.无线蓝牙技术下的智能家居生活与安防系统应用 [J].中国新通信,2018,20(9):130-131.

[3] 谢梦怡.无线技术在智能家居的应用 [J].数字技术与应用,2016(2):59+61.

[4] 韦义宏,粟能鑫,谢宗民.浅析无线技术在智能家居中的应用 [J].中国科技投资,2013(Z1):143.

[5] 侯静云,陈磊,赵静.基于物联网的室内环境实时监测系统设计 [J].蚌埠学院学报,2022,11(5):67-71.

[6] 梁浩林,何永玲,冯博华.基于STM32的室内物联网控制系统 [J].物联网技术,2022,12(8):97-99.

[7] 何峰.智能家居总线与无线技术分析 [J].科技创新与应用,2022,12(15):138-142.

[8] 葛敏婕,赵子涵.基于蓝牙技术的物联网室内定位系统 [J].物联网技术,2021,11(11):52-57.

[9] 张洪涛.几种常见无线技术在智能家居中的应用分析 [J].电脑知识与技术,2021,17(1):69-70.

[10] 孙军.基于物联网的室内空气质量监测仪的设计与实现 [D].北京:华北电力大学,2020.

作者简介:杨飞宇(1997—),男,汉族,河南周口人,硕士研究生在读,主要研究方向:嵌入式系统与智能仪器;吴菲(1995—),男,汉族,重庆人,硕士研究生在读,主要研究方向:计算机软件;唐修权(1997—),男,汉族,重庆人,硕士研究生在读,主要研究方向:计算机软件。

猜你喜欢
STM32单片机智能家居
基于PLC的智能家居控制系统研究
智能家居发展或将实现弯道超车
基于STM32芯片的移动机器人的避障研究
基于STM32的两轮自平衡遥控小车设计
基于STM32单片机的数码相框显示系统设计
关于智能家居真正需求的探讨
智能家居的发展趋势分析
基于STM32的中老年人跌倒监测装置研究
智能家居更贴心
基于LD3320的智能家居控制