APP下载

基于语音识别和MQTT协议的智能家居系统实现

2017-11-27于亦潇郑其林成欣雨

物联网技术 2017年11期
关键词:语音识别智能家居

于亦潇+郑其林+成欣雨

摘 要:随着科技的发展,智能语音技术逐渐成熟,现已成为智能家居产品的前沿标配。科大讯飞作为中国最大的智能语音技术提供商,其拥有的中文语音合成、语音识别等多项技术均处于国际领先地位。以科大讯飞语音技术为基础,使用语音这种最直接、自然的方式,采用MQTT即时通信协议作为系统模块间的连接手段,实现红外遥控、人体健康监测、烟雾和气体警报、App远程控制监测等模块功能,研发和构建一套智能家居系统,旨在为人们的家居生活提供便利,提升生活品质。

关键词:MQTT协议;语音识别;智能家居;App

中图分类号:TP391;TN929 文献标识码:A 文章编号:2095-1302(2017)11-00-03

0 引 言

随着科学技术的迅猛发展,人们对生活环境和工作环境的要求不断提高,开始步入网络化和数字化的智能化社会。智能化是新世纪的发展趋势,智能家居应运而生。

目前国内绝大多数家庭尚不具备使用智能家居的条件,一方面由于智能家居产品价格普遍偏高,另一方面是因为大量厂家过分夸大智能家居的功能而实际却无法达到所述效果,大量智能家居产品并不智能。所以对于大部分家庭来说,智能家居只是一个概念产品,且价格昂贵,不具有较好的实用性[1]。

尽管如此,中国的智能家居依旧在发展,家电智能化已从最初的“联网”和“App化”逐渐转向语音、图像、手势控制,智能化程度明显提高。语音作为人与人之间最常用的交互方式,也必然将在未来的智能家居中广泛使用[2]。

科大讯飞作为中国最大的智能语音技术提供商,其拥有的中文语音合成、语音识别等多项技术均处于国际领先地位[3]。以科大讯飞语音技术为基础,使用语音方式[4],采用MQTT即时通信协议作为系统模块间的连接手段,实现红外遥控、人体健康监测、烟雾和气体警报、App远程控制监测等模块功能,研发和构建一套智能家居系统[5]。

MQTT是一个由IBM开发的物联网传输协议,它被设计用于轻量级的发布/订阅式消息传输。MQTT协议可保证传输可靠安全,采用消息推送机制,内容推送灵活、自由,同时又具备低带宽、低耗能、低成本的优势,带宽利用率高、耗电少,可作为家居物联网信息传输的主要协议。

本文采用MQTT传输协议设计了一套智能家居系统[6],该系统具有语音识别与控制、健康与家居安全检测、语音提醒等功能。

1 系统设计

系统可方便用户通过手机App用语音控制红外家电,并可以在手机App上查看系统中家居安全监测模块、健康检测模块等的数据。

系统以家庭主机作为数据转发中心,在设计上采用了模块化方案,各模块与家庭主机之间采用MQTT协议进行数据传输。各模块作为MQTT订阅者从家庭主机接收指令,同时作为MQTT发布者将各模块数据上传给家庭主机;为了使手机App的使用不局限于家中的局域网,将家庭主机通过路由器连接到远程服务器,在服务器上运行mosquitto代理服务,同样使用MQTT协议进行手机App和家庭主机之间数据的传输。

系统结构如图1所示。

在系统中,家庭主机通过创建WiFi热点供其他模块接入,以搭建本地局域网。此外,家庭主机作为所有模块的数据汇集、转发中心,可以对接收到的数据进行处理,从而在家庭主机上添加各模块数据显示、语音播报、异常报警等相关功能。

使用者通过手机App与系统进行交互,手机App通过对语音命令进行识别,进而通过远程服务器向家庭主机发送命令,或直接接入家中局域网,向家庭主机发送命令。

2 语音识别技术

考虑到语音识别算法的复杂性,且科大讯飞拥有成熟的语音识别技术,并推出了以语音交互技术为核心的人工智能开放平台,为开发者免费提供语音识别、语音合成等语音技术SDK。所以系统以科大讯飞的语音技术为基础,将讯飞的相关库集成到系统App中,成功实现了对语音命令的快速识别与理解。手机App将使用者语音命令的录音上传到讯飞云端服务器,在服务器上进行语音识别,识别出使用者的语音命令,然后根据一定的语法规范提取出语音命令中的关键字,构成JSON字符串,将该JSON字符串返回到手机App。手机App对该JSON字符串进行解析,从而获得使用者语音命令的具体含义,进行下一步操作。

语音识别流程如图2所示。

3 MQTT协议简介

MQTT是IBM开发的一个即时通讯协议,是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制。MQTT中的关键组件是MQTT代理(Broker),其主要任务是将消息派发给订阅者[7]。即发布者接收消息,然后把消息转发给订阅者。转发消息时,MQTT代理使用话题(Topic)来过滤客戶端。话题就像一个虚拟通道,把发布者与其订阅者连接起来。话题由MQTT代理管理。通过话题进行消息传输,消息生产者(发布者)和消息消费者(订阅者)之间没有直接依赖关系,所以该协议高度可扩展。

MQTT架构如图3所示。

4 基于MQTT协议制定系统数据传输规范

系统中家庭主机和远程服务器同时开启MQTT代理服务。在家中,家庭主机开启代理并订阅相应Topic的消息,各模块连接家庭主机创建的热点,作为MQTT的Publisher,向家庭主机发送数据。远程服务器也开启MQTT代理并订阅相应Topic的消息,家庭主机接收到数据后,作为MQTT的Publisher,以相应的Topic将数据转发给远程服务器,服务器再把数据推送给手机App[8]。

4.1 家庭主机转发进程(连接到远程服务器)

家庭主机向远程服务器订阅Name主题以及各模块使用的主题,在模块上线后将模块名以Name主题发送给远程服务器,家庭主机作为远程服务器的订阅者,将从各模块主题收到的内容以同样的主题转发到本地代理,当本地代理收到模块上传的信息后则以该模块名为主题转发信息给远程服务器。endprint

家庭主機规范流程如图4所示。

4.2 各模块进程(连接到家庭主机代理)

首先发送消息:Topic=Name,内容为模块名(如“红外”、“心率”、“血氧”、“MQ2”、“MQ7”)。MQ2和MQ7以自己的模块名Topic(如MQ2,MQ7)发送消息,红外以Topic=Ray订阅消息。上述模块发送消息时都应把QoS设为1。

模块规范流程如图5所示。

4.3 手机App进程

不管是连入家庭主机的WiFi热点,还是连接远程服务器,都要订阅Topic=Name主题来添加模块。同时以接收到的内容为主题订阅消息(如Topic=MQ2)[9],不管在何处都可接收消息。

上述规范中各模块运行统一的数据传输协议进行数据传输。若之后还需为系统添加更多的功能模块,仅需在新添加的模块上运行制定的数据传输协议就可进行系统功能的扩展,同时也便于手机App接收及显示模块名称和相关信息,方便用户查看。

App规范流程如图6所示。

5 结 语

本套系统引入语音识别,实现语音对系统中各模块的控制以及数据读取。使用者通过发送语音命令取代一系列需要动手的操作,大大提高了生活的便利性。系统基于MQTT协议,制定独有的数据传输规范。家庭主机通过创建WiFi热点接入系统中的其他模块,搭建本地局域网。系统中的各模块按照制定的数据传输规范进行数据传输,使得手机App的操作大大简化,且更加人性化,同时使得系统添加模块变得十分方便,具有很好的拓展性。

参考文献

[1]俞文俊,凌志浩.一种物联网智能家居系统的研究[J].自动化仪表,2011,32(8):56-59.

[2]何婉榕.关于人工智能与语音识别技术的研究[J].科技尚品, 2017(3):182.

[3]宗明明,魏瑜萱,高健.基于通用设计理念的空巢老年人生活辅助用品设计研究[J].设计, 2015(11):47-50.

[4]袁彬,肖波,侯玉华,等.移动智能终端语音交互技术现状及发展趋势[J].信息通信技术, 2014(2):39-43.

[5] Luzuriaga J E, Cano J C, Calafate C, et al. Handling mobility in IoT applications using the MQTT protocol[C]//Internet Technologies and Applications. IEEE, 2015:245-250.

[6]袁麓,许艾明,童昭维.一种基于三网融合的智能家居网关系统的研究[J].中国有线电视, 2013(2):130-133.

[7] Hunkeler U,Truong H L, Stanford-Clark A. In MQTT-S: A Publish/Subscribe Protocol for Wireless Sensor Networks[C]//International Conference on Communication Systems Software and MIDDLEWARE and Workshops, 2008. Comsware. IEEE, 2008:791-798.

[8] Tang K, Wang Y, Liu H, et al. Design and Implementation of Push Notification System Based on the MQTT Protocol[Z]. 2013:116-119.

[9] Barata D, Louzada G, Carreiro A, et al. System of Acquisition, Transmission, Storage and Visualization of Pulse Oximeter and ECG Data Using Android and MQTT[J].Procedia Technology, 2013(9):1265-1272.

[10] Collina M, Corazza G E, Vanelli-Coralli A. Introducing the QEST broker: Scaling the IoT by bridging MQTT and REST[Z].2012:36-41.endprint

猜你喜欢

语音识别智能家居
基于Zigbee的无线通信技术在智能家居中的应用
通话中的语音识别技术
关于智能家居真正需求的探讨
基于LD3320的智能家居控制