英语原文共 6 页
采用自然语言接口的物联网智能家居实现设计
摘要:建筑物自动化技术和方法目前正在快速发展,以提供住宅、行政或工业建筑的操作和技术特征的精密管理,以最小化能源消耗,降低运营成本,并增加这些建筑物居民的舒适度。这些目标促成了智能家居和智能家居护理的开发、创新和新实施。在本文中,作者关注如何将智能家居的标准化KNX系统与作为集成的基于云的物联网平台互连层。讨论物联网平台的缺点,作者提出了在处理整个系统中可能存在的大量事件时可以使用的进一步概念。本文的后半部分介绍了如何使用云服务丰富自然语言界面的系统。这允许以非常接近人的行为的方式与智能家居进行交互。使用所有描述的组件,呈现并讨论了智能家居系统的整体架构。
关键词:智能家居(SH); 智能家居护理(SHC); 物联网(IoT); 云;
MQTT;KNX; 自然语言; 系统架构
1.KNX技术
KNX技术是一种全球标准的分散式总线系统,用于智能建筑自动化各种操作和技术功能,如灯、插座、按钮、环境传感器、百叶窗、HVAC(加热、通风、空调)、报警等。通常,它为执行器和传感器提供通信通道在建筑物内其中最多可以使用65536个设备节点进行交互16位寻址。Vanus等人(2013)提到各个总线系统之间的通信参与者,以下传播媒体都可以使用:KNX TP1、KNX PL 110、KNX RF、KNXnet / IP(以太网(IEEE 802.2))。
对于在SH中实现物联网,作者有可在VSB获得MSDK木结构SH - Tech-俄斯特拉发的nical大学,使用KNX技术控制照明,百叶窗和插座。BACnet技术用于HVAC控制,控制的可视化,对业务和技术职能的监管建筑物,以及测量数据的记录数据库已通过软件工具创建
Desigo Insight。KNX之间的沟通设备通过组地址执行,其中包含明确的功能或信息。
KNX技术可以连接到现代物联网平台,虽然它们主要用于IP协议互联网。Kunc(2016)甚至称KNX为lsquo;Thingrsquo;,这在互联网上意味着自足的系统并进一步描述了KNX Web服务(KNX IoT 1.0)通过使用KNX WS-Gateway作为解决方案。第二个解决方案,可以帮助访问KNX总线上的特定设备来自外部平台,是KNX / IP路由器。该设备具有KNX一侧是接口,另一侧是标准以太网接口。可以使用两种方法
连接到总线KNX IP隧道和KNX IP路由。KNX IP隧道可实现通信在一个外部设备和KNX总线之间(单播)。KNX IP路由使用多播地址进行通信被送到。保留多播地址224.0.23.12对于KNX协会(Vanus等人(2016))。官方库(Falcon SDK for .Net framework)或开源
库(KNXLib.Portable for .Net framework,Calimero for Java,或knx for Python)可用于构建应用程序访问在总线上流动的数据电报,并将动作发送回执行器。应用程序代码包括基于所选语言的必需库放置并运行在可直接访问的边缘设备上,通过局域网(LAN)或KNX / IP路由器无线局域网(WLAN)。
2.云回馈服务
为了简化最终应用程序的部署概念,IBM Cloud被选为解决方案。 IBM Cloud,其平台即服务(PaaS)云模型已完全构建关于名为Cloud Foundry的开源技术。此设置允许选择最合适的位置基于地理位置或需求的部署。
IBM Cloud可以调解对Cloud Foundry容器的访问可以部署以多种编程语言编写的应用程序。还有几十种服务,可以在PAYG(按需付费)模式中使用,由IBM、第三方公司和社区提供。最后但同样重要的是,云提供了全面的支持DevOps(开发和运营)和CI(连续整合)原则,因此应用程序开发、构建、测试、自动化部署的完整生命周期和管理可以在云中进行外部处理。
3.物联网(IoT)平台
物联网(IoT)平台是一种集成允许将多个实体互连在一起的层,
这些可以是物理设备或传感器,其发出相互作用的数据,致动器以控制周围的状态世界或某些没有物理代表的实体。在大多数情况下,这些只是通过某些应用程序实现的码。如果物理设备无法直接连接到物联网平台,另一个组件就需要调解这种联系。这个组件是通常称为网关,它可以是物理的,也可以是基于应用。它通常提供一个集成点对于使用多种无线技术的设备本地蓝牙、Zigbee或Z-Wave,但它也可以作为第三方低功耗宽带的集成点区域网络(LPWAN),即Sigfox,LoRa或Narrow乐队物联网(NB-IoT)。此外,网关是进行传感器数据的预处理的好地方(换句话说,边缘计算)或实现一些自动注册功能。最后但同样重要的是,应用程序是也是物联网平台的一部分,他们从设备、命令执行器处理数据,从而关闭反馈回路。
每个物联网平台的组成部分是管理层,它应该能够控制彼此交互的所有实体的注册和管理(设备,网关,应用程序)。它还应该提供一种选择性的访问控制列表(ACL)机制限制适当的用户访问单个实体和他们的数据。
物联网平台通常提供多个应用程序界面(API),即经典的表示性状态转移(REST)或一些实时API可扩展的Mes saging and Presence Protocol(XMPP),受约束应用程序协议(CoAP)或消息队列遥测传输(MQTT)。 数字接口越高,增加了实现整体的努力平台。另一方面,有几个API提供了很多方法,如何将系统组件集成在一起,以及因此允许不同的方法和方法,如何微调整个系统。
最重要的是安全性。每个实体物联网平台应该有自己的秘钥用于身份验证,这可以是一个简单的令牌或证书。数据来回发送平台必须通过安全渠道或在密码加密最少。
IBM Cloud提供的物联网平台是基于MQTT客户端。MQTT客户端作为中心在客户端(即设备)之间交换消息的要点网关,应用程序。 它实现了基于主题过滤的发布:订阅模式。两种MQTT客户端通常是杰出的,表示设备站点的客户端将事件发布到MQTT代理事件主题,同时,他们可以订阅MQTT代理命令主题以接收命令。另一方面,客户端代表一个应用程序网站,以相反的方式工作,他们通常订阅事件主题并发布到命令主题。
物联网平台是可以创建如此复杂的实现的手段。几百个传感器可以连接,例如一个应用程序建立实时可视化传入数据。不可以被遗忘的是,物联网平台只是一个整合层,必须单独处理数据持久性。 MQTT代理允许使用持久性和非持久性客户端,这些是使用CleanSession控制的连接时由客户提供的标志。该这种方法的缺点是只有消息排队等待断开连接的客户端,并且使用的服务质量(QoS)必须大于0,存储的数量消息也是有限的。
当处理大量传入事件到物联网平台的问题时,也可以达到发布 - 订阅模式。所有客户,订阅适当的主题,给予已发布的消息,这可以防御构建可扩展的应用程序,因为如果一堆消息开始压倒订阅的工作者,添加一个新的将无济于事。这个问题可以通过更好的主题结构来解决并通过附加较少责任的客户。该第二种解决方案是通过将共享订阅标志设置为“rue”来共享订阅,这允许一组客户端分享响应中产生的消息的消费订阅。订户集必须使用相同的application id作为通用共享名称。
4.消息中心
使用Message Hub可以解决以可伸缩方式持续存储和处理大量消息的问题。Message Hub是IBM Cloud中的一个应用服务,它位于Apache Kafka上,这是一个开源的高吞吐量分布式消息传递系统,为处理实时数据馈送提供了一个低延迟平台。关于消息传递,Apache Kafka处理排队和发布 - 订阅传递模型。一个特定主题在这个概念中被理解为一个消息流,它由生产者一方面发布,并由订阅消费者在另一边。 已发布的消息持久存储在一组代理服务器上。每个主题的保留时间可以单独指定,因此可以控制主题能够持久存储的传入消息的窗口。
由于Apache Kafka不仅是一个消息传递系统,而且还提供了流功能,因此可以在发生消息时轻松处理消息流,并且可以使用所有典型的操作,如减少或聚合,从而将结果导入某些表。此外,可以对诸如地图,过滤器或连接等的表执行各种操作,然后结果数据可以转换回流并再次路由到Apache Kafka。 这种方法高度丰富了消息的处理,并允许简单地构建智能家居的反馈控制机制或检测异常。
最后但同样重要的是,Apache Kafka还提供了Connector API, 这允许构建一个自定义使用者,将数据推送到永久存储文件,SQL数据库,NoSQL /文档数据库或Hadoop分布式文件系统(HDFS)。 此外,可以在这些数据存储中利用数据分析。
5.自然语言接口服务
特别是认知计算和IBM Watson通过使用自然语言的交互应用于工程和科学专业人员的顾问或助手(Codella(2016))。其中一个由IBM Watson服务解决的用例模式称为Engagement。参与是指与最终用户进行对话以回答问题并以非常接近人类行为的方式进行互动(Arsanjani(2016))。
当服务设置正确时,它会回答最常见的问题(FAQ),通知家庭状态,或者在智能家居中间命令执行器。Watson Assistant服务必须接受与其应用相关的细节培训。服务实例提供易于使用的Web界面和测试聊天窗口,其中可以准备特定的工作空间。该服务有三个部分,需要配置“按键,实体和对话框”。
意图在输入中表达的目的或目标,例如问候语,要处理的动作或要回答的问题,必须提供符合目标的若干示例句子或单词以便创建意图,然后,Watson Assistant服务使用这些示例来训练自然语言分类器(NLC),该分类器允许从传入的文本消息中检测目标。
实体表示从输入中挑选的一类对象或数据类型,例如地点、时间、日期、颜色、特定状态、位置等。
Dialog使用输入文本消息中标识的意图和实体,它还处理上下文对象,该对象作为应用程序端点的输入的一部分发送,通过组合所有这三个信息,构建了一个特定的决策树(对话框),它提供对输入消息的有用响应。
处理Watson Assistant服务的传入文本消息的简化周期如下所示。该消息被分类为正确的类别(意图),检索实体,在对话决策树中选择适当的节点,并且返回具有上下文对象的输出文本,该上下文对象包括在请求执行期间收集的所有其他数据。
6.文本到语音和语音到文本
Watson Assistant服务通过创建代表智能家居的虚拟代理来提供对话交互的核心逻辑。文本到语音和语音到文本云服务被用于使用语音形式的自然语言进行真正的交互。
文本到语音(TTS)服务将文本转换为音频流,相反,语音到文本(STT)服务将口语(语音)转换为文本表示。两种服务都提供了几个API,因此没有任何块来构建简单的请求 - 响应应用或利用在后台不断工作的流媒体机制。
各个Watson服务之间的基本交互被描述为编号序列调用。让我们假设图中的设备能够记录语音,并通过设备的驱动程序将此流提供给应用程序逻辑。流被路由到Speech to Text服务(1),该服务将其转换并返回其文本形式(2),然后Watson Assistant服务处理文本(3)并提供输出消息(4)。,输出消息由Text to Speech service(5)转换回流(6),设备播放输入流,从而与用户交互。
7.总结
本文介绍了基于标准化KNX技术的智能家居的功能实现。KNX是一个开放的实体,它提供了几种与其他系统集成的方法。讨论了这些, 形成了拟议系统的关键部分通过基于云的物联网平台,为智能家居中安装的所有传感器和执行器创建集成层 ,无论是通过KNX总线连接,还是通过互联网直接连接到物联网平台,还是通过物联网网关中间连接(例如蓝牙) 基于传感器)。与传统的KNX系统安装相比,从多个源相互集成数据的可能性是一个明显的优势。
Message Hub服务支持云站点上的数据处理,该服务包含称为Apache Kafka的开源,这是一种适用于实时数据分析和处理的分布式容错流和存储平台。它允许我们连接几种处理来自物联网的传入事件的工作者平台。工作人员可以通过将命令发送回物联网平台,通过电子邮件等通知最终用户来影响智能家居系统。通常,将Apache Kafka作为流媒体平台的整合提供了新的可能性,如何从不同的地方处理物联网数据各种传感器。
以虚拟代理的形式实现自然语言界面,其可以与所聊天或交谈,在所谓的认知系统的层面上促进整个系统。实现参与模式的系统,通过正式和非正式的培训过程学习其行为,以人类语言进行交互,并通过语境进行回答。采用这种方法构建的智能家居系统可以极大地促进老年人护理领域的部署,通常会拒绝采用任何新技术。
8.致谢
本文得到了捷克共和国教育部的支持(项目编号SP2018170)。 这项工作得到了欧洲区域发展基金在高级机电系统研究中心项目编号CZ.02.1.010.00.016 0190000867的支持,该项目位于业务计划研究,开发和教育部门。
参考文献
[1]Arnold, O., Kirsch, L., and Schulz, A. An interactive concierge for independent living. 2014 IEEE 3rd Global Conference on Consumer Electronics (GCCE), pages
59–62, Oct 2014
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。