曾海燕,郑鑫,韦燚
(广西民族师范学院,广西崇左,532200)
当今社会,人们因为不停的忙于工作、社交活动,身心疲惫地回到家后总希望觅得一片安宁。舒适、温馨、智能的家庭环境可以很快缓解工作带来疲劳,因此家居环境的好坏直接影响着人民的生活水平,传统的方式需要对家居设备进行手动调节,这不仅繁琐,而且不具备提前开启的条件,只有当人们返回到家中后才可实施操作,如果家居设备具有远程控制功能,将大大提高用户的使用感受,家居的智能化,可以给人们创造更加温馨的生活环境。随着科学技术的发展,科学工作者不断探索如何让人们的双手从繁琐的家居操控中解脱出来,让家居智能化,不需过多的操作即可实现家居根据人们的生活习惯而自行启动,并进入令人们舒适的工作模式。
智能家居作为人类社会发展智能化的重要体现,国内外专家学者均进行了广泛深入的研究。人们借助移动通信技术、物联网技术、安防技术等手段,不断拓宽智能家居系统的应用深度,同时也为智能家居发展做出重要贡献。尽管研究取得的成效显著,但是智能家居系统依然面临较多迫切需要解决的问题,诸如系统安全性不高、系统稳定系不佳、灵敏度低的问题,家居设备无缘无故与系统断开连接、或者反复操作但是系统无法执行命令等问题。本文所探讨的基于物联网的智能家居系统研究,旨在找到一种安全性高、操作容易、灵敏度高的家居智能控制系统。
本系统从软硬件两方面进行设计,硬件系统主要执行各种信息采集、显示、操作,软件系统负责对功能模块发出具体指令。通过软件与硬件的相结合,利用物联网技术,将数据上传到云平台,通过手机或者电脑便能随时随地监控家庭内的设备。在电路设计过程中,需采用processon辅助工具进行系统框架图的绘制,采用Altium Designer 10绘板工具进行实现根据各模块的设备绘制设备原理图、封装图,最终实现系统电路封装图,并进行电路板的绘制工作。
如图1所示,智能家居系统核心部件是主控模块,通过主控模块,实现对按键模块的输入信息进行判断,采集模块负责对环境温湿度进行采集,经过数据处理后汇总到主控模块,从而实现对家居系统的控制、显示、报警功能。同时,主控模块可将采集到的信息以及控制指令通过无线通信模块传输到云平台,登录到云平台可以实时查看相关数据。
图1 系统框架图
主控模块是系统的指挥官,采用的是STM32单片机,接收周边附属模块采集过来的信号,并对各操作模块发出操作指令,从而实现对各系统模块的有机协调、相互配合,最终实现系统的各项功能。
远程控制模块主要采用的LED、电机。LED模拟远程开关灯,通过云平台或者手机发送指令便可以控制LED的开关,实现远程控制家用电器的功能。电机模拟家庭环境的风扇,电机需要与继电器配合使用,通过远程发送的指令控制继电器内置磁片的吸合,当继电器磁片处于常开状态,电机的连接形成一个断路状态,当继电器磁片处于常闭状态,电机的连接形成一个短路状态。
无线通信模块采用的是ESP8266模块,该模块带有WiFi传输功能,将系统采集到的数据以及控制指令转换为数字信号后传输到云平台。单片机数据通过串口协议发送给ESP8266WiFi模块,RX引脚和单片机的TX引脚相连,RX、TX分别为WiFi模块数据的发送端、接收端。WiFi模块通过无线通信的方式将数据发送到云平台,实现了基本的物联网功能,对数据进行远程的传输。
按键模块采用的是四引脚的轻触开关,轻触开关可分成两种组合方式。一种是两组常开状态的开关,一种是两组常闭状态的开关。系统采用的是一组常开的开关,四个开关共地,另一个引脚与单片机相连。当按下开关之后,断开状态形成闭合状态,此时想单片机输入低电平信号。开关的作用主要是调节温湿度的阈值大小,通过当前环境的不同,对应调节温湿度的限定值。
传感器模块集成有环境温湿度采集、烟雾信息采集、光照信息采集、液化气体采集等功能。温湿度传感器主要采用的是SHT30,SHT30主款温湿度传感器体积小,测量的温度湿度精度较高,能够快速测量当前环境的温湿度。采用的通信方式是I2C协议,SCL引脚为同步时钟引脚,是I2C总线的串行时钟引脚,SDL为数据引脚,用于发送和接收数据的引脚。光敏传感器是通过光敏电阻实现对环境光照条件的采集,负责监测当前环境是处于黑暗还是白天,对智能灯控提供参考依据。通过DO引脚发送当前环境的光度的状态,当黑暗降临的时候,DO引脚会发送与之相反的状态给单片机,发出开灯信号,实现灯具的远程控制功能。烟雾传感器采用的是MQ-2,内置一个状态灯,主要是检测烟雾和可燃气体,当模块检测到当前环境存在烟雾或者可燃气体,状态灯会打开,并通过DO引脚发送数据给单片机,便于单片机做后续工作。MQ-5液化气体传感器对家庭环境是否有液化气体泄露进行判断,并生成相关信号传送到主控系统,为智能家居系统提供安全检测参考。
液晶显示模块采用的OLED液晶显示屏,采用OLED屏不需要背光支持,屏幕本身自带有机的发光二极管,像素清晰度极高,用于显示当前的环境温湿度。
报警模块根据主控模块给出的信息进行分析,结合其他附属模块,判断当前环境是否存在超过预设的问题,并通过蜂鸣器进行反馈,实现系统的报警功能。比如当前环境存在烟雾,系统的烟雾传感器检测到并发送到主控模块,主控模块便会发送指令给蜂鸣器,便可触发报警功能。同时,可对环境温湿度进行预设,一旦采集数据超过预设值,将会触发报警。
系统的电路原理图如图2所示。
图2 系统电路原理图
程序的主要流程:首先对各个模块进行初始化,然后要与云平台建立连接,同时,液晶显示屏出现“正在与云平台尝试连接”,当连接不成功会采用循环连接方式一直尝试连接,需要连接成功才能进行下一步操作。成功连接后,液晶显示屏展示当前环境的温湿度数据,并实时刷新屏幕数据;系统对按键进行扫描,通过对按键信息进行读取,进一步调整温湿度设定的阈值,并返回给单片机。单片机实时接收温湿度传感器、液化气传感器等采集回来的信息,以及LED灯、蜂鸣器等设备的状态信息,将信息分析、编译后传送到控制模块,实现对家居的智能监测功能。同时单片机通过网络传输将数据实时上传到云平台,云平台可以下发命令给单片机,云平台设置多个控制控件以及显示控件,当旋动温湿度对应的控制控件时,将下发对应的数据流到单片机,单片机需对下发的数据流进行解析,根据KEY去除对应数值。每一个控件指定为设备的名字,便于命令的下发。控件能对硬件设备进行控制,修改对应设备的数值及状态。显示控件需提供上传的数据流,通过javascript脚本语言解析数据流中的json字符串,获取到有效的数值,并能对数据实时刷新。
图3 系统主程序流程图
本系统采用ONENET云平台,云平台需要提供设备ID、鉴权信息、产品ID给单片机才能建立长连接。连接成功之后,系统会通过WiFi传输模块将数据及指令上传到云平台,数据传输是双向的,云平台也可以下发命令给单片机。下发命令需要在平台上创建应用管理,创建一个可控制界面。在创建设备的时候,需要与单片机约定好交互的数据KEY,VALUE的数据格式。在云平台的管理界面,提供温湿度阈值设定功能,不仅可以实时查看温湿度信息,也可对环境温湿度阈值进行设置,环境温湿度超过预设值则发出报警信号。同时,云平台提供LED和电机开关按钮,实现远程开关家庭设备。命令下发流程如图4所示。
图4 命令下发流程图
在应用管理界面,当点击LED、电机开关或者旋动温湿度阈值的旋钮,会相对应下发不同的命令给单片机。单片机需要解析下发的命令,控制相关设备的状态,从而实现远程控制功能。当解析到KEY为LED时,获取KEY对应的VALUE值从而赋值给LED灯。当解析到KEY为RELAY,单片机控制输出连接继电器的引脚,根据云平台传输的内容,输出高低电平。此时继电器IN引脚接收到单片机控制信号,其他两个引脚需接入单片机提供的电压。继电器另一端则接入负载,包含有两种状态,接入NC端为常闭状态,接入NO端为常开状态。默认情况下,采用继电器的常开状态,无法驱动设备,需要额外的控制信号引导,将内置磁片置为吸合状态,形成短路状态便可以驱动风扇。当解析到KEY为DOOR,读取VALUE值并进行判断,当判断为开启状态,则给舵机的信号引脚输入频率为50Hz的PWM波形,从而实现驱动门板的开启与关闭状态。当解析到KEY为TEMP和HUM时,将获取KEY对应的内容,进而修改温度阈值和湿度阈值。
按键程序流程:首先对各模块进行初始化,对按键进行循环扫描,每一个按键接一个单片机输入引脚,当按下按键的时候,会向单片机输入低电平。按下键1、2会修改温度的阈值,按下键3、4修改湿度的阈值,如图5所示。
图5 按键控制流程图
首先将各模块的传感器进行初始化,进行温湿度数据的监测,当在指定环境下检测的温度或者湿度超出预先设定的数值时,当监测到室内环境出现烟雾、可燃气体,传感器将状态反馈给单片机,由单片机控制蜂鸣器报警。在需要长时间光照的门外可添加光度控制,当夜晚降临,光敏传感器监测到当前环境处于黑暗状态,会自动在门外开启第一个LED灯,白昼则关闭。在黑暗的地方,当声音传感器监测到脚步声或者其他声音会自动开启第二个LED灯。声音消失后,LED灯延时关闭,延时时长可适当调整。
智能操控,离不开手机端的支持,因此需要设计一款手机APP,将智能家居系统的数据同步传输到云平台,实现对智能家居系统的随手控制。采用Android Studio进行页面的开发和设计,通过网络传输,获取云平台的数据。设计手机APP需要指定云平台上的APIKEY和URL地址,指定APIKEY是为了区别平台上的设备,指定URL地址是为了获取数据流。手机APP所呈现的数据有各个模块当前的状态、当前温湿度数据、温湿度的阈值,如图7所示。当前环境下的温湿度超过设定的阈值或者当前出现火灾、烟雾、可燃气体,硬件系统会触发报警,同时向云平台发送当前处于报警状态,手机APP实时接收云平台发送过来的数据,并通过QQ邮箱发送短信给用户,短信内容为当前时间,报警的详情信息。手机APP提供远程控制功能,可通过按键远程控制硬件设备的LED及电机,手机APP向云平台发送数据,云平台下发命令给单片机。提供历史数据保存功能,通过历史界面便可以查看温湿度的历史数据,查看历史报警时间,家庭状况。
图7 数据图
本文从软硬件两方面介绍智能家居系统的设计原理,硬件部分主要介绍系统各模块的基本功能,软件部分介绍各功能模块控制系统的实现流程。通过智能家居系统实现对家居环境进行检测、对生活电器进行控制以及状态监控,借助物联网平台,人们可以远程对家居系统进行控制,实现家居智能化,最终通过手机客户端将智能家居系统的功能呈现在用户面前,实现对家居系统的检测、控制、反馈功能。通过本系统可远程查看家庭环境状态、控制家庭主要电器、查询历史信息、监控家庭异常告警等功能。智能家居系统的发展,将进一步提升家居的智能、便利、安全、舒适性,相信定会给人们的生活带来质的飞跃。
图6 智能控制流程图