基于物联网技术的智能家居语言输入形式自主控制系统设计与实现
2021-12-27张子卿
张子卿,张 华
(1.南京航空航天大学 电子信息工程学院,江苏 南京211106;2.南通大学 理学院,江苏 南通226019)
0 引 言
智能家居的出现受到了消费者的追捧,也成为了全球企业在技术研发方面的焦点。智能家居主要是以家庭住宅作为日常工作的基础平台,根据家庭中不同用户的生活习惯和具体需求,将生活中各个相关的家居终端智能地结合起来[1-2]。智能家居最大的便利之处就是能够自我理解用户的需求,智能化地服务用户。但是目前的智能家居交互系统仅仅能够流畅地支持单一的语言输入形式的交互,例如单一的语音输入或单一的行为语言输入,当语言输入形式切换时,容易出现卡顿或信息接收失败无反应的情况[3-4]。针对这种问题,本文设计一种基于物联网技术的智能家居语言输入形式自主控制系统,并应用在智能家居的使用过程中,期待智能家居在控制过程中具有更好的性能。
1 基于物联网技术的智能家居语言输入形式自主控制系统设计
经过对智能家居近几年来的功能预演等方面的调查,得出用户对于常用的功能和成本这两点关注较多。因此在设计本文系统时,需要对语音指令与手势行为指令之间进行流畅切换。在设计系统的总体架构时,需要在逻辑层次的基础上,建立语言输入形式自动控制系统的总体架构。
系统的逻辑层次可以设置为:应用控制层、通信层和感知层。应用控制层主要包括PC机、浏览器以及手机移动终端等,是整个系统的应用控制核心,也属于系统的前端界面;通信层的重要功能是数据交换,是应用控制层和感知层之间的纽带,通过RF433射频、GPRS等分别与路由器、智能节电以及控制移动终端进行通信;感知层中存在很多携带特定传感器的节点,主要作用是完成居家环境的数据采集,帮助智能节点探测居家环境中是否有指令输入的存在,并反馈给系统进行处理[5-6]。
根据以上的层次架构,可以设计出系统的总体架构,如图1所示。
图1 系统总体架构
在图1的系统架构中,用户主要通过手机或计算机对系统网关进行控制,网关在接收到指令之后通过家具的WiFi等无线局域网与家里的各个节点设备进行通信和联系。接下来对系统的硬件和软件分别进行设计。
1.1 设计智能网关
本文系统中的智能网关主要是由基于物联网技术的Arduino平台的硬件与通信设备组成。Arduino平台的硬件结构中,顶部为Arduino Ethernet Shield扩展板,主要作用是维持以太网和物联网之间的通信;中部为Arduino GSM Shield扩展板,主要负责短信的发送;底部为Arduino UNO核心板,负责整个智能网关的数据分析与处理[7-8]。以上2块扩展板和1块核心板可以称为系统智能网关的Arduino硬件系统,具有即插即用的“电子积木”的特性,因此在系统中能够方便地将它们组合在一起。这3块硬件板主要以叠积木的方式进行叠加,如图2所示。
图2 系统网关硬件结构
图2 中,核心板实际上是微控制器板,为系统提供最基础的信息数据分析和处理。处理器型号为ATmega328P,输入电压的范围在6~20 V,其具有14个数字输入/输出引脚,6个PWM输出,3个通信接口,8个模拟输入,晶振值为16 MHz,并具有USB接口,方便与其他层次的硬件驱动互联,且存在一个电源插孔[9-11]。除此之外,还可使用电池或一些电源适配器提供能源。
GSM扩展板的功能相对简单,主要是提供短信的发送功能。该扩展板搭载了M10四频调制解调器芯片,具有4个工作频段,与上一层设备通过GPRS来连接,数据上行和下行的传输速率为85.6 Kb/s,通信协议支持TCP/UDP和HTTP协 议。Ethernet Shield扩 展 板 相 对 于GSM扩展板来说,功能更加强大,具有以太网接口,并集成了数据存储功能,将系统前端的页面文件存储在SD卡中,避免占用ROM资源,提高网关的网络性能。该扩展板中,数字I/O引脚为14路,其中4路为PWM输出;Arduino引脚保留为6个,其中Pin10~13用于SPI,默认Pin4用 于SD卡,Pint用 于W5100中 断(桥 接);FLASH ROM大 小 为32 KB,其 中0.5 KB用 于 存 放bootloader[12-13]。综上所述,根据前文提到的Arduino平台的硬件结构特性,2块扩展板和1块核心板对插之后的硬件示意图如图3所示。
图3 智能网关的硬件结构
为了保证网关的性能,在设计时采用的都是比较高端的SOC芯片,本文在智能网关的设计中使用Arduino平台的产品可以节约成本,缩短系统周期。至此完成系统的硬件设计。
1.2 建立语言输入形式语法库
在语音输入的过程中,会将人的语音指令进行语法分析,将原始的句子转化成词串后才能明确词性。在本文设计的系统中,对于语言输入指令的分析也类似于人类的语言学习,需要建立一个语言输入形式的语法库。对于智能家居的语言控制指令而言,一般为四元组的描述语法。因此在语法库的建立过程中,需要将句子分析得到的语义块填充到语义槽中。通过对用户使用智能家居方面的操作统计,得到几种语言符号标记,如表1所示。
表1 符号的分类与标记语法库
本文在上述语法库的基础上,得到语音指令的语法分析结果,并按照规则完善语义填充模板。为了保证语音指令的分析准确性,需要对语音信号进行预加重,即加重语音信号的高频部分,主要目的是降低人在说话时口唇对语音的影响,通过一阶高通数字滤波器来实现,其中存在的传递函数为:
式中:α表示预加重系数,其取值范围为0.9~1.0,在一般情况下,α的取值为0.98。选择的高通滤波器的特性曲线如图4所示。
图4 高通滤波器特性曲线图
图4 a)为幅频特性,图4b)为相频特性,通过分析用户在智能家居使用过程中的语言输入内容,可以发现涉及到的词性和短语比较少。传统的系统中使用短语结构法可以更加容易理解,但是这期间的算法效率较低。因此在下文中对句法分析算法进行研究与优化。
1.3 优化句法分析算法
在原有的智能家居系统中,对于简单短语的理解比较容易,但是多次的回溯会影响算法的效率,因此本文选择线图句法。该算法涉及到线图、进程表和活动边集3个数据结构[14-15]。这3个数据结构中包括较多的信息,例如已经分析成功的边的地理位置信息、队列的结构以及某些未完全匹配的重写规则等。在算法的分析过程中,当进程表为空白时,为了获取下一个语言输入的词性标记,将起止位置都一并存储在进程表中,并从中抽取一个元素,记作X(i,i′),其中i表示起始位置,i′表示终止位置;然后按照一定的规则将规则集中未完全匹配的点进行标记,并与抽取的元素X(i,i′)共同加入到活动边集中,再调用弧拓展子程序。分析结果的线图如图5所示。
图5 中的各个符号是参考符号的分类与标记语法库中的定义进行标记的。使用句法分析,并应用在智能家居接收到的原始输入词串后,能够得到如图5所示的算法结果图。从结果图中可以看出,智能家居控制指令句子中词与词之间存在的关系,并在这些关系的基础上进一步形成独立的语义块。经过词法和分析可以得到新的重写规则,将智能家居控制指令原始输入的语句进行处理,可得到具有有限个数的语义块,这些语义块经过处理后能够独立表达一定的语义。
图5 算法结果图
2 系统实现
2.1 搭建系统测试环境
为了验证本文系统的有效性,在系统测试的过程中,实验地点选择某复式住宅。整个实验区域如图6所示。根据居住人的生活习惯提前对卧室的空调进行控制。在一楼到二楼的楼梯间中安装了智能电灯,该电灯带有红外线感应传感器以及光敏电阻,在夜晚探测到有人经过时可以自动打开夜光灯;智能窗帘也同样带有光敏电阻,可以使用移动终端远程操作,也可以设置自动定时。在该套智能家居中,设置语音控制命令,采取开启、关闭、电灯、窗帘、加大、减小、室温、门禁等语音命令的关键词,本文系统获取到全部的关键词和语言音节的特征参数,并对其进行测试。本文系统对智能家居语言的关键词提取结果显示,关键词的正确识别率为95%,说明该系统可以应用在智能家居的语言输入控制。
图6 测试环境示意图
在上述实验环境下,将本文设计的基于物联网技术的智能家居语言输入形式自主控制系统应用在实验测试区域的智能家居中,并对其进行控制性能测试。
2.2 控制准确率实验结果对比分析
在上述的实验环境下,对比实验区域内原有的智能家居控制效果和使用本文系统后的效果,控制准确率对比结果如表2所示。
表2 控制准确率对比 %
分析表2的数据可以看出:在使用本文设计的系统前,智能家居各个部分的控制准确率平均在80.6%;在使用了本文设计的系统后,智能家居各个部分的控制准确率平均能够达到98.6%。通过相关的测试对比数据可知,在智能家居中使用本文设计的语言输入形式自主控制系统,能够有效地提高智能家居的控制准确率。
2.3 控制耗时实验结果对比
在相同的实验条件下,将智能家居设备中的烟雾报警、智能门禁、智能灯、感应灯、智能温控、智能窗帘、智能插座等设备的控制设置成一个整体的控制流程,统计使用本文系统前后对该流程控制耗时的数据,结果如表3所示。
通过分析表3的数据可知,使用本文系统前的智能家居整体控制耗时为13 s,在使用本文系统后,智能家居的设备整体控制耗时仅用1.1 s,相比使用本文系统前节省了11.9 s。说明使用了本文设计的系统后,提高了智能家居控制效率,缩短了控制时间,验证了本文系统的有效性。
表3 控制耗时对比 s
3 结 语
本文针对智能家居在实际使用中存在的弊端,设计一种搭载在智能家居上的基于物联网技术的智能家居语言输入形式自主控制系统。本文系统改变了传统智能家居控制系统的单一控制方式,使智能家居的控制更加灵活和准确。本文以用户需求为出发点,在特定的测试环境中对系统性能进行测试。实验结果表明,在智能家居环境中应用了设计的系统之后,能有效地提高语言输入的控制准确度和控制效率,说明本文系统具有一定的有效性。但是本系统也存在一些不足之处,主要使用语音完成控制的表征,在今后的研究中,需要将行为语言作为求解方式,进一步优化智能家居的用户体验。