基于物联网的智能家居系统研究

2020-10-09 10:24褚世文靳士博庞华天凌宸张燕
电脑知识与技术 2020年22期
关键词:智能家居单片机

褚世文 靳士博 庞华天 凌宸 张燕

摘要:近年来,物联网技术逐渐发展,在智能家居系统中得到了越来越多的应用,其集成化程度却始终略显不足。该文从两个基本角度即照明与安全角度人手,通过单片机间相互通信及在云端进行信息统计,建立了一个操作简易、学习曲线平缓的智能家居系统,使得用户既可以让系统自主运行,也可以在移动端或PC端控制系统内的所有智能家具。

关键词:智能家居;单片机;ARDUINO UNO;模块系統

中图分类号:TP212 文献标识码:A

文章编号:1009-3044(2020)22-0193-05

开放科学(资源服务)标识码(OSID):

近年来,智能家居正在以其智能化、直观化、便捷化的优势被千家万户所接受。但在传统的智能家居系统中,组件与组件之间的、系统与用户之间的联系都稍显不足。应用物联网技术,使得用户能够用一台终端去控制家中的多个智能家居,才是智能家居发展的方向。

因此,本文设计了一种基于物联网技术,兼顾照明和安全两大重要需求的智能家居系统。在解决使用者基本需求的基础上,考虑到许多现有智能家居由于系统差异等原因,不能简单同时控制的痛点,利用ARDUINO UNO与云计算技术搭建了本系统,使用户的痛点得以解决。

系统结构如图1所示,以ARDUINO UNO为核心,WIFI为主要通信媒介,依靠多种传感器和两部分的执行机构来组成系统。接下来会依次介绍各部分的设计。

1 照明部分

1.1灯具部分

1.1.1系统组成

智能家居系统中的智能灯具部分组成如图2所示,主要分为传感部分、控制部分与执行部分。传感部分主要由红外模块HC-SR501与光敏电阻传感器构成,用于监控是否有人活动以及室内光强的变化;控制部分采用ARDUINO UNO版本,在兼顾体积的同时提供足够的算力;执行部分则由单路12V电器与LED灯带构成,用于接收控制部分的信号并执行调节光强的任务。在三个部分中用到的模块与设计,以下将做详细介绍。

1.1.2传感部分

传感部分的第一个模块是HC-SR501人体感应模块,其基于红外线技术进行检测,使用LHI778探头,功耗较低,适合用于单片机系统;同时HC-SR501还可以通过改装获得自动光敏控制与温度变化补偿功能,检测更为精确,符合家庭使用“小空间、高精度”的需求。第二个模块是光敏电阻传感器模块,此次选用的是采用了LM393双路差动比较器的传感模块,通过电路设计,使其不仅能够通过DO端与继电器相连组成光控开关,还可以通过AO端与ARDUINO UNO相连,测量具体环境光强。

HC-SR501的结构如图3所示,输出为3.3V/OV的TTL信号,所以将其out端连接到ARDUINO UNO的digital部分接口,并将所连接口设置为in模式即可获取HC-SR501的识别结果。同时在模块中可以通过L/H焊盘部分的通断来选择模块为可重复触发模式抑或不可重复触发模式。因为在家庭场景使用时,只要有人在使用范围内,就应当始终保持灯的开启状态。故可重复触发模式,也即在感应输出高电平后的一段时间内,只要检测到人体便会自动后延一段时间高电平输出,直到人体离开感应范围后才会变为低电平的模式更加符合需求。所以将三个焊盘中的下两个断开,上两个短接。然后将温度补偿电阻接到图3中的RT位置,以弥补因为温差而导致的检测范围变化。

光敏电阻传感器的结构如图4所示。此处在三线制与四线制两个版本中选择了四线制版本,理由如1.1部分所述,四线制比三线制多出了AO输出,可以在使用DO输出做自动光控开关的同时,给ARDUINO UNO提供具体环境光强数值。而后可以根据光强数值做出具体调节。

1.1.3控制部分

控制部分主体采用了ARDUINO UNO开发板。ARDUINOUNO是基于ATmega328P的ARDUINO开发板,拥有14个数字输入/输出引脚(其中6个可用于PWM输出)、6个模拟输入引脚,在需要连接多个传感器与模块的情况下保证了有足够的引脚供使用。同时ARDUINO UNO自带可自恢复保险丝,对于输入电压的允许范围也较为宽容,这对于可能产生电压不稳等情况的家庭场景使用是十分有利的,可以增强整个系统的鲁棒性。

控制部分负责计算及指令发出任务,其工作流程如图5所示。首先由HC-SR501进行人体检测,若检测到范围内的人体活动则将TTL信号传回ARDUINO UNO,开始进行适宜方案计算,图6展示了适宜方案计算的整体流程。所谓适宜方案计算是指,以2017年修订的《健康住宅评价标准》(图7)[1]中提出的对健康住宅光环境的照度值的建议作为基准值,调用光敏传感模块得到测量值,计算测量值与基准值之间的偏差,最后交由执行部分进行调节。同时,为了照顾不同人群对于照度的不同需求,系统也实现了对于照度等数值的自我调节。使用者可以交由系统进行自动调节,也可以指定固定数值。在系统处理流程中,用户指定数值相比计算值拥有更高的优先级。

1.1.4执行部分

执行部分由继电器与LED灯珠构成。LED灯珠选用了由贴片5050灯珠构成的灯带。因为考虑到在家庭场景中应用时对于照度值及安全性的要求,选用了额定电压12v版本的灯带,其额定功率12W/m,防水等级IP33,配合外壳足以应对家庭场景正常使用条件下的各种情况。继电器为12v单路继电器,使用了SRD-12VDC-SL-C继电器,拥有AC IOA/250v、DC IOA/30v的负载能力,足以驱动需要量的负载,对于意外也有一定的承受能力。

1.2窗帘部分

1.2.1总体设计方案

本项目首先由光敏传感器对外界光线进行采集外界光线,并将采集后的光强数据通过A/D转换,转换为电信号,后端采用单片机为系统控制平台通过处理后的信息作用于电机驱动及电机,进而控制电机的正反转,从而实现窗帘的打开与关闭,运作流程如图8所示。

1.2.2硬件部分

1.2.2.1单片机

本项目选用ARDUINO来作为开发环境,ARDUINO也是一款便捷灵活、方便上手的开源电子原型平台。包含硬件和软件。由于ARDUINO还具有跨平台、开放性等特点,不需要太多的单片机基础、编程基础,简单学习后,也可以快速地进行开发[2]。所以相较于其他软件而言,ARDUINO应用起来更加的简单清晰。

1.2.2.2传感器

本设计选用12V光敏电阻传感器,首先光敏电阻感應光线的强度,自带继电器,可以直接控制负载,配电位器调节灵敏度,通过调节电位器,设定启动继电器阈值,由《健康住宅评价标准》(图7)[1]中提出的对健康住宅光环境的照度值的建议设定阈值,但由于用户自身需求不同,所以用户还可以根据自己的需求来改变阈值的大小,当暗于此阈值时,模块继电器吸合,亮于此阈值时,继电器释放,12V电源输入专供继电器使用:板载78L05稳压三极管,提供传感器比较实用,使产品更稳定可靠。

1.2.2.3电机驱动

收到处理后的信息作用于步进电机,本设计采用的步进电机是28BYJ4步进电机,配备uln2003驱动,驱动信号为脉冲信号。无脉冲时,步进电机静止,加入适当的脉冲信号,就会以一定的角度转动。转动的速度和脉冲的频率成正比,还可以改变脉冲的顺序,就可以改变转动的方向,从而调整窗帘的开关,电机驱动过程如图9。

1.2.3软件部分

1.2.3.1设计思想

如果光照强度低于参考值,同时窗帘处于打开状态,电机反转,从而关闭窗帘,如果光照强度低于参考值,但是窗帘已经处于关闭状态,则电机不转。

如果光照强度高于参考值,同时窗帘处于关闭状态,电机正转,从而打开窗帘;如果光照强度高于参考值,但是窗帘已经处于打开状态,则电机不转[3]。

1.2.3.2运行流程

运行流程如图10所示,先对系统进行初始化,之后调用函数驱动光敏电阻传感器进行光线的数据采集,并通过A/D转换,将模拟的光线数据转换成数字电信号,传送给处理器进行数据处理,之后判断处理后的数据是否高于参考值,若不高于则结束操作,若高于参考值则电机驱动,窗帘打开。系统软件设计通过对数据的采集、数据处理、电机驱动,从而实现步进电机的自主控制。

2 安全部分

2.1 综合传感器

2.1.1 设计方案

首先由测温模块DS18820及MQ气体传感器对厨房的温度及可燃气等气体进行监测,并将各气体浓度及厨房温度是否正常显示在液晶屏上,一旦某项数据超出设置阈值,模块会触发ARDUINO上的蜂鸣器报警,使用户得以及时发现险情加以处理,防止灾害发生。整个流程如图11所示。

2.1.2 硬件选择

2.1.2.1 液晶屏LCD12864

LCD12864是图形点阵式液晶显示器,拥有内置汉字及字符并且提供自定义字符生成功能,可提供4组16*16点阵的空间,使得使用更加便利。它利用液晶经过处理后能改变光线的传播方向,以电流刺激液晶分子产生点、线、面并配合背光构成画面。并且可配合其他单片机完成汉字,字符,图形等显示,可构成人机交互的图形界面,该模块功耗低,显示内容丰富,使各气体浓度及厨房温度是否正常完整清晰地显示在屏幕上。

2.1.2.2测温模块DS18820

DS18820数字温度计提供9-12位摄氏温度测量,并具有报警功能,具有非易失性用户可编程的上下触发点。DS18820通过1-Wire总线进行通信,仅需一个端口引脚即可实现通信。它的工作温度范围为-55C至+125℃,精确到在-lOcC至+85℃的范围内正负0.5℃,精度很高,满足家庭防火的需求。并且DS18820可以直接从数据线获得电源,无须外部电源,使用起来也更加方便。

图12为测温模块DS18820的原理图,通过DO端与ARDU-INO UNO的digital部分接口相连,并将所接

2.1.2.3 MQ气体传感器

MQ气体传感器使用的气敏材料是在清洁空气中电导率较低的二氧化锡(Sn02)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转化为与该气体浓度相对应的输出信号。MQ气体传感器采用优质双面板设计,具有电源指示和TTL信号输出指示,TTL输出低电平时信号灯亮,可直接接单片机模块。并且MQ气体传感器对甲烷、一氧化碳等都有良好的灵敏度,这种传感器可检测多种可燃性气体,特别是天然气,而我国大部分厨房所使用的基本是天然气,所以这是一款适合放置在厨房的低成本传感器。将MQ气体传感器模块的DO输出端与ARDUINO uno的digital部分接口相连,并将所连接口设置为in模式即可测得厨房天然气等气体的浓度是否超出阈值。

2.1.2.4蜂鸣器模块

该模块采用S8050三极管驱动,工作电压为3.3V至5V,并且设有固定螺栓孔方便安装,当1/O口输入高电平时,蜂鸣器发声,提醒用户及时处理。

3 网络部分

本文所设计的智能家居系统软件运行主要通过多个AR-DUINO UNO对室内环境监测得到数值,而后进行本地预算以及上传云端进行统筹,进而实现终端执行部分的智能化运行。系统可分为数据收集部分与数据处理部分。其中的数据收集部分由ARDUINO UNO与ESP8266芯片所组成,其工作流程如图13所示。传感器测得数据后将其传回ARDUINO UNO,AR-DUINO UNO通过ESP8266芯片连接WIFI,将数据传回YEELINK的云端服务器。数据处理部分由ARDUINO UNO与云端服务器共同进行处理,云端服务器处理后的数据主要用于在线上向用户展示家中情况,ARDUINO UNO处理后的数据则用于决定执行部分如何运行[4]。接口设置为in模式即可测量厨房具体温度。

4 结束语

本文设计了一个以物联网技术为基础的智能家居系统,可以依据多种数据智能调节灯具、窗帘属性。本系统设计主要以高集成度为核心,选用ARDUINO来作为开发环境,通过各项技术对家庭网络进行构建,用传感器感应各模块的信息从而实现各个智能家居的自动打开或关闭。检测精准迅速,实时性能良好,工作可靠且功耗低,可以满足个人现代化的需求[5],从而实现智能家居的应用和推广。

参考文献:

[1] T/CECS 462-2017,健康住宅评价标准[Ml.北京:国家住宅与居住环境工程技术研究中心,中国建筑设计院有限公司,2017.

[2]刘伟,智能电动窗帘设计[D].成都:成都信息工程学院,2011.

[3]欧阳宇轩.智能窗帘系统设计[J].电子技术与软件工程,2013(15).

[4]王琳,肖军,刘洲洲,基于NB-IOT的智能家居系统的构建[Jl.计算机技术与发展,2020(3).

[5]张秀瑞,李树新,葛文珍,等,基于自动化的智能家居系统探究[Jl.电子测试,2020(3):58-59.

【通联编辑:王力】

基金项目:南京大学金陵学院校级大学生创新项目(136462019009X);南京大学金陵学院教改项目(0010521607)

猜你喜欢
智能家居单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于Zigbee的无线通信技术在智能家居中的应用
Microchip推出两个全新PIC单片机系列
基于LD3320的智能家居控制