

英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
面向物联网应用和管理:一个实践方法
摘要
近年来,物联网(IoT)已经有了蓬勃的发展。大多数现有的物联网应用都是以一个高度垂直的方式被编写的,并且由若干专有的协议和设备组成。这会导致众多用户绑定在同一个单一的服务提供商、服务质量不尽人意,核心平台功能的冗余和整个行业的延迟现象。基于IP的物联网带来了对全球通信的基础支持和获取服务于信息的途径。几个均匀无缝的机器对机器(M2M)通信机制已经提出,用以延长智能对象的互操作性。在本文中,我们提出了一个基于MQ遥测传输(MQTT),并以消息为中心的物联网应用管理体系结构的统一设计,并针对一些实际问题和目标实际系统优化。
关键词:物联网;管理;互操作性; MQTT;普适通信。
一.序论
物联网的目的是把互联网延伸到物质世界的普适物品,通过物品和人的互联提供一个智能环境,它逻辑上包括三部分,智能对象,互操作性和应用。
智能对象意味着被赋予了计算和通信能力的日常生活中的物品,它们通常嵌入了一个微型控制器和一个低功率无线电。为了能与与物质世界进行互动,智能对象往往安装了若干传感器、执行器和一个区别于其他智能对象的独特ID。
智能对象可以在不同的物理层标准下互联,这些标准通常是WLAN、802.15.4、蓝牙、GPRS和串行线等。实现全球的互操作功能需要一些复杂的转换网关,或者由IPSO倡导的,统一的IP网络,其中后者在学术界和工业界得到了越来越多的支持。6LoWPAN引入了一个适配层使基于802.15.4的IPv6通信协议变得可行;ZigBee IP提供端到端的IPv6网络并且特别支持ZigBee Smart Energy V2;还有一些低能量蓝牙地址(Low Energy Bluetooth IP)解决方案也被提出,等等。
自从物联网的蓝图多年前被提出,在环境注意与干预、物流、医疗和制造等领域,许多具有激动人心的创意的原型和产品纷纷面世。然而,各种智能对象和应用程序的部署进展情况远远不能满足大众需求。我们总结了三个制约物联网发展的主要因素:
专有的通信协议:不同的供应商提供不同的数据聚集和设备控制范例,这使得简单的需求比如:用供应商B的运动传感器监测人们离开时关掉供应商P的灯,都难以实现。,由于这些封闭的解决方案,一些小的二次开发可以完成。
安全与隐私:令人担忧的是,从用户的日常生活中收集的数据是分别在不同的服务器中被处理和保存的,在传输和存储的安全性上分出了不同的等级。由于计算能力有限,智能对象在实践中几乎没有被严格的认证过。
管理的不便:当下并没有统一的智能对象管理方法能够包含但又不局限于初始化、认证、更新和错误侦测。智能手机看似带来了与各种智能对象进行互动的可能性,比如能通过打开一个应用来开启一盏灯,但同时想开启电扇时又要打开另一个应用,这显得一点都不方便。
MQ遥测传输(MQTT)[ 5 ]是一个简单的、轻量级的机器对机器的协议,是为装置性能有限和网络可靠性不佳的情况设计的。它有一个2字节固定长度的报头、一对多的分发机制和三个消息发布的QoS等级。附加的一些出色内置属性比如:清理会话、保留消息和预消息使它更适合大多数物联网情景。
在我们看来,物联网繁荣未来需要一个统一的人机接口,而迫在眉睫的是认定一个应用于所有智能对象信息交互机制。在接下来的文章中,我们首先在第二节展示了一些为物联网应用级的互操作性而形成协议和范例的相关工作,和优缺点的定性分析;然后我们在第三节中提出了一种基于MQTT的,用于物联网应用与管理的,以消息为中心的实用结构;在第四节中,我们在实现设计方案时强调了一些现实问题和一些发布方主流MQTT协议的拓展;在第五节中我们提出了有Wi-Fi功能的机制验证原型;最终的总结在第六节。
二.相关工作
- 资源导向型模式
参考互联网知名的HTTP协议,约束应用协议(CoAP)[ 6 ]是一个具象状态传输(REST)结构的实现,用于约束节点和网络,所有功能都封装为可寻址资源并且通过获取、发布、发布、删除的方法实现。CoAP协议是基于请求/响应的交互模型,这是一种在传输出现附近,客户通过URI发起对于一些资源的请求,服务器处理请求并返回相应的响应的协议。活跃的IETF草案还定义了一种CoAP协议的观察机制,也就是说,一个请求对应一个特定资源,而服务器对单个请求连续做出反应。
虽然大量的知识、HTTP的成功经验和工具可以很容易地集成到CoAP协议,但它资源导向型范式的缺陷是明显的。
bull;请求、响应和观察都是被加载在智能对象上的,而功率受限的设备几乎负担不起,更不用提高并发的时候功率会更少了。
bull;对同一个单一资源的重复请求和观测造成计算和网络资源的浪费。
bull;每个设备的IP地址必须是已知的,所以服务发现机制比如SLP、MDNS被引入了,它们增加了结构的复杂度。
bull;在目前最常见的IPv4的子网环境像家里的WiFi情景题面临着在全球可达性上的网络地址转换(NAT)问题。
B.消息导向型模式
以消息分发模式分类,最常见的消息为导向的架构是消息队列模式和发布/订阅消息模式[ 11 ]。消息队列,也被称为点对点,它的每一个消息都必须被分配一个明确的接收器,而且只有一个接收器得到的消息。在发布/订阅消息模式中,用户指定他们感兴趣的某些类型或主题的消息,一旦发布者在注册过的主题下发布一个信息,用户就能以异步的方式接收消息。要说在物联网的情况下,发布/订阅消息的主要竞争优势是业务逻辑和智能设备之间的松散耦合,带来了多对多通信的可能性。
在面向消息的范式下,已经提出了许多协议并被广泛应用于典型区域:可扩展消息和出席协议(XMPP)的即时通讯工具如Gtalk;诺基亚用于用户终端和智能传感器之间通信的简单的传感器接口(SSI);用于智能手机通知推送服务的MQTT,比如脸谱网信使; 企业数据中心像摩根大通使用的高级消息队列协议(AMQP);只以文字为基础的人机通信的面向文本的消息传递流协议(STOMP);浏览器和Web服务器之间的全双工通信如WebSocket。
这些公共的信息协议的整合和扩建工程近年来一直不断进行以适应物联网的世界,而MQTT具有突出的简单性和效率,它的成本只有一小尺寸和低功耗的嵌入式设备,同时保证消息分发的可靠性和灵活性。在[ 14 ]中,他们探讨了发布/订阅消息的应用程序模式,并提出了一种针对环境,监测和控制系统编程模型。[ 13 ]提出了现实网络环境下不同MQTT QoS等级的丢包和延迟现象。[ 12 ]提出了一个热门的话题和相关算法MQTT扩展。mqtt-sn(原名MQTT-S),是一种基于非TCP/IP网络MQTT的变型。在[ 9 ]中提出了mqtt-sn和CoAP协议性能评价。MQTT和AMQP的特点以及可用性比较在[ 10 ]中。[ 7 ] [ 8 ]聚焦在比较COAP和MQTT上,分别考虑到两个协议在运行功率受限的网关和智能手机上的应用情况。
三、系统设计
一种基于MQTT,应用于以发布/订阅消息为中心模式的结构如fig.1.所示。智能设备、应用程序和管理员只设置连接代理服务和通过信息发布与特定邮件主题的订阅的交流。
设备、应用程序和经理都视为独立的MQTT客户端,而经纪人的服务可能作为单一主机使用或关联起来提高可扩展性和可靠性。
fig.1. 基于MQTT物联网架构
在应用方面,智能设备往往扮演一个传感器、执行器或两者组合起来的角色,这意味着分别在报告主题上发布感测到的数据、订阅管理主题的行动命令或整体。所有的业务逻辑,如周期性操作或有条件的设备之间的相互作用是由不同的独立应用程序处理的,这样做能去除设备、应用程序间的耦合和应用程序,并简化了开发和维护。
在管理方面,一套设备的初始化、识别和登记;网络连接和身份分配;配置;监控和故障检测;对空气的应用程序和固件更新和恢复出厂设置是必要但不充分。申请管理计划,三个参与者的智能设备,经纪服务和管理者需要进行合作,并一起工作。对经纪人的服务方面,有新的开源软件实现了像mosquitto或硬件实现像IBM MessageSight。经纪人服务是一定程度的可扩展的能力,桥接。
在本节的其余部分中,我们主要集中在设备端和管理端,提出了一个实用的框架,物联网应用和管理。
A.智能设备的状态机
智能设备总是在四种状态之一:初始化、运行、离线和连接如图Fig.2.所示。
Fig.2. 智能设备状态机
1)初始化
首先,一个刚从工厂智能设备允许最终用户特定的网络,例如家里的WiFi SSID和密码,要求同意的机制设置这些信息设备的互联网连接是建立信息通道后,在第四节的讨论,该设备已申报的经理重组和注册。最后对装置操作参数,尤其是专题报告的数据和接收命令,必须设置初始化阶段。
每个网络设备都有一个普遍的唯一的48位MAC地址,这是作为在初始化阶段标识UUID。一个自我描述的包含所有产品信息,包括制造商、模型、项目编号信息,固件版本和加载的应用程序等,发表在incoming_device / lt; UUID gt;的话题,作为设备注册。同时,该装置的装置/主题订阅lt;lt; UUID gt;,等待经理服务初始化。通常设备收到一个配置信息的默认设置和一个独特的客户端标识符,如果该设备被确认和验证的经理服务。和设备报告主题和管理主题将被重置,具有默认的incoming_device和装置主题前缀初始化阶段被废弃后,设备的隐私和方便权限控制。最后一个连接操作以使更改生效。Fig.3.显示工作流的新设备初始化。
Fig.3. 设备初始化工作流
2)运行
一旦完成了初始化,该设备就运行阶段,进行功能的不同类型的设备。例如,一个烟雾探测器感觉空气和报告的题目,而光订阅一些话题/关闭消息的反应。
所有的设备与管理Agent订在给定的管理课题,等待经理的命令包括重新连接,重新启动、配置、升级、报告、复位等,并报告设备状态如电力仍然存在,运行的应用程序信息和意外异常,主动或被动,管理协议可以与升级的固件更新,以支持扩展管理计划。
3)连接
连接信息将设备定期离线后出版。不规则线,其中设备过去了仍然在状态的情况下,才能够解除警报。而如果设备丢失所有语境和复位初始化状态,这publishesself描述信息的incoming_device / lt; UUID gt;主题作为一个刚挤出的新鲜的工厂,管理服务将很快恢复保存的设置到设备和清理的最后一个连接上下文。连接完成后,设备在运行
再次登台。
- 智能设备框架
智能装置的框架分为两,核心(或叫固件)和应用程序,如图Fig.5.所示。核心层负责初始化、配置、管理和应用程序的加载和调度。在核心层中也处理了消息通信。从MQTT经纪人接收的消息在消息处理器队列,然后切换到相应的应用程序或管理Agent根据信息主题。应用层包含应用程序,这是一个定义的标准结构,命名为应用程序接口的各种业务逻辑的实现。可能有几个不同的应用程序在同一个设备上运行,而所有这些都是在管理的单核心过程。Fig.5.介绍了核心过程的工作流程。
Fig.5. 智能设备框架
在启动、加载、连接和运行时,所有的特定参数都是在一个配置文件中组织成键的值对,包括设备属性、消息属性、应用属性和应用属性的四个部分经理的性质。这些设置可以被读取和修改,虽然网络配置。在应用程序或固件升级之前,可以添加一些附加的对。因此,一旦升级完成,所有设置的立场。
- 应用界面
应用程序界面是应用层开发的规则。每个应用程序应该有在界面中声明的功能,使设备正常工作。所有配置的应用程序需要运行的核心过程中,加载后,将积极设置。和消息通信方法的应用程序调用、发布、订阅和退订,同时提供。
on_connected: 一旦MQTT连接建立设备登记做经纪人。应用程序初始化的发布/订阅相关业务在这个函数。
on_shutdown: 称当设备将关闭或卸载某些应用程序。应用程序保存后复苏的背景下,并清理资源并终止任何子进程从它的分叉,例如独立的媒体播放器。
main_loop: 在核心过程的每一个主循环中调用,在这里实现应用程序逻辑。没有块或长期持有的过程,但在短时间内返回或收益,留下未完成的工作继续在下一轮。
on_message_received: 当加载或配置modifiedfrom经理,因为配置管理的核心流程和应用程序只能访问指定的部分。
- 代理经理
经理现在代理执行动作的初始化、配置、故障报告、软件和固件升级,恢复出厂 置,重新连接,重新启动和电源管理。
常见的智能对象的批量生产,使单一的设备知道最终用户特定设置的什么。初始化是登记在管理服务器,绑定到相应的用户,并配置为用户青睐。所有在设备配置文件中,管理者配置的配置文件被保存到。
软件和固件升级,经理代理解析更新源代码管理信息,并取代了运行一个Flash。当运行的应用程序的升级,经理刚刚重新加载应用程序模块;而对于固件,经理代理已终止的目的,让守护进程重启一下。
重新连接并重新启动是有用的迁移时,很多设备从一个经纪人到另一个,或经同意信息主题或将注改性。当工厂复位触发,经理剂清洁运行工作区和工厂备份存档提取包覆盖当前,包括核心代码,程序代码,配置资源,最后重新启动将影响。
设备的状态,如连接,断开和过期的经理服务的监控,连同设备描述和运行应用程序的信息。硬件模块的支持是必需的,阅读仍然是一个电池约束装置的功率。lt;
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[150500],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
