e-works数字化企业网  »  文章频道  »  基础信息化  »  物联网

常用物联网应用协议汇总

2017/4/16    来源:席华彬    作者:极客头条      
关键字:物联网  有线网络  
这类协议都直接用于在无线或有线网络环境下的设备之间、人与设备之间的通信,物联网开发者都会与这些协议打交道。
    本文罗列下市面上物联网通信中的各类消息技术-即工作在网络通信的应用层协议,总结下它们各自特点、特定的物联网应用场景等。
 
    这类协议都直接用于在无线或有线网络环境下的设备之间、人与设备之间的通信,物联网开发者都会与这些协议打交道。
 
常用物联网应用协议汇总
 
    物联网联接的问题空间
 
    上图为物联网联接的问题空间,其中物联网的通信环境有Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP都是工作在以太网,COAP协议是专门为资源受限设备开发的协议,而DDS和MQTT的兼容性则强很多。
 
    协议的简单介绍
 
  • MQTT (Message Queuing Telemetry Transport ),消息队列遥测传输,IBM开发的一个即时通讯协议,现在成了OASIS的建议标准;

  • DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG组织提出的协议,其权威性应该能证明该协议的未来应用前景;

  • AMQP(Advanced Message Queuing Protocol),先进消息队列协议,这是OASIS组织提出的,该组织曾提出OSLC(Open Source Lifecyle)标准,用于业务系统例如PLMERPMES等进行数据交换;

  • XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作;

  • JMS (Java Message Service),JAVA消息服务,这是JAVA平台中著名的消息队列协议;

  • REST (Representational State Transfer),表征状态转换,是基于HTTP协议开发的一种通信风格,目前还不是标准;

  • CoAP (Constrained Application Protocol),受限应用协议,应用于无线传感网中协议。
 
    以上这几种协议都已被广泛应用,并且每种协议都有至少10种以上的代码实现,都宣称支持实时的发布/订阅的物联网协议,但是在具体物联网系统架构设计时,需考虑实际场景的通信需求,选择合适的协议。
 
    这儿举个智能家居的例子,说明下这些协议侧重应用方向。智能家居中智能灯光控制,可以使用XMPP协议控制灯的开关;智能家居的电力供给,发电厂的发动机组的监控可以使用DDS协议;当电力输送到千家万户时,电力线的巡查和维护,可以使用MQTT协议;家里的所有电器的电量消耗,可以使用AMQP协议,传输到云端或家庭网关中进行分析;最后用户想把自家的能耗查询服务公布到互联网上,那么可以使用REST/HTTP来开放API服务。
 
    下面我们将一一详细介绍下这些协议:
 
    MQTT协议(低带宽)
 
    适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和监控。
 
    特点:
 
  • 使用基于代理的发布/订阅消息模式,提供一对多的消息发布

  • 使用 TCP/IP 提供网络连接

  • 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量

  • 支持QoS,有三种消息发布服务质量:“至多一次”, “至少一次”, “只有一次”
 
    协议主要实现和应用:
 
  • 已经有PHP,JAVA,Python,C,C#等多个语言版本的协议框架

  • IBM Bluemix 的一个重要部分是其 IoT Foundation 服务,这是一项基于云的 MQTT 实例

  • 移动应用程序也早就开始使用MQTT,如 Facebook Messenger 和com等
 
    点评: 
 
    MQTT协议一般适用于设备数据采集到端(Device->Server,Device->Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。
 
    DDS协议(高可靠性、实时)
 
    适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS已经广泛应用于国防、民航、工业控制等领域。
 
    特点:
 
  • 以数据为中心

  • 使用无代理的发布/订阅消息模式,点对点、点对多、多对多

  • 提供多大21种QoS服务质量策略
 
    协议主要实现:
 
  • OpenDDS 是一个开源的 C++ 实现

  • OpenSplice DDS
 
    点评: 
 
    DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐