基于可穿戴的智能家居语音控制系统设计

2017-09-20 06:15万深展
电子科技 2017年9期
关键词:云端手表智能家居

涂 洋,苏 湛,万深展

(上海理工大学 光电信息与计算机工程学院,上海 200093)

基于可穿戴的智能家居语音控制系统设计

涂 洋,苏 湛,万深展

(上海理工大学 光电信息与计算机工程学院,上海 200093)

针对目前智能家居控制系统还是以手动控制为主,操作效率低和不够智能的问题。文中设计了基于可穿戴设备、云端语义分析和WiFi无线网络的智能家居语音控制系统方案,以实现对家居设备的智能语音控制。系统关键部分主要由智能手表语音识别、云端语义分析和WiFi终端模块组成。智能手表接收用户发出的语音指令,经云端语义分析后返回分析结果,进而实现对家居设备的控制。通过对系统功能进行测试表明,文中设计的系统与传统智能家居控制系统相比,提高了操作效率并且交互更加智能。

智能家居;可穿戴;智能手表;语音控制;WiFi

随着物联网和人工智能的发展,以及人们对家居生活智能化需求的增加[1-2],已有智能家居控制系统存在诸多不完善之处。文献[3]提出了一种以四轮机器人作为智能家居控制终端的方案,该方案以四轮机器人接收用户的语音指令,然后通过WiFi控制家居装置。该方案要求机器人能够实时跟踪用户以保持较近的距离,算法比较复杂,不能很好地解决避障和远距离下的语音识别准确率问题。文献[4]提出了一种基于Android智能手机的智能家居方案,该方案以Android智能手机为控制终端,家庭网关为中介,实现对家居设备的局域网内控制和远程控制。该方案仍然没有摆脱手动控制的局限性。

本文将语音识别、语义分析、可穿戴设备、WiFi等技术应用到智能家居控制系统中,使得用户与家居设备间的交互更加便捷和智能,具有较高的实用价值。

1 系统总体设计

系统包括智能手表语音识别、云端语义分析、WiFi网络协调器和设备终端4个部分。智能手表接收用户的语音指令并转换成文字,再通过WiFi网络协调器传输到云端进行语义分析,云端将语义分析结果返还给智能手表,智能手表解析语义分析结果,再经WiFi网络协调器向家居设备发出控制或查询指令,并且智能手表会向用户语音播报控制或查询的结果。系统总体架构如图1所示。

2 语音识别与语义分析模块

系统采用的智能手表是出门问问公司推出的Ticwatch2型号手表,该手表搭载了基于Android Wear的Ticwear4.0操作系统,支持语音唤醒和语音识别,连接方式支持3G、蓝牙和WiFi[5]。语义分析模块使用的是科大讯飞的云端语义分析技术。科大讯飞为智能家居专门定制了一些常用的使用场景,用户利用其提供的SDK可以开发自己的应用。

图1 系统架构图

2.1 云端语义处理模块

云端语义处理模块处理智能手表传过来的文字信息,并返回给用户一段包含了语义分析结果的JSON数据。至于模块是如何解析语义以及组织JSON数据无需用户关心,只需要调用其提供的接口并解析输出的JSON数据即可,JSON数据字段定义如下[6]:

rc: 应答码(response code),Int类型,必须项;

error: 错误信息,Object类型,非必须项;

text: 用户语音转写后的文字,String类型,必须项;

service: 区分不同的服务,例如light_smartHome, String类型,必须项;

operation: 设备的操作编码,取值只有SET, String类型,必须项;

semantic: 语义结构化表示,各设备自定义,Object类型,必须项。

以“打开卧室的灯”这条语音指令为例,云端针对这一条指令返回的JSON数据如下:

{

“semantic”:{

“slots”:{

“attrValue”:“开”,

“attrType”:“String”,

“attr”:“开关,

“location”:{

“type”:“LOC_HOUSE”,

“room”:“卧室”

}

}

}

“rc”:0,

“operation”:“SET”,

“service”:“light_smartHome”,

“text”:“打开卧室的灯”

}

应答码(rc)用于标识用户请求响应的状态,rc=0表示请求成功。rc=1、2、3、4分别表示无效请求、服务器内部错误、语义解析出错和文本没有匹配的服务场景,相应的错误信息在error字段描述。当rc=0时没有error字段,rc不等于0时才有error字段。

2.2 智能手表程序设计

智能手表软件开发环境为Google官方的Android Studio[7],利用Google提供的Android Wear SDK和科大讯飞提供的云端语义处理API开发智能手表语音控制功能。首先用户语音唤醒智能手表,然后输入语音指令,智能手表会将语音指令转化为文字。接着智能手表将文字通过HTTP请求发送给讯飞云端语义模块来处理,之后云端会返回给智能手表一段JSON数据。智能手表解析该JSON数据并做出相应的动作。这一过程的流程图如图2所示。

图2 智能手表程序流程图

智能手表端有一个专门解析JSON数据的方法“JsonParser”。该方法首先会判断应答码rc是否等于0,若不等于0则会解析error字段中的信息并语音播报给用户适当的错误提示。若等于0则会去解析semantic字段的信息,在semantic字段里,从“location”字段可以知道要操作的设备的位置,从“service”字段可以知道要操作的是哪种类型的设备,从“attrValue”字段可以知道要对设备进行哪种操作。除以上字段外,根据不同的情况还会有其它的字段。经过“JsonParser”对所有字段的解析,智能手表就会对相应的家居设备发出合适的指令。智能手表解析JSON数据的过程如图3所示。

图3 解析JSON数据流程图

3 WiFi网络协调器模块

WiFi网络协调器的功能是将Internet与家庭内部WiFi网络连接起来,起到转发数据的作用[8]。网络协调器由主控制器Arduino UNO和WiFi模块Esp8266组成,Esp8266一共有8个引脚,与Arduino接线说明如表1所示[9]。

表1 Esp8266与Arduino接线说明

3.1 Arduino UNO主控制器模块

Arduino是一个流行的开放源码的电子原型平台,在2005年由意大利米兰交互设计学院的两位教师David Cuartielles和Massimo Banzi联合创建[10]。该平台由两部分组成:硬件(包括微处理器、电路板等)和软件(编程接口和语言),平台的两部分都是开源的[11]。Arduino包含许多系列的开发板,Arduino UNO是其推出的最为基础的开发板。

Arduino编程环境为Arduino Software,可运行在Windows、Mac、Linux平台上[12]。一个Arduino程序最少包含两个函数,分别是setup(),loop(),在函数setup()里主要是对板载资源及外设进行初始化,在函数loop()里主要是程序的逻辑功能。根据需要,还可以在程序中定义其他的一些函数供setup()和loop()调用。

3.2 WiFi模块Esp8266

Esp8266是乐鑫信息科技(上海)有限公司推出的一款成本低廉的WiFi串口模块,其支持3种工作模式:AP、Station、AP/Station[13]。AP(access point)即无线接入点,功能相当于一台无线路由器。Station即从站/客户端,可以加入由AP建立的无线网络,类似于手机和笔记本电脑。AP/Station模式使得模块既可以作为无线接入点让其他模块加入其建立的网络,也可以作为客户端加入其它无线接入点建立的网络[14-15]。

3.3 WiFi网络协调器程序设计

协调器在上电之后进行硬件资源及Esp8266工作模式的初始化,其中Esp8266设置为AP/Station工作模式,之后进入等待数据到来的轮询状态。对于数据来源及目标的不同,程序的执行路径也不同,协调器的程序执行流程图如图4所示。

图4 WiFi网络协调器程序执行流程图

4 设备终端模块

家居设备终端模块使用了与WiFi网络协调器相同的硬件配置,都有一个Arduino UNO主控制器和一个Esp8266模块,区别在于家居设备终端的Esp8266工作在Station模式,且其主控制器会外接一些外设和执行器,如灯、继电器、电机等。家居设备终端模块的程序执行流程图如图5所示。

图5 设备终端模块程序执行流程图

5 系统测试

系统能否正常工作有两个关键因素,分别为智能手表端的语音识别准确率、云端是否能正确解析用户的语义。语音识别若不能正确将语音指令转化为文本则会影响后续的语义解析效果,而云端是否能正确解析用户的语义除了受语音识别准确率影响外,还受到云端是否支持用户的设备类型及对设备进行的何种操作的影响。

5.1 语音识别准确率测试

影响语音识别准确率的因素有说话距离、环境噪音和用户口音。经过测试,当用户有明显口音时识别效果不理想,而用户普通话比较标准时,识别效果比较理想。智能手表是戴在手腕上的,所以说话距离最远也比用户的臂长要短,经测试,在张开手臂且环境噪音很低时,智能手表也能准确识别用户的语音指令。当环境噪音较大时,只有手表离说话距离很近时,识别效果比较理想,说话距离稍远,识别效果则不理想。

5.2 语义解析效果测试

科大讯飞支持的家居设备种类有限,且支持对设备的操作类型也有限,当语音指令不支持时将返回错误提示。当语音指令支持时,云端将返回合适的JSON数据。科大讯飞官网有一个在线测试体验页面,输入文本指令之后,云端将返回对应的JSON数据,经测试,输入受支持的文本指令,云端均能返回正确的JSON数据。

6 结束语

本文设计了一种基于智能手表和语音识别技术的智能家居无线控制系统,其中核心部分主要有智能手表语音识别和云端语义识别、家庭网关、家居终端。用户通过智能手表实现对家居设备的语音控制,具有操作便捷、交互智能的优点,实用性较强。不足之处是支持操作的设备类型有限,支持的操作类型也有限,这一点需要以后的逐步完善。

[1] Chan M,Esteve D,Escriba C, et al.A review of smart homes-Present state and future challenges[J].Computer Methods& Programs in Biomedicine,2008,91(1):55-81.

[2] Alam M R, Reaz M B I, Ali M A M. A review of smart homes-past,present,and future[J].IEEE Transactions on Systems, Man, and Cybernetics,Part C Applications and Reviews,2012,42(6):1190-1203.

[3] Li Shuangquan,Li Jian,Nie Xinxin,et al. Design and implementation of smart home based on Android[C].Dubai:4th International Conference on Advanced Information Technology and Sensor Application,2015.

[4] Wang H,Saboune J,Saddik A E. Control your smart home with an autonomously mobile smartphone[C].San Jose,CA,USA: IEEE International Conference on Multimedia and Expo Workshops,2013.

[5] 黄海峰.问问手表Ticwatch 2发布,打造真正好用的独立智能手表[J].消费电子,2016,6(1):95-96.

[6] 科大讯飞股份有限公司.语义开放平台智能家居场景协议规范文档V3.0[M].合肥: 科大讯飞股份有限公司,2016.

[7] 高伯浩.基于Android 平台的可穿戴设备应用开发研究[D].北京:北京理工大学,2015.

[8] 孙润.基于WiFi智能家居的网关设计[D].西安:西安工业大学,2015.

[9] 赵志.Arduino开发实战指南,智能家居卷[M].北京:机械工业出版社,2015.

[10] 蔡睿妍.Arduino 的原理及应用[J].电子设计工程,2012,20(16):155-157.

[11] 杜一腾,迟宗涛.基于Arduino与Yeelink平台的实时环境监测系统[J].技术纵横,2014,6(10):26-29.

[12] 崔晓梦.基于Arduino的物联网接入器的研究与实现[D].北京:北京工业大学,2015.

[13] 罗伟,刘赐恩,倪有顺,等.基于 ESP8266EX的无线寻物装置的设计[J].科技视界,2016,8(6):381-382.

[14] 徐涛.基于无线Mesh技术校园无线网的设计与实现[D].沈阳:沈阳建筑大学,2013.

[15] 鲍洪.基于无线Mesh网络的智能环境监测系统[D].成都:成都理工大学,2013.

Design of Smart Home Voice Control System Based on Wearables

TU Yang,SU Zhan,WAN Shenzhan

(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)

The current smart home control system generally adopts manual control, which leads to inefficiency of operation and is not smart enough. This paper designs a smart home voice control system based on wearables and cloud semantic analysis and WiFi wireless network for intelligent voice control of home equipment. The key part consists mainly of smart watch voice recognition, cloud semantic analysis and wifi terminal modules. The smart watch receives voice commands from home users and then send them to the cloud, in the cloud voice commands were processed and smart watch will receive the analyzed results. Finally the smart watch send commands to home equipment according to the results. The system function test shows that compared with traditional smart home system, the system proposed in this paper is more efficient in operations and more intelligent in interaction.

smart home; wearables; smart watch; voice control; WiFi

2016- 11- 12

涂洋(1993-),男,硕士研究生。研究方向:智能家居等。苏湛(1983-),女,博士,讲师。研究方向:智能控制等。

10.16180/j.cnki.issn1007-7820.2017.09.025

TN912.3;TP273+.5

A

1007-7820(2017)09-089-04

猜你喜欢
云端手表智能家居
四海心连·云端汇聚
是谁拿了手表
谁偷走了手表?
云端之城
基于PLC的智能家居控制系统研究
手表
基于Zigbee的无线通信技术在智能家居中的应用
云端创意
嘻嘻猴手表
关于智能家居真正需求的探讨