基于WiFi的智能家居中央控制系统设计

2018-08-08 07:31,,,,,
单片机与嵌入式系统应用 2018年8期
关键词:智能家居继电器语音

,,,,,

(西安工程大学 电子信息学院,西安 710048)

引 言

智能家居[1]在具备传统家居舒适、安全等特点的同时,还将家居环境变得更加智能化、人性化,可以实时地提供全方位的信息,便于家庭与外部保持信息交流,增强家居生活的安全性、舒适性,实现远程操控、实时监测、合理控制各种能源的使用,从而优化人们的生活方式,改善人们的生活条件。随着社会信息化的不断发展,人们的生活、工作、通信之间的关系变得日益密切[2-4]。

目前在智能家居市场上,大多数的智能家居系统依然采用控制主机的方式。国内的智能家居行业开始在全IP技术上做进一步的研究,并且开发了功能更全面的智能家居系统[8-11]。

1 系统总体设计方案

本系统采用STM32F103作为核心处理器,对室内环境各项数据进行分析处理以及通过WiFi模块向终端设备发出命令执行一系列的操作;外设电路包括电源电路、数据存储电路、JTAG调试电路、复位电路等;数据采集终端实现对温湿度、PM2.5、CO2浓度、光照、声音、煤气等室内环境因子的采集;视频采集端实现室内的安防功能;语音识别模块实现了用户通过语音指令即可完成对室内终端设备的操控功能[12];执行设备终端主要包括空调、电视机、电脑、灯、冰箱、窗帘、门等;温湿度模糊控制器主要处理室内空气温湿度,根据采集到的数据进行分析,从而实现用4路继电器自动控制室内执行设备进行升温、降温、加湿、除湿等操作;远程监测端基于Android操作系统搭建客户端,可以实时监测室内环境是否处于一个安全的状态,出现问题时可以进行远程操控[13]。智能家居系统总体结构图如图1所示。

图1 智能家居系统总体结构图

2 系统硬件设计

2.1 主控芯片

图3 HLK-RM04模块电路图设计

STM32F103片内外设资源丰富,存储容量较大,用户开发环境较好;内核是32位的ARM Cortex-M3控制器,片内外资源丰富,最高工作频率可达72 MHz,内置大容量高速嵌入式存储器,很轻易地容纳智能家居系统所需要的空间;拥有2个I2C总线接口、2个12位D/A转换器、10个三通用16位定时器、1个PWM定时器、9个通信接口;1个WiFi WLAN无线宽带网络通信接口,最大转换时间可以达到1 μs。

2.2 数据采集模块

系统需要采集大量的外部数据,比如空气温湿度、光照强度、CO2浓度等,需要数据采集接口负责系统数据的采集和传输,本系统采用的数据采集接口为RS485信号类型。RS485采用差分信号逻辑,遵循MODBUS协议,实施简单方便,支持的传感器多,满足了本设计的要求。RS485采集接口电路如图2所示,UART2连接——MAX485芯片组成RS485接口,采用线控方式进行控制。

图2 RS485采集接口电路图

2.3 PM2.5传感器

本系统采用夏普公司推出的光学灰尘浓度检测传感器GP2Y1010AU0F。其技术参数如下:工作电压为4.5~5.5 V;工作电流为10 mA;工作电流为最大20 mA;工作温度为-10~65 ℃。

2.4 无线通信模块

采用海凌科公司开发的HLK-RM04模块作为WiFi无线通信模块[14]。该模块基于802.11n/g/b无线标准,无线传输速率最高可达150 Mbps;模块支持WEP、WPA/WPA2安全加密机制,支持无线安全功能开关,支持AP/Router工作模式;支持WiFi协议、TCP/IP协议,可以实现串口、以太网、无线网接口之间的数据传输,同时可以实现网络参数以及串口转网络参数的配置;模块内集成串口转无线TCP/UDP传输功能,最大连接数超过20个;在网络管理方面可以实现远程Web管理;增加3个0603封装的LED指示灯显示电源(POWER)、WLAN、WiFi三者的工作状态。WiFi模块电路图设计如图3所示。

2.5 视频采集模块

安防是智能家居系统最重要的功能之一,确保用户在外出时室内安全,遭到不明入侵时能够及时报警并处理。传统的有线视频监控容易遭到不良人员的损坏,而且用户只能回到家调取视频监控录像,不能及时地发现问题并解决。本文结合WiFi技术设计了一款可远程登录、实时监控室内环境系统,可提高智能家居系统的实时性。

本系统采用具有图像采集和处理功能的OV2640摄像头完成室内的采集工作[15]。

OV2640摄像头体积小、工作电压低、兼容I2C总线接口,即使在低照度的环境下仍能保持高灵敏度。数据输出方式设置为多种格式的图片,在保证图像质量的前提下,减小对网络宽带的占用。OV2640通过SCCB总线接口和STM32F103微控制器连接通信。OV2640摄像头需要2.8 V及1.3 V两个供电电压,在本设计中,选用RT9193-2.8电源芯片和XC6219B132MR电源芯片分别提供2.8 V和1.3 V电压。设计的OV2640摄像头电路及其外围电路如图4所示。

图4 OV2640摄像头电路设计

2.6 语音识别模块

为了提高语音模块的灵敏度,设计了相关的辅助电路。喇叭音量外部控制电路如图5所示,R6和R2的阻值分别为33 kΩ、15 kΩ,声音被放大了2倍,若想实现手动调节音量,可以将R6设计成滑动变阻器。本文设计的麦克风偏置辅助电路如图6所示,其中引脚12是麦克风偏置,为了确保给麦克风输入一个浮动的电压,需要接一个RC电路。

图5 喇叭音量外部控制电路设计

图6 麦克风偏置辅助电路设计

2.7 继电器模块

采用SLA-12VDC-SL型6脚转换型继电器的通断来实现对室内终端设备的控制[16]。如图7所示,通过P12接口使用跳线帽来实现常开和常闭的转换。用跳线帽连接P12中2、3引脚实现常开,通过PE10引脚给出高电平,三极管Q16导通,继电器磁铁吸合,使得继电器输入RLY1_IN与RLY1_OUT导通实现供电,通过PE10引脚给出低电平来实现断电。

图7 继电器驱动电路图

3 系统软件设计

3.1 系统软件总体设计

智能家居系统主要是对室内环境进行监测以及自我调节,对终端设备进行智能化控制。软件设计方案包括WiFi无线通信模块、视频采集模块、语音识别模块、继电器模块、数据采集模块、模糊控制算法模块、远程客户端的软件设计[17]。

系统软件总体设计流程为:系统进行上电初始化,包括时钟初始化、输入/输出端口初始化、子模块初始化。系统数据采集模块开始工作并显示采集到的部分信息,中央处理器对数据进行分析处理,对部分如温湿度等对室内环境影响较大的数据进行模糊控制算法分析,与室内指标进行对比,输出控制指令,完成对室内终端设备的相应操作。总体软件实现流程如图8所示。

3.2 WiFi模块软件设计

为了减少电量的消耗,实现节能,在WiFi模块没有信号需要发送时,设置其进入休眠状态,使其节能环保,优化智能家居系统。当控制器发来信号时,启动处于休眠状态的WiFi模块开启接收指令,WiFi模块将接收到的指令发送到终端设备端口,通过终端设备上的节点完成对执行机构的操作。设备端工作流程如图9所示。

图8 系统主程序流程图

图9 设备端工作流程图

3.3 数据采集模块软件设计

为了设计方便,本文所采用的传感器均使用RS485总线通信。软件设计开始初始化,然后主控制器给传感器配置参数,包括传感器地址、存储地址等。传感器一直等待主机帧发送过来,有帧发送至传感器时,传感器首先查看地址是否正确。若地址不正确,则丢弃此帧重新等待主机帧的到来;地址正确,则传感器接收主机帧进行CRC16校验,查看数据是否正确,数据不正确则丢弃此帧数据,校验正确则查看功能码判断进行哪种命令操作。当设置传感器地址时则重设地址值,当查询传感器采集数据值时则根据数据流中寄存器长度要求采集传感器数据。之后将重设地址,或将数据存入数据流中将返回帧发送回去,若都不是则丢弃此帧重新等待主机帧。

3.4 视频采集模块软件设计

视频采集模块的软件设计流程首先是OV2640模块、WiFi模块的初始化以及TCP协议栈的初始化,OV2640模块获得图像数据发送给主控制器,调用TCP协议栈接口,WiFi模块的路由功能以TCP客户端方式连接服务器。软件实现流程如图10所示。

服务器将视频监控节点传输的数据转换成JPEG图片,在PictureBox控件上实时更新显示,形成视频,通过手机客户端登录服务器实现在线监测。

图10 视频采集流程图

3.5 语音识别模块设计

该模块的软件设计主要包括:主控板程序和语音识别程序,其核心就是实现语音识别程序设计。本软件设计中采用中断方式,首先是系统程序的初始化,包括通用初始化、语音识别初始化,主要完成芯片软复位、模式设定、时钟频率等相关操作;其次是识别写入,主要完成对寄存器的设置。最后是响应中断,当麦克风采集到声音就会产生中断信号,中断程序根据寄存器的值进行分析结果(BA寄存器的值为候选识别个数,C5寄存器的值为识别出的最佳结果)。语音识别主程序流程如图11所示。

图11 语音识别主程序流程图

3.6 继电器模块软件设计

本设计涉及对终端设备启停的控制,使用继电器完成对终端设备的开启与关闭功能。继电器控制方式包括两种:一种是人工控制,是在用户主观意愿下对家电启停做出的操作;另一种是控制器对室内环境的智能调节发出的指令操作。在软件设计时,主要实现“开”和“关”的逻辑,为了提高程序的通用性,便于开发人员进行后期修改,采用宏定义替代简单的函数。将高电平定义为继电器开,低电平定义为继电器关,继电器工作流程图如图12所示。

图12 继电器工作流程图

3.7 客户端界面设计

移动端界面是实现人机交互的主要方式。从用户界面出发,用直观的、简易性的功能以及监测界面加以展现。界面采用身份验证的方式,需要输入用户名和密码才能登录系统,软件实现流程图如图13所示。若用户之前未注册账号,可以根据系统提示完成注册,并返回主页面进行登录。

13 客户端登录流程图

用户成功登录后,客户端会出现系统功能图。功能界面主要分为4个板块:环境监测、能耗监控、视频监控、功能设置后期维护及需求建议。其中,环境监测板块可以实现对室内温湿度的实时监测;能耗监控板块可以查询室内家电设备所处的开启状态;视频监控可以实时监测室内的安全状况;功能设置板块可以对客户端的个性化界面调整。

4 系统测试及结果

4.1 测试方案

本系统的测试主要分为硬件部分和软件部分,首先将各个模块进行单独测试,在各个模块功能稳定的情况下再进行总体测试,为了保证系统的功能稳定性,测试之前要考量各个模块之间的兼容性。系统的硬件测试主要是电路的测试;软件测试主要包括功能性按键、人机交互界面、WiFi无线模块的通信功能。让系统保持上电状态,观察系统长时间下的运行状态是否稳定。通过对整个系统进行现场环境的模拟,对WiFi组网进行测试,验证WiFi网络的可行性、可靠性及稳定性。另外,对无线模块可传输距离及丢包率进行定性测试。最后完成对远程登录、移动端实时监测等其他模块的功能测试。进行系统测试要用到如下几个部分:WiFi无线传输模块、主控制板、PC机、手机移动端APP、TCP调试助手。

4.2 WiFi网络传输性能测试

用TCP调试助手对无线模块进行数据通道测试,用户笔记本在无线网络上连接到无线模块之后,设置模式为UDP;设置远程主机为:192.168.1.107;本地端口设为8081,远程端口设为8088;点击“开启UDP”按钮,显示绿灯。数据通道打通,可以交互数据,为确保传输数据的完整性,平衡接收与发送两端的“速率压力”平衡,故采取TCP方式向WiFi模块发送数据。

由于本系统的适用范围仅限于室内,所以测试的环境可以改变的条件也相对有限。对WiFi无线网络传输丢包率的测试,可以将影响因素设置为无墙和有墙。测试平台由WiFi模块(终端节点、协调器节点)和两台PC机组成。

选取学校实验室作为测试地点,选取了具有代表性的6个值作为测试距离,得到的测试数据如表1、表2所列。

表1 实验室无障碍情况下的丢包率测试结果

表2 实验室有障碍情况下的丢包率测试结果

从表1中的测试数据可以看出,在实验室内无障碍物的情况下,数据传输的丢包率在0.2%以下。从表2中可以看出,在实验室有障碍物的情况下数据传输的丢包率虽然比无障碍有所增加,但仍能控制在0.4%以下。为了克服这种情况的发生,可以通过调整组网结构和改变节点方位的方法进行优化,同时利用软件校验的方法降低丢包率。

4.3 语音模块准确度测试

对语音模块功能的测试主要分为在安静环境和嘈杂环境下进行,考虑到男女音色的不同,所有测试环境分为以下4种:安静环境下男性、安静环境下女性、嘈杂环境下男性、嘈杂环境下女性。由于本设计主要针对室内语音控制,所以不再做距离上的测试,故测试距离均选取5 m。分别记录不同情况下识别指令的准确率,如表3所列。

表3 语音识别准确率测试结果

可以看出,本文设计的语音控制模块的识别准确率在安静状态下可达92%,满足了用户需求,嘈杂环境对语音识别的准确率造成了一定的影响。

4.4 客户端测试

在智能家居系统远程登录与远程实时控制并监测测试中,主要测试远程是否登录稳定并能够实时地对室内家电设备进行控制,监测室内能量功耗、温湿度情况。在移动端APP中,信息界面实现在线监测智能家居的网络连接情况、终端节点信息查询、修改设置等功能,针对以上功能对智能家居系统人机交互界面进行测试[18]。

结 语

猜你喜欢
智能家居继电器语音
便携式继电器测试台的研制和应用
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
电气工程及其自动化控制系统中继电器的应用
对方正在输入……
基于Zigbee的无线通信技术在智能家居中的应用
继电器在电气工程及其自动化低压电器中的作用
关于智能家居真正需求的探讨
智能家居更贴心