物联网通信协议的详解及选择建议

通信对物联网来说十分关键,无论是近距离无线传输技术还是移动通信技术,甚至是LPWAN都影响着物联网的发展。通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。那么物联网都有哪些通信协议?众多的协议该如何选择?

我们将物联网通信协议分为两大类,一类是接入协议,一类是通讯协议。接入协议一般负责子网内设备间的组网及通信(文章《常见物联网近距离     无线通信   技术解析》有详细介绍);通讯协议主要是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备通过互联网进行数据交换及通信。

本文罗列下市面上物联网协议,总结下它们各自特点、特定的物联网应用场景等。

 物联网通信协议的详解及选择建议_设计制作_制造/封装

物联网联接的问题空间

上图为物联网联接的问题空间,其中物联网的通信环境有     Ethernet       Wi-Fi       RFID       NFC   (近距离无线通信),     Zigbee       6L   oWPAN(IPV6低速无线版本),Bluetooth,GSM,GP     RS       GPS   ,3G,4G等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP都是工作在     以太网   ,COAP协议是专门为资源受限设备开发的协议,而DDS和MQTT的兼容性则强很多。

互联网时代,TCP/IP协议已经一统江湖,现在的物联网的通信架构也是构建在传统互联网基础架构之上。在当前的互联网通信协议中,HTTP协议由于开发成本低,开放程度高,几乎占据大半江山,所以很多厂商在构建物联网系统时也基于http协议进行开发。包括google主导的physicweb项目,都是期望在传统web技术基础上构建物联网协议标准。

HTTP协议是典型的CS通讯模式,由客户端主动发起连接,向服务器请求XML或JSON数据。该协议最早是为了适用web浏览器的上网浏览场景和设计的,目前在PC、手机、     pad   等终端上都应用广泛,但并不适用于物联网场景。在物联网场景中其有三大弊端:

1.由于必须由设备主动向服务器发送数据,难以主动向设备推送数据。对于单单的     数据采集   等场景还勉强适用,但是对于频繁的操控场景,只能推过设备定期主动拉取的的方式,实现成本和实时性都大打折扣。

2.安全性不高。web的不安全都是妇孺皆知,HTTP是明文协议,在很多要求高安全性的物联网场景,如果不做很多安全准备工作(如采用https等),后果不堪设想。

3.不同于用户交互终端如pc、手机,物联网场景中的设备多样化,对于运算和存储资源都十分受限的设备,http协议实现、XML/JSON数据格式的解析,都是不可能的任务。

REST/HTTP(松     耦合   服务调用)

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

适用范围:REST/HTTP主要为了简化互联网中的系统架构,快速实现客户端和服务器之间交互的松耦合,降低了客户端和服务器之间的交互延迟。因此适合在物联网的应用层面,通过REST开放物联网中资源,实现服务被其他应用所调用。

特点:

·REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful

·客户端和服务器之间的交互在请求之间是无状态的

·在服务器端,应用程序状态和功能可以分为各种资源,它向客户端公开。资源的例子有:应用程序对象、     数据库   记录、算法等等。每个资源都使用URI(UniversalResourceIden  TI fier)得到一个惟一的地址。所有资源都共享统一的界面,以便在客户端和服务器之间传输状态

·使用的是标准的HTTP方法,比如GET、PUT、POST和DELE     TE  

点评:REST/HTTP其实是互联网中服务调用API封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放RESTAPI的方式,把数据服务开放出去,被互联网中其他应用所调用。

CoAP协议

·CoAP(Constrain     edA   pplica  TI onProtocol),受限应用协议,应用于无线传感网中协议。

适用范围:CoAP是简化了HTTP协议的RESTfulAPI,CoAP是6LowPAN协议栈中的应用层协议,它适用于在资源受限的通信的IP网络。

特点:

报头压缩:CoAP包含一个紧凑的二进制报头和扩展报头。它只有短短的4B的基本报头,基本报头后面跟扩展选项。一个典型的请求报头为10~20B。

方法和URIs:为了实现客户端访问服务器上的资源,CoAP支持GET、PUT、POST和DELETE等方法。CoAP还支持URIs,这是Web架构的主要特点。

传输层使用UDP协议:CoAP协议是建立在UDP协议之上,以减少开销和支持组播功能。它也支持一个简单的停止和等待的可靠性传输机制。

支持异步通信:HTTP对     M2M   (Machine-to-Machine)通信不适用,这是由于事务总是由客户端发起。而CoAP协议支持异步通信,这对M2M通信应用来说是常见的休眠/唤醒机制。

支持资源发现:为了自主的发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。它支持     RF   C5785中的格式,在CoRE中用/.well—known/core的路径表示资源描述。

支持缓存:CoAP协议支持资源描述的缓存以优化其性能。

协议主要实现:

·libcoap(C语言实现)

·Californium(     java   语言实现)

点评:CoAP和6LowPan,这分别是应用层协议和网络适配层协议,其目标是解决设备直接连接到IP网络,也就是IP技术应用到设备之间、互联网与设备之间的通信需求。因为IPV6技术带来巨大寻址空间,不光解决了未来巨量设备和资源的标识问题,互联网上应用可以直接访问支持IPV6的设备,而不需要额外的网关。

MQTT协议(低带宽)

MQTT(MessageQueuingTelemetryTransport),消息队列遥测传输,由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

MQTT在协议设计时就考虑到不同设备的计算性能的差异,所以所有的协议都是采用二进制格式编解码,并且编解码格式都非常易于开发和实现。最小的数据包只有2个字节,对于低功耗低速网络也有很好的适应性。有非常完善的QOS机制,根据业务场景可以选择最多一次、至少一次、刚好一次三种消息送达模式。运行在TCP协议之上,同时支持TLS(TCP+SSL)协议,并且由于所有     数据通信   都经过云端,安全性得到了较好地保障。

适用范围:在低带宽、不可靠的网络下提供基于云平台的远程设备的数据传输和     监控  

特点:

·使用基于代理的发布/订阅消息模式,提供一对多的消息发布

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

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

·支持QoS,有三种消息发布服务质量:“至多一次”,“至少一次”,“只有一次”

协议主要实现和应用:

·已经有PHP,JAVA,     Python   ,C,     C#   等多个语言版本的协议框架

·IBMBluemix的一个重要部分是其     IoT   Founda  TI on服务,这是一项基于云的MQTT实例

·移动应用程序也早就开始使用MQTT,如FacebookMessenger和com等

点评:MQTT协议一般适用于设备数据采集到端(Device-》Server,Device-》Gateway),集中星型网络架构(hub-and-spoke),不适用设备与设备之间通信,设备控制能力弱,另外实时性较差,一般都在秒级。


21
31
0
46

相关资讯

  1. 1、自动焊机怎么调节1598
  2. 2、未来三年我国计算机视觉市场规模将保持高速增长态势3002
  3. 3、谈如何通过简单的质量检测来挑选光纤快速连接器1307
  4. 4、SpaceX龙飞船将于5月27日进行载人首飞530
  5. 5、用户与内核空间数据交换的方式之一:relayfs295
  6. 6、业界首款支持主流移动图像传感器和显示屏协议可编程桥接应用器件499
  7. 7、形成激光传感器的三个必要条件615
  8. 8、物联网安全测试不可忽略的六点要素解析71
  9. 9、效率、安全问题不断?电机电控企业如何打赢技术升级战1741
  10. 10、基于安捷伦CXA信号分析仪的EMI预兼容测试方案2496
全部评论(0)
我也有话说
0
收藏
点赞
顶部