英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
分布式家庭自动化系统的设计、规范和实现
摘 要
这项工作提出了一个应用物联网(IoT)技术的新型家庭自动化系统的设计和模型实现。它寻求一个用于开发健壮的家庭自动化系统的简化设计协议,以处理复杂的、多个不兼容的标准,以及由此造成的现有系统费用的问题。嵌入式系统使用了普遍应用的低成本32位ESP8266片上系统(SoC)模块,连接到传感器和执行器上用于家庭交互。通过基于HTML5的移动和Web GUI应用程序,实现了灵活的远程访问,操作和管理。通过部署Web应用程序消息传递协议(WAMP),以确保各个应用程序和系统之间使用具有相对较高级别安全性的Web服务安全协议进行无缝通信。该系统能够提供有效的低成本解决方案,因为专用公共IP地址和高端计算机的成本被排除在外,这些成本主要存在于其他解决方案中。
介绍
智能设备在日常活动中的使用提高了生活质量,并提高了生产效率。这导致了对舒适性,电器的集中控制,降低成本,节能,安全等益处的增加的追求,这基本上是家庭和工业中的自动化技术的增长的驱动力。因此,这些设备的智能化呈指数级增长,同时通过其连接提供更高的可承受性和简单性[1]。几乎每个对象的互连性现在可以通过因特网;人类社会网络和机器与机器间的网络。 “物联网”的概念与家庭自动化的普及密切相关,是一种不断发展的技术,已经受到了研究人员相当多的关注,他们有着连接全球基础设施设备的愿景[2]。虽然这个愿景是令人瞩目的,但对其实现尚未达成共识[3]。
物联网涉及集成智能对象;具有连接到因特网的传感器和制动器的嵌入式设备。这些设备被智能地互连,从而需要在物体和人之间以及在物体和物体之间的新的通信形式[4]。在参考文献5中注意到,随着设备处理能力和存储能力的增加,它们的尺寸趋于更小,这使得它们适合于配备不同类型的传感器和制动器。这中嵌入式设备的更大的功率和能力进一步使得它们能够与所需的网络协议堆叠起来进行无缝通信。家庭自动化很早以前就开始使用省力的机器,术语“智能房屋”最早是由美国房屋建筑商协会于1984年创造的[6]。然而,早期智能房屋的性能不佳,成本高,安装和运营复杂,管理和维护不善,而且许多情况下需要重新对房屋进行装修[7]。新颖的家庭自动化正在快速发展,因此,已经存在不同的程序,其中很多基于与物联网概念有关的无线通信技术和互联网技术。
这项工作通过提供简化的设计协议和开发强大的分布式家庭自动化系统来解决复杂性,多个不兼容的标准以及最近的系统中产生的费用问题。系统中独立计算单元协同工作,以便通过仅交换简单的消息而不是人与人之间的通信来实现所需的自动化功能,将独立的系统和应用之间输入输出数据相加同步当前状态[8, 9]。
相关工作
为了实现家庭自动化,已经有了几种成型的解决方案。在参考文献10和12中探讨了针对使用蓝牙设备的家庭自动化技术提供的基于蓝牙的解决方案,提供无需互联网连接的控制。这里,连接到嵌入式控制器的设备由具有内置蓝牙连接的设备访问和控制。然而,蓝牙具有约100m的最大操作范围,并且该限制使得系统不能应付长距离移动,并且通过这种方式将系统控制限制在附近。此外,在参考文献13和14中还提供了用于家用电器的通信和控制的基于全球移动系统(GSM)的解决方案,其中移动电话(或GSM调制解调器)被结合到家庭控制器并且接收用于控制的不同AT命令。这些系统缺乏易于操作的图形用户界面(GUI)。因此,用户必须记住不同操作的不同短码。此外,由于移动网络运营商的故障,消息可能被延迟。因此,该解决方案不适合于实时监测以及长距离数据记录(遥测)。
随着诸如宽带解调器和移动热点等互联网网关的普及,家用电器的远程访问变得可行。在参考文献15和16中,介绍了基于Wi-Fi的家庭自动化解决方案,利用本地系统管理连接设备。这种安排通常会造成资源瓶颈,因为它们需要用于远程操作的复杂网络流量路由。在参考文献7和17中提供了类似的架构,其中本地web服务器被部署在家中,开发通过因特网管理设备的应用程序。这些设置的缺点是,高端计算机的部署不仅会增加安装成本,而且还会由于其尺寸而增加能量消耗和空间。在家庭服务器上运行的开发的接口应用不容易升级,并且所采用的数据通信协议不是稳定和可扩展的,来支持未来的需求。虽然在参考文献4和18中在客户端处没有专用服务器,但是公共IP地址使系统昂贵,并且限制了有限的寻址资源。此外,作为可互操作的应用层,部署基于表征状态转移(RESTful)的Web服务不能提供用于实时操作的全双工通信。为了改进以前的设计,参考文献19中提出了一种云增强型家庭控制器(CEHC)体系结构,其中本地化资源用云方案进行扩充。虽然这项工作视图在不断增长的自动化技术中提供灵活的具有丰富应用的生态系统,但却忽略了相关紧迫的安全问题。此外,参考文献20中,利用Google云消息(GCM)服务在分布式云平台之间进行通信,实现了基于云的完全解决方案。 GCM是一种免费服务,允许在基于服务器-客户端的应用程序中传输消息,并使用可扩展消息传递传输协议(XMPP)[21]。虽然Push技术胜过轮询和长轮询技术,但它是一种重量级协议流可扩展标记语言(XML),并没有大规模的完整实现。此外,除非与Google签订的特定合同已收取部分费用,否则在未经用户同意的情况下将系统的数据用于其他用途并不受限制。
我们将流程作为服务,利用超先进的互联网技术实现分布式家庭自动化系统。我们部署了强大且可扩展的协议,以确保各个应用程序和系统之间的无缝通信。主要利用了较新的协议(WAMP)实现了Websocket全双工和持久连接和JSON数据序列化。此外,通过基于HTML 5 Web的应用程序和服务开发,为直观的GUI移动和Web应用程序在自动化操作和管理中增加了灵活性。一般来说,这种架构提供了一个简化的范例来实现灵活的家庭自动化实现,并且消除了专用公共IP地址以及高端计算机的成本,从而为家庭自动化提供了成本有效的解决方案。
系统结构
图1示出了分布式家庭自动化系统,其主要包括两个部件,硬件接口和软件控制部件。
图1 系统总体布局
硬件接口部分
硬件组成客户端设备(CPE),为家庭中的传感器和执行器提供适当的接口。 这些模块由运行C 语言固件的32位ESP8266片上系统协同运行。要求CPE提供对照明、HVAC设备、安全锁和其他设备的控制,以及监视房间环境,如房间温度,湿度和光强度[22]。 它还必须提供用于用户交互以及Internet连接的接口。因此,嵌入式硬件进一步分为:控制器,电源设备执行器和集成传感器。
该控制器是一个普遍应用的低功耗32位CPU的ESP8266 Wi-Fi模块,它是一个独立的SoC,集成了传输控制协议/互联网协议(TCP / IP)堆栈,用作应用处理器,允许我们的嵌入式单元使用无线网络。选择此模块是因为其强大的板载处理能力和存储功能,允许通过其通用输入/输出(GPIO)与传感器和其他应用程序特定设备接口,在运行时具有最小的开发前期和最小负载。其高度集成的片上系统可配置最小的外部电路,同时还包含自校准RF,允许它在所有工作条件下工作,并且不需要外部RF部件。它具有802.11 b/g/n、Wi-Fi直连(P2P)、软AP、81 Mb RAM、高达160 MHz速度、1Mb闪存和 19.5dBm输出功率等功能。
家用电器由主要是继电器的动力执行器控制,通常通过数字控制器电路切换具有小电信号(通过晶体管预放大)的高电压,电流或功率器件的机电元件。8通道继电器模块通过移位寄存器接口,以允许用更少的控制器引脚进行控制。而发光二极管(LED)用作数字输出引脚的状态和配置的指示器。为了监测环境气象条件,测量诸如温度和光强度的数值。这样的测量使得系统能够与其环境交互,并且因为智能设备应该能够基于这些测量来控制环境。使用精确的LM35 IC测量温度,输出电压与摄氏温度成线性比例[24]。芯片输出每摄氏度10 mV,并由ESP8266控制器的模拟引脚读取。被动红外(PIR)运动检测器检测附近的动画运动。一旦检测到任何手势,设备的数字输出引脚数字上升,并且可以可选地延迟,以便由控制器的数字引脚读取[25]。
软件控制部分
这包括Web服务器,客户端应用程序和嵌入式软件。Web服务器是管理、控制、验证和监控分布式系统进程的核心。客户端应用程序为客户端的操作提供图形用户界面(GUI)。在软件系统开发中部署的模块设计,包括操作使用的设计模式和框架。前端应用程序包括Web和移动应用程序,它们提供用于控制和监视用户设备和传感器的图形界面。 Web应用程序是使用开源的HTML5技术,包括HTML、PHP、JavaScript、CSS和MySQL。它通过诸如个人电脑、平板电脑、PDA和智能手机等智能设备上的Web浏览器启动。移动应用程序使用跨平台开发框架PHP Cordova(或Phonegap)的Web应用程序。为了提供更好的用户体验,灵活性、直观性、内存小了和整洁的操作特性都需要被考虑。
嵌入式软件采用C/C 编写,并与ESP8266控制器连接的输入和输出设备进行匹配。它还运行嵌入式迷你网络和Websocket服务器,以支持离线操作,利用车载Wi-Fi无线电的双模式(接入点和站)。这是为了在链路中断的情况下将系统扩展到云服务并且使得能够在家庭内独立使用。
通信接口
Websocket被发现是最适合从Web浏览器到服务器的实时双向,全双工,持久连接。 Web应用程序通信协议(WAMP)是一种开放标准Websocket子协议,提供与不同语言一起工作的应用程序路由[26]。 WAMP允许具有松耦合应用组件的分布式系统以软实时方式进行通信。 它是建立在Websocket通信协议和JSON数据序列化的基础上的。JSON是一种开放的、语言无关的、人类可读的数据交换格式,以便理想地在系统之间交互操作,存储和传输数据。它被设计为简单、通用、结构化、人类和机器可读的格式,并在互联网上使用。 它使用具有Unicode编码的文本数据格式,与其XML相比它是十分简洁的。一个典型的JSON格式示例为:{“user_id”: ”1”, ”port”: ”2”, ”state”: ”0”}。
Web服务安全
我们在应用程序以及它们之间的通信中采用了标准的Web服务安全技术。 这些包括内置在网络和移动应用中的身份验证系统。因此,未经授权的用户不能进入移动和Web应用程序。为了进一步保护Websocket的实现,部署了一次性密码(OTP)机制。在应用控制台上进行有效认证后,首先将随机生成的50个字符长的令牌发送到Websocket服务器以进行通信授权,进一步交换消息。
成就
大多数硬件组件是通过为工作所采用的集成设计和开发的优点而组件的。因此,标准数据总线和跳线用于路由嵌入式硬件的所有网络路径。另外,在每个构造阶段对模块进行测试,每个模块都被确认为能够独立工作,也可以联合工作。为了软件开发的效率,在这项工作中使用了一些框架。它们包括Laravel PHP framework,Rachet PHP Websocket框架,Phonegap移动应用程序框架和Twitter Bootstrap CSS框架[27, 28]。所采用的设计模式是面向对象模式,而较高级别的设计架构是模型 - 视图 - 控制器(MVC)模式。通常,软件应用程序被开发为可靠且真正用户友好的。这是通过嵌入在应用程序中的复杂的内置测试(BIT)实现的。应用程序以及服务现在已经启动并运行,此原型可以通过[http://cb.djade.net]访问。
结果
强大且可扩展的架构涉及基于Websocket和JSON的通信协议,通过简单的消息交换节省大量带宽,实现了实时家庭自动化,操作所需的延迟极低,从而节省时间,金钱和空间。虽然,实际连接特性取决于可用的互联网连接强度,即使在相对较差的连接情况下,也保证了系统性能。虽然在互联网中断或离线使用的情况下,在CPE上运行的嵌入式迷你网络和Websocket服务器足以进行持续操作。值得一提的是,这种模型分布式自动化系统已经过测试,完全可以按照设计进行工作,甚至在2015年尼日利亚伊洛林大学的工程项目展览(EPEX)会上获得了一个展览奖。
总结
在这项工作中,利用最新的网络技术,将整个家庭自动化系统作为分布式类型,将过程作为服务。分布式系统的云部分涉及与数据管理和存储库以及通信接口集成的Web应用程序。我们通过基于HTML5的Web应用程序和服务开发,为直观的GUI移动和Web应用程序在自动化操作中增加了极大的灵活性。类似地,在嵌入式硬件开发中采用模块化设计概念,以实现更好的功能和更高的可靠性。一个强大的数据通信协议,以确保单个应用程序和系统之间的无缝通信被部署。相对地,通过部署稳健的Web服务安全协议实现了高级别的安全性。总体而言,系统提供了一种成本有效的家庭自动化解决方案,因为专用公共IP地址和高端计算机的成本(主要存在于其他解决方案中)被移除。在未来的工作中,我们打算通过结合更高层通信协议——消息队列遥测传输(MQTT),它是一种及其简单的基于Websocket的受限设备上建立的机器到机器的消息协议[5,29]。
参考文献
-
S. Hilton. “Progression from M2M to the Internet of Things: an introductory blog,”Bosch ConnectedWorld Blog, Oct. 2010 [Online].Available: h
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[139347],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。