APP下载

基于Arduino 的微型智能家居系统设计与实现

2019-11-18王慧敏督静雯那天力

现代计算机 2019年28期
关键词:功能模块舵机家居

王慧敏,督静雯,那天力

(1.西华大学计算机与软件工程学院,成都610039;2.西华大学西华学院,成都610039)

0 引言

随着物联网的不断发展,智能家居也将逐渐走进大众的生活。智能家居作为物联网的发展方向之一,为人类生活带来便捷的同时,也需要考虑智能家居系统的功耗、成本、稳定性以及安全性问题。目前普通居民对于现阶段智能家居的认识还不是很深入,但是他们都有同样的需求,就是让生活更便捷,弥补现阶段推广较为普遍的家居体系的不足。由于Arduino 的低功耗特性,设计的Arduino 微型智能家居系统还能运用于学生寝室,学生也是一个庞大的群体,对于新型智能寝室有着极大的需求。目前市场上并没有针对智能寝室方面的智能系统,现阶段市场上展现出的智能家居系统在功耗上难以满足大多数学生寝室的需求,针对学生寝室,在保证系统安全稳定高效和功能实现的前提下,将功耗尽可能降低,同时达到了节能目的[1]。

1 系统的总体结构

具有门禁、智能灯控、智能插座、空气开关、自动窗帘、防盗、环境监测、厨房有害气体监测、雨天自动收衣、语音识别控制等诸多功能。但是实现这些功能都是在不破坏原有家居的前提下进行的,如果其中某一个小功能模块暂时无法使用了,并不会影响整个系统的运行。只需要把相关功能模块添加进去就可以继续使用该功能,类似于搭积木的形式。

图1 微型智能家居系统结构图

2 系统的硬件设计

Arduino 与传统的单片机开发不同,硬件平台和电路图开源,所有公司生产Arduino 开发板成本较低,市场价格相对较低[2]。Arduino 与FPGA 的对比如表1所示。

表1 Arduino 与FPGA 对比

得益于Arduino 的积木可移植性,设计了多个系统模块,从最初的门禁模块,再到后来加入了红外遥控模块、蓝牙通讯模块、Wi-Fi 通讯模块、防盗模块、窗帘模块等,可供用户自行选择。基于Arduino 的开源性,得以将功能模块化,使系统的功能模块可以像积木一样添加删减。

对于门禁功能,这里以“刷卡进门”为例进行分析。采用一卡通(RFID 卡)接触RFID 的识别区(即图2 中的RFID 模块),通过RFID 模块对校园卡进行识别,在这个识别过程中,读卡器主要是将校园卡中的身份信息读取出来,然后系统会将读取出的身份信息与门禁系统中录入的身份信息进行快速匹配,通过处理器进行分析,如果能够匹配上,说明该身份信息是合法用户。当听到所使用的RFID 卡被识别的声音时,说明该卡信息已被读写器读取[3],并将相关信息数据传送至Arduino 单片机的主控芯片,Arduino 单片机进行一系列运算后,将控制指令传送至舵机,随后舵机带动门锁,门就会打开。在这个功能模块中,舵机足够带动20kg 中的门锁开门,完全可以满足大多数居民家居和学生寝室。在门禁功能,处理采用RFID,也可以替换成指纹解锁、人脸识别解锁或者虹膜识别解锁,由于系统进行模块化,兼容性相对较高,替换时比较方便,后期扩展容易。

图2 微型智能家居系统主要模块电路组成

2.1 系统运行环境搭建

对于Arduino 开发板,首先需要搭建开发环境,给Arduino 编程需要用到的集成开发环境IDE 是Arduino 1.8.9,在这款软件上编程需要使用Arduino 语言,该语言是模块化的编程[4]。这是一种解释型语言,写好的程序被称为sketch,编译通过后就可以下载到开发板中。Arduino IDE 的安装可以是在Windows 环境下,也可以是Linux 或者Mac OS。

2.2 功能模块的硬件选择

RFID 模块采用的是RFID-RC522,MF RC522 是一款低电压、低成本、体积小的非接触式读写卡芯片[5]。利用调制和解调的概念,集成了在13.56MHz 下类型的被动非接触式通信方式和协议。MFRC522 支持MIFARE系列的非接触式通信,双向数据传输速率快[6]。

蓝牙模块采用的是HC05,HC05 是主从一体的蓝牙串口模块[7]。当蓝牙设备与蓝牙设备配对连接成功后,可以直接将蓝牙当做串口用。蓝牙模块用于短距离和点对点的无线数据传输和接收[8]。

Wi-Fi 模块采用主要部件是ESP8266,ESP8266 这款Wi-Fi 芯片使用了3.3V 的直流电源,体积小,功耗低,内置完整的TCP/IP 协议栈,支持透传[9]。ESP8266硬件接口丰富,可支持UART、IIC、PWM、GPIO、ADC等,支持STA/AP/STA+AP 三种工作模式,适用于各种物联网应用场合。

环境监测模块用到传感器是DHT11 温湿度数字传感器和PM2.5 传感器。DHT11 数字温湿度传感器包含NTC 测温元件和抗干扰能力强的电阻式感湿元件[10]。采用单总线数据格式,单个数据引脚端口完成输入输出双向传输,其数据包由5Byte(40bit)组成。PM2.5 传感器用来感应空气中的尘埃颗粒,传感器模块主要由光电晶体管和发光二极管组成。通过光电晶体管探测尘埃的反射光,发光二极管射出的光经过尘埃颗粒反射后,根据所探测到反射光的强度,将记录下的数据在系统中进行计算后判断出空气中尘埃颗粒的浓度。

2.3 各功能模块间信息交互

防盗:融合红外感应模块的防盗系统可实现对室内安全的防护,在检测到异常时,会将异常情况通过Wi-Fi 通讯模块发送至用户手机,并且会通过蜂鸣器达到自动预警功能。红外感应模块可以发出和空调及电视等遥控器相同波长的红外线,来达到控制红外遥控的家居的开关的目的,如空调、电视等。

环境监测:将搜集到的传感信息进行处理分析,达到对室内光线、温度、湿度、空气中PM2.5 浓度、有害气体的实时监测。如果室内温度过高或者过低,可以将此信息通过室内的短距离通信系统快速高效地传输到控制系统,再通过红外模块控制家居的空调开关,达到自动调控温度的效果。

厨房有害气体监测:可以检测厨房内有害气体的浓度,来达到检测天然气泄漏的目的。配合步进电机模块可以在检测到燃气泄漏的第一时间工作起来将燃气阀门关闭。

智能灯控:主要是针对晚上自然光较弱的环境下,如果半夜用户需要起床去洗手间,智能灯控就会根据红外和诸多传感信息检测出用户的需要,自动将灯打开。

自动窗帘:通过光传感器搜集室内外的光线信息,在系统中设置光线强度阈值,如果室内光线偏暗或过强,将此信息传送至控制器,由控制器发出相应给舵机,舵机带动窗帘,实现自动关闭或打开。

雨天自动收衣:放在屋顶的雨滴传感模块在感应到下雨时,会传输给控制系统信号,控制系统检测当前衣物的位置,如果在淋雨区域,则打开舵机电源,驱动舵机将晾衣支架移动到避雨区。

可控空气开关:控制整个家居的电气总阀门,用户外出时可以通过网络进行控制,避免用户外出时遗忘关闭电气总阀门而造成不必要的损失。

3 系统的软件设计

语音识别控制的主要功能是用户可以通过语音传送消息来控制室内各种开关,通过语音打开空调,设置空调温度等。这些语音识别是建立在用户手机上的App 应用[11],通过将消息传送给App 端,进一步控制家居各个区域。主要功能设计:

(1)App 能够实现语音识别功能并对关键字进行识别,能够对关键指令进行声纹认证,声纹密码可修改。

(2)App 能够通过语音指令获取设备状态和环境温湿度信息,并通过图形页面显示出来。

可以使用网络远程连接系统,并进行对应操作,例如监视环境变量、控制家居设备等。另外也兼容第三方平台,例如,天猫精灵智能音箱、小爱同学智能音箱、blinker 平台等,通过第三方的语音指令来实现系统的指令操作。

图3 配套App主界面图

4 安全性保证

在整个系统会有大量数据的处理,在大量信息交互的过程中必须保证整个系统的信息安全。除了上述提到的简易防盗系统来保证整个系统的安全外,还采用了密码学中的DES 加密算法对系统信息进行加密,DES 是分组密码算法,它可以完全利用硬件来实现,可以通过程序实现加密,然后嵌入系统中来达到信息的机密性。不管是完全基于硬件还是程序来实现该算法,其工作效率都是相对比较高的,如果要完成系统信息完整性和认证性,则可以在传统的DES 算法的基础上加以改进,利用基于hash 函数的消息认证码,并且结合DES 的加密,采用CBC 模式。

5 结语

本文主要从硬件电路和软件部分两方面来设计并实现了Arduino 微型智能家居,集成本低廉、功耗较低、后期功能扩展开发简单、功能多样、可以采用USB 接口供电等诸多优点。推广范围不受群体局限,学生寝室或普通居民家居均适用,可实现远程控制,不管是在室内还是室外都可控制智能家居的运行,具有广阔的市场前景。

猜你喜欢

功能模块舵机家居
打造日常家居“氛围感”
基于速度观测的双余度电液舵机系统容错同步控制
台北家居
商业模式是新媒体的核心
基于ASP.NET标准的采购管理系统研究
高校二手交易网络平台功能及技术框架分析与设计
超音速舵机保护器
菜鸟看模型
舵机的应用
《数码家居》2009年下半年推荐榜