APP下载

基于树莓派和云平台的平移窗智能语音控制系统设计

2021-08-20费叶琦周徐孝齐加胜朱轩杨文谦吴晟豪

机电工程技术 2021年11期
关键词:树莓派人机交互云平台

费叶琦 周徐孝 齐加胜 朱轩 杨文谦 吴晟豪

摘要:针对市场上各类户型的通风问题及智能窗功能不够完善、选用灵活度不高的缺陷,提出了智能整窗的设计理念。设计了具有基于树莓派及云平台的语音识别、风雨检测、异物防夹、防盗报警等功能于一体,可进行集群管理的智能窗系统。该装置通过对环境因素(如风、雨、温度等)的有效检测和远程调控,实现主体的家居功能并以此拓展应用,具有良好的用户交互体验。该智能窗控制系统功能可集成于传统已有窗户上,且能够做到多平移窗间的联合控制。与市场上传统的智能窗控制系统相比,该智能窗具有安全性更强、功能集成度更高等优势,并且简单实用、易于操作、可扩展性强,具有更好的投放价值。

关键词:智能窗;树莓派;云平台;多传感器融合应用;人机交互

中图分类号:TH17; TP29文献标志码:A文章编号:1009-9492(2021)11-0171-04

Design of Intelligent Voice Control System for Translation Window Based on Raspberry Pi and Cloud Platform

Fei Yeqi 1, 2,Zhou Xuxiao1,Qi Jiasheng1,Zhu Xuan1,Yang Wenqian1,Wu Shenghao1

(1. School of Intelligent Manufacturing, Nanjing University of Science and Technology Zijin College, Nanjing 210046, China;2. College of Mechanical and Electronic Engineering, Nanjing Forestry University, Nanjing 210037, China)

Abstract: In view of the ventilation problem of various house types on the market and the defects of the intelligent window function is notperfect and the flexibility of selection is not high, the design concept of the intelligent whole window was put forward. An intelligent windowsystem based on Raspberry Pi and cloud platform was designed. The system has the functions of voice recognition, wind and rain detection,foreign object anti-clamping, anti-theft alarm, and can be used for cluster management. Through the effective detection and remote control ofenvironmental factors (such as wind, rain, temperature, etc.), the device realizes the main household function and expands the application, witha good user interaction experience. The function of the intelligent window control system can be integrated with the traditional existingwindows, and can achieve the joint control between multiple translation windows. Compared with the traditional intelligent window controlsystem on the market, the intelligent window has stronger security, higher function integration and other advantages, and is simple and practical, easy to operate, strong expansibility, and has a better delivery value.

Key words: intelligent window; Raspberry Pi; cloud platform; multi-sensor fusion application; human-computer interaction

0 引言

隨着物联网技术迅速发展,智能生活的理念正逐渐得到人们认可[1],人工智能普及程度越来越高,被应用在智能家居等诸多领域[2]。智能家居行业更是发展迅猛。智能家居行业坚实的理论基础与技术支持得益于云计算技术和语音交互技术的不断完善[3-4]。为降低智能家居成本、提高控制效率,郝林炜等[5]提出了以树莓派与云服务器为基础的网络监控及智能家居控制系统的研究与实际应用,在行业内起到了重要的引导作用。通过借助如腾讯、阿里云、OneNET [6]等平台提供的服务接口,将复杂计算交给云平台,保证语音识别等功能实现的准确性。

如今,人们在快节奏的生活中,出门在外忘关窗是常有之事,遭遇财产损失、风吹雨淋等诸多后果。配置防盗窗后,虽能在一定程度保障财产安全,但遭遇火灾时,逃生通道也因此被阻碍[7]。通过相应的传感器模块,对室内外环境(如风速、烟尘密度、空气质量等)进行监测,并根据信息处理结果实现窗户的开关、报警等,实现窗户开闭的安全性,进一步实现智能家居理念[8-10]。在未来,使用更具安全性、防护性、人性化的智能窗将成为一种潮流[11]。

本文通过市场调研,结合市场上已有的云平台、语音交互、分布式等技术,设计一种集多功能于一体,基于可唤醒终端的平移窗智能控制系统。

1 控制系统总体设计

智能窗具有优秀的人机交互系统,提高了用户使用体验,通过系统可远程调控其打开大小、自动防风防雨、自动报警、自动调控采光与遮阳等功能,其系统由主机、各类传感器、报警器以及一系列部件组成并协调工作。以树莓派为控制终端,通过多个 GPIO 接口连接各类传感器功能模块(如湿度檢测仪)来感知周围环境的变化,并控制直流电机来实现窗户自动开合;同时,树莓派上搭载的远程控制模块可当用户在外时,及时了解家中窗户周围环境,根据需求远程调控家中窗户开合大小。

平移窗智能控制系统设计对象包含云服务器端、树莓派端、移动电话端和 PC端。其中,服务器端负责存储数据、提供数据查询和各类传感器控制接口;树莓派端负责监听传感器引脚数据、解析传感器数据、序列化数据发送到云服务器、短轮询请求云服务器中的用户指令;移动电话端和 PC 端通过云端智能窗给定的 IP 地址,由微信小程序与云服务器建立 WebSocket连接,实现数据实时更新;云服务器与云平台协作实现语音识别功能。智能窗控制系统具体运行框架如图1所示。

2 硬件设计

2.1 智能窗终端

智能窗终端采用树莓派(即小型电脑主板),整体仅卡片大小且价格低廉。开发板内置 Linux 系统,支持 Python和 Java等编程语言,适合本控制系统部署。具有唯一的 MAC地址,板载强大的WiFi模块,信号接收能力强,能较好地适应分布式开发。

2.2 执行端

智能窗开合部分的执行端控制主要由传感器、树莓派、正反转直流继电器和直流电机等配合完成。其中,所用的传感器有雨滴传感器、风速传感器、HC-SR501人体红外传感器、DHT22温湿度传感器。

2.3 硬件部署

首先是直流电机控制端和树莓派连接,通过预先设定的脚本文件执行控制 GPIO 脉冲信号的 Python程序,接收开窗、关窗、窗停的脉冲信号。移动电话端和 PC端通过访问云服务器,让云服务器给树莓派端执行相应脚本文件的指令。

智能窗型材底部外侧均布有5~6个压电式雨滴传感器,可实时地监控外界环境晴雨情况,若下雨则发出模拟信号,通过 A/D转换器变为数字信号,再由树莓派解析并发送消息给移动电话端供用户查阅,询问是否关闭窗户,树莓派端在设定时间内未接收到执行指令时,执行端默认关闭智能平移窗并发送窗户状态信息给用户端。智能窗中布置的三杯式风速传感器安装在室外墙体上,接地端串联一个1 kΩ的电阻做保护;数据输出端接上 A/D转换器,将模拟信号转成数字信号,由树莓派解析数字信号并将信息转发给用户,等待进一步动作指令,若反馈超时,则执行默认动作。

智能窗型材侧部安装有 HC-SR501人体红外传感器,工作时可直接输出电平信号,由树莓派引脚接收,若电平信号变化感知到有人体靠近,将停止智能窗执行动作,防止误伤人体。同时,人体红外传感器结合蜂鸣器和监控摄像头可实现较低楼层的用户防盗,如窗外监测范围内频繁的人员活动被检测后会触发蜂鸣器报警,用户也会收到短信提醒,可调看家中摄像头监控异常情况。

智能窗体内侧安装语音识别模块。语音识别模块主要实现3个功能,即语音唤醒、语音转文字、语义识别。设备在无操作时,处于低功耗待机模式,通过语音唤醒功能,将设备从待机模式唤醒,语音转换和语义识别功能识别并分析语音信息,根据语义控制智能平移窗动作。硬件电路如图2所示。

3 软件设计

系统软件的设计主要包括前端应用模块、语音交互模块、感知系统模块、分布式架构设计、配置模块五部分组成。前端应用模块负责提供智能窗的可视化控制界面;语音交互模块负责将智能窗的交互方式切换为语音交互;感知系统模块负责智能窗中各传感器自动化数据采集、监控;分布式架构设计和配置模块实现智能窗控制系统一致性,即:终端一致,用户端和执行端可扩展。

3.1 前端应用模块

用户通过微信小程序中微信授权进入登录界面,输入预设的账号密码,与家中的树莓派用云服务器作为消息中转站,建立长连接,通讯时遵循 WebSocket 协议,前端处理流程如图3所示。

3.2 语音交互模块

通过语音交互技术实现窗户状态的远程控制。长按“麦克风”按钮,调用移动电话录音功能,将 MP3文件传递给服务器,服务器将 MP3文件转为无损的 WAV 文件上传至腾讯云平台,通过腾讯云平台解析的语音提炼关键字,转发给树莓派。树莓派接到相应关键字,将提取出关键词与预设字词相对比,准确完成相应的功能,如“打开一半窗户”就是将窗户开合程度变为打开一半。若窗外环境为雨雪天气,智能窗将在移动电话端提醒用户天气情况,等待用户的语音辅助指令。语音交互模块的实现流程如图4所示。

3.3 感知系统模块

感知系统由传感器作为数据采集部分,如雨滴传感器接收到雨滴信号发出高电平,树莓派通过电平解析模块、数据转发模块,最后交由优先级判断模块决定最终执行顺序。

感知系统中优先级判断模块会将用户请求、传感器数据转发等标识上的权限等级和状态。在指令执行中,遵循以下规则:当用户请求和传感器请求同时发出后,被优先级判断模块拦截,传感器请求会被拒绝,用户请求优先通过,交由执行端执行,同时将状态记录改为用户控制;若无用户进一步请求输入或上一动作执行完成后一段周期,会重置状态记录,改为辅助控制,继续监测信号输入。

3.4 分布式架构

分布式架构由注册中心集群、网关集群、执行端集群组成。所有执行端对外请求控制(包括网关),必须首先到注册中心集群进行注册。所有请求通过网关集群路由到对应执行端进行交互控制。注册中心由Euraka部署成集群模式,相互注册,通过心跳策略同步注册信息。

通过 Nginx 来实现网关集群部署,Keepalived虚拟IP ,当网关1宕机后,虚拟 IP 自动切换到网关2上,保证 Nginx的高可用。分布式架构设计原理如图5所示。

3.5 配置模块

配置模块由用户配置模块和监听配置模块组成。通过配置模块修改配置文件,控制注册中心、网关、执行端的切换,实现多用户端和多执行端的功能,即可由多个用户移动电话端来控制一个智能窗的动作执行,也可由一个用户移动电话端来控制多个智能窗的动作执行。

用户通过监听配置模块实现填写监听接口、开启监听、关闭监听等操作。用户可根据实地需求通過传感器接口,增加或删减系统的感知功能,实现功能灵活配置,如偏干燥降雨量较少地区不需要雨滴传感器;紫外线较强的高原地区需要在智能窗的基础上布置光感玻璃。

3.6 软件部署

智能窗体设计的软件部署中包括树莓派、服务器的长连接和移动电话端、服务器的长连接两部分。

树莓派、服务器的长连接中租用阿里云服务器,在阿里云控制台里启动相关实例,该实例操作系统选用的是 Centos764位。在实例中部署 Docker环境,并用 Dock- er下载阿里云MySQL 、Redis镜像文件,脚本启动 Redis 集群,开启哨兵机制。树莓派端安装 MySQL数据库,创建接口监听器,并收录相关信息于信息表中,与相应表单如用户信息表等,建立主键、外键、索引,并要求树莓派端 MySQL与服务器中 MySQL相一致。树莓派端通过阿里云给的服务器公网 IP ,与服务器建立 WebSocket连接,实时更新数据。通过相关的软件部署,方便用户随时随地了解智能平移窗外天气情况、房间内的温湿度情况、外人靠近窗边预警等信息。

移动电话端、服务器的长连接中通过树莓派桥接家庭局域网,移动电话通过登录微信小程序与服务器建立长连接,长连接遵循 WebSocket协议。其中移动电话作为客户端,责发送语音等指令请求;服务器作为消息中转站,拦截、转发请求;树莓派作为执行端,负责接收、执行和反馈信息。

3.7 数据采集和传输

在数据采集和传输部分中服务器通过 MySQL数据库存储数据,提供传感器数据查询、传感器接口状态修改,采用 Redis集群暂存 Token令牌(用户唯一识别码)和频繁查询的数据;树莓派端按数据库中接口状态执行监听传感器任务,并上传传感器各类数据给云服务器的数据库。

4 系统测试与分析

在对智能窗控制系统构建完后,对其软件测试采用黑盒测试和静态检测相结合的方式实施。软件代码使用率为89%;请求通信延迟在网络较好的情况下,时间延迟为0.054 s ,反应迅速、不会给人迟滞感。

4.1 语音识别测试

语音控制功能中通过语音的录入特定的口令,如“打开窗户”,窗户便从当前状态转换为完全打开状态。在执行完指令后,树莓派会将窗户状态发送给云服务器,同时移动电话也会定期从云服务器读取树莓派发送的窗户状态信息。

测试显示:语言识别功能在网络状态良好的情况下,时间延迟大约为0.943 s ,动作完成度100%,符合设计要求。

4.2 感知系统测试

对感知系统的要求就是响应时间尽可能的短,为此定义0.1 s内为优秀;0.6 s内为良好;1 s以上为一般,进行如下实验:(1) 在雨滴传感器上喷淋水滴,记录从喷淋开始到智能窗关窗动作响应时间;(2)吹动风速传感器3 s后,记录风速传感器旋转开始到智能窗关窗动作响应时间;(3)在手伸至信号覆盖区时,记录防夹信号接收到智能窗关窗动作停止的响应时间。

传感器由接收到相应信号到执行端动作实现的时间延迟和稳定性如表1所示。

智能窗移动电话端和智能整窗设计的外观展示如图6所示。图6(a)为智能窗移动电话端,由微信小程序进行数据检测和控制,“0%”是智能窗开闭程度的位置检测;“已连接”是查看移动电话端与智能窗通信是否畅通无阻;“开窗”、“关窗”控制智能窗开闭动作;“红外感应”可控制人体防夹和防盗;“麦克风按钮”长按可以进行语音控制智能窗执行相应动作。图6(b)所示为智能整窗的实际调试实物外观。

5 结束语

本智能平移窗的控制系统是基于树莓派和分布式理念,借助云平台的相应服务进行的设计。设计中把功能强大的树莓派作为控制终端,可进行智能语音控制,并通过雨滴传感器、风速传感器、人体红外传感器等信息采集装置采集数据,由感知系统、语音交互等多个模块协调工作,利用云平台灵活的数据服务,实现智能窗户的开合大小控制。另外,通过可视化界面修改配置、传感器简易接口插入的方式来实现感知模块的灵活配置。通过实际运行效果说明,该智能窗户具有运行稳定、可扩展性高、搭建简单、成本低廉等优势,具有广阔的市场前景。

本设计的智能窗可加入智能家居物联网平台,与物联网平台拥有的第三方产品联合,实现室内温湿度调控等功能[12],同时对于酒店、办公楼、高级公寓等高端商务物业,完善通风系统智能化也有一定启发作用,如扩大执行端集群,由统一网关和注册中心控制,实现整幢或数幢公寓楼的智能集群控制。

参考文献:

[1] 毛博,徐恪,金跃辉,等.DeepHome:一种基于深度学习的智能家居管控模型[J].计算机学报,2018,41(12):2689-2701.

[2] 张人娄,刘治国.人工智能时代基于物联网的智能窗户系统的设计与实现[J].数字技术与应用,2020,38(9):109-110.

[3] 赵丽,郑艳芳,田会峰,等.基于云平台的家庭语音控制系统[J].实验室研究与探索,2018,37(10):73-75.

[4] 孟晓丽.物联网平台下基于云计算的智能家居系统设计[J].科技通报,2016,32(6):67-71.

[5] 郝林炜,梁颖.基于树莓派+云服务器的网络监控及家居控制系统的研究与实际应用[J].物联网技术,2016,6(9):45-47.

[6] 桂龙,戴小鹏,申聪.基于树莓派和OneNET云平台的智能家居系统的设计[J].福建电脑,2018,34(1):33-34.

[7] 段玉戈.基于AT89C2051智能窗户控制装置的设计[J]电气技术,2020,21(5):58-62.

[8] 范振全,侯晓霞.智能窗户的设计与研究[J].山西电子技术,2016(3):88-89.

[9] 倪青青,周源源.基于AT89S52单片机的智能窗户的设计[J]科技视界,2015(18):115-116.

[10] 吴雪松,潘崇煜,牛轶峰.基于STC89C51单片机的智能窗户启闭器[J].科技与创新,2015(1):21-22.

[11] 杨锦辉,开心,黄艾璇,等.基于物联网的智能窗户系统设计实现[J].物联网技术,2020, 10(4):76-79.

[12] 马爱霞.基于物联网与云平台的多功能智能家居系统设计[J].电子世界,2020(12):6-7.

第一作者简介:费叶琦(1985-),女,江苏苏州人,博士研究生,副教授,研究领域为林业机械、智能制造、机电一体化、无损检测,已发表论文13篇。

(编辑:刁少华)

猜你喜欢

树莓派人机交互云平台
某型柴油机虚拟维修系统研究
智能安全防盗探测小车
人机交互课程创新实验
高职院校开展基于云平台网络教学的探索与思考
企业云平台建设研究
基于嵌入式技术的农村医疗系统设计