物联网通信协议

原创 2017年05月07日 09:38:09

为了方便,将物联网通信协议分为两大类,一类是接入协议,一类是通讯协议。接入协议一般负责子网内设备间的组网及通信;通讯协议主要是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备通过互联网进行数据交换及通信。本文介绍以通讯协议为主。

先说接入协议

市场上常见的有zigbee、蓝牙以及wifi协议等。

一、zigbee

zigbee目前在工业控制领域应用广泛,在智能家居领域也有一定应用。它有以下主要优势:

1. 低成本。zigbee协议数据传输速率低,协议简单,所以开发成本也比较低。并且zigbee协议还免收专利费用~

2. 低功耗。由于zigbee协议传输速率低,节点所需的发射功率仅1mW,并采用休眠+唤醒模式,功耗极低。

3. 自组网。通过zigbee协议自带的mesh功能,一个子网络内可以支持多达65000个节点连接,可以快速实现一个大规模的传感网络。

4. 安全性。使用crc校验数据包的完整性,支持鉴权和认证,并且采用aes-128对传输数据进行加密。

zigbee协议的最佳应用场景是无线传感网络,比如水质监测、环境控制等节点之间需要自组网传输数据的工业场景中。在这些场景中zigbee协议的优势发挥的非常明显。目前国内外很多厂商也将zigbee运用在智能家居方案中,比如今年年初小米发布的“小米智能家居套装”。

为什么厂商会抛弃使用比较广泛的wifi及蓝牙协议,而采用zigbee呢,主要有以下原因:

1. 刚才提到zigbee协议有很强的自组网能力,可以支持几万设备,特别对于小米这种想构建智能家居生态链的企业,wifi和蓝牙的设备连接数量目前都是硬伤。

2. 目前zigbee协议还很难轻易被破解,而其他协议在安全性上一直为人诟病。

3. 很多智能家居产品如门磁为了使用方便,一般采用内置电池。此时zigbee的超低功耗大大提升了产品体验。

但是zigbee协议也有不足,主要就是它虽然可以方便的组网但不能接入互联网,所以zigbee网络中必须有一个节点充当路由器的角色(比如小米智能家居套装中的智能网关),这提高了成本并且增加了用户使用门槛。同时由于zigbee协议数据传输速率低,对于大流量应用如流媒体、视频等,基本是不可能。

相对wifi和蓝牙协议这些年的快速发展和商业普及,zigbee协议尽管在技术设计和架构上拥有很大优势,但是技术更新太慢,同时在市场推广中也被竞争对手拉开了差距。后续zigbee协议在行业领域还是有很大空间,但是家用及消费领域要挑战wifi及蓝牙协议不是那么容易了。

二、蓝牙

蓝牙目前已经成为智能手机的标配通信组件,其迅速发展的原因包括:

1. 低功耗。我认为这是蓝牙4.0的大杀器~使用纽扣电池的蓝牙4.0设备可运行一年以上,这对不希望频繁充电的可穿戴设备具有十分大的吸引力。当前基本世面上的可穿戴设备基本都选用蓝牙4.0方案。

2. 智能手机的普及。近年来支持蓝牙协议基本成为智能手机的标配,用户无需购买额外的接入模块。

值得关注的是蓝牙4.2版本近期推出,加入mesh组网功能,向zigbee发出了强有力的挑战。

三、wifi

wifi协议和蓝牙协议一样,目前也得到了非常大的发展。由于前几年家用wifi路由器以及智能手机的迅速普及,wifi协议在智能家居领域也得到了广泛应用。wifi协议最大的优势是可以直接接入互联网。相对于zigbee,采用wifi协议的智能家居方案省去了额外的网关,相对于蓝牙协议,省去了对手机等移动终端的依赖。

相当于蓝牙和zigbee,wifi协议的功耗成为其在物联网领域应用的一大瓶颈。但是随着现在各大芯片厂商陆续推出低功耗、低成本的wifi soc(如esp8266),这个问题也在逐渐被解决。

谁将一统江湖?

wifi协议和蓝牙协议谁会在物联网领域一统江湖?这是目前讨论比较多的一个话题。wifi和蓝牙的各自在技术的优势双方都可以在协议升级的过程中互相完善,目前两个协议都在往“各取所长”的方向发展。最终谁能占据主导,可能更重要的是商业力量和市场决定的。短期内各个协议肯定是适用不同的场景,都有存在的价值。

再说通讯协议

对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议包括:HTTP、websocket、XMPP、COAP、MQTT(其他资料


一、HTTP和websocket

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

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

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

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

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

所以,攀多物联团队在设计物联网云平台时,也只是在针对手机或PC的用户时,采用HTTP协议,针对设备的物联网接入没有采用HTTP协议。

当然,依然有不少厂商由于开发方便的原因,选择基于HTTP协议构架物联网系统,在设备资源允许的情况下,怎么避免上面提到的数据推送实时性低的问题呢?

websocket是一个可行的办法。websocket是HTML5提出的基于TCP之上的可支持全双工通信的协议标准,其在设计上基本遵循HTTP的思路,对于基于HTTP协议的物联网系统是一个很好的补充。

二、XMPP

由于物联网设备通信的模式和互联网中的即时通讯应用非常相似,互联网中常用的即时通讯协议也被大量运用于物联网系统构建中,这其中的典型是XMPP。

XMPP是基于XML的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。前段时间报出的黑客轻松破解的TCL洗衣机,正是采用XMPP协议。

无论是HTTP、websocket还是XMPP,在设计时都是根据互联网应用场景设计的,虽然很多厂商把他们应用在物联网系统中,但是必然会水土不服,这些协议的通病就是根本无法适用物联网设备的多样性,无法适用很多物联网设备对低功耗、低成本的需求,难以在极低资源的物联网设备中运用。能不能有协议既可以借用web技术的设计思想,同时又能适应恶劣的物联网设备运行环境呢?

COAP协议应运而生了。

三、COAP

COAP协议的设计目标就是在低功耗低速率的设备上实现物联网通信。coap和HTTP协议一样,采用URL标示需要发送的数据,在协议格式的设计上也基本是参考HTTP协议,非常容易理解。同时做了以下几点优化:

1. 采用UDP而不是TCP。这省去了TCP建立连接的成本及协议栈的开销。

2. 将数据包头部都采用二进制压缩,减小数据量以适应低网络速率场景。

3. 发送和接收数据可以异步进行,这样提升了设备响应速度。

COAP协议就像一个针对物联网场景的http移植品,很多设计保留了HTTP协议的影子,拥有web背景的开发者也能快速上手。但是由于很多物联网设备隐藏在局域网内部,coap设备作为服务器无法被外部设备寻址,在ipv6没有普及之前,coap只能适用于局域网内部(如wifi)通信,这也很大限制了它的发展。

四、MQTT协议

 

MQTT协议就很好的解决了coap存在的问题。MQTT协议是由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。

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

当前的物联网通信协议真的是百花齐放,没有任何协议能够在市场上占有统治地位。但要实现物联网设备互联互通(不同厂商、不同平台、不同架构),关键点并不在上述接入协议或通讯协议的统一,而在于上层业务应用层协议的统一。无论是wifi、蓝牙、亦或是mqtt、http都是设备进行数据通讯和交换的通道,规定的是通讯的格式;而通讯的内容的统一才是实现互联互通的关键。

五、DDS

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


  适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS已经广泛应用于国防、民航、工业控制等领域。


  特点:


  · 以数据为中心


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


  · 提供多大21种QoS服务质量策略


  协议主要实现:


  · OpenDDS 是一个开源的 C++ 实现


  · OpenSplice DDS


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

版权声明:本文为博主原创文章,未经博主允许不得转载。

Google物联网操作系统协同框架Weave深度解析

1.       Google Weave框架在2015年的Google I/O大会上,负责Android业务的桑达.皮查伊(SundarPichai)宣布了Google最新的物联网战略。这包括一个基...
  • hellochina15
  • hellochina15
  • 2016年07月20日 16:58
  • 7271

物联网架构分析之一:传输协议选择

物联网应用、移动互联应用,在数据传输协议的选择上,需要充分考虑协议的通用性、扩展性,需要考虑带宽、流量、省电等因素。目前主要的物联网传输协议标准包括:MQTT、CoAP、XMPP、RESTful HT...
  • u011270338
  • u011270338
  • 2015年08月25日 10:05
  • 2156

MQTT-新一代物联网协议

MQTT - MQ Telemetry Transport   轻量级的 machine-to-machine 通信协议。 publish/subscribe模式。 基于TCP/IP。 支持Q...
  • huayucong
  • huayucong
  • 2016年07月28日 16:10
  • 4522

物联网通信协议之MQTT

物联网并不仅仅是一种网络,而是一个新的生态环境,它描述的本质是越来越多的使用物品通过网络连接在一起并可使用单个或者多个的终端设备对它们进行各种控制和使用—当然,工业上的物联网通常连接到的石鼓传感器或者...
  • cheng401733277
  • cheng401733277
  • 2017年04月10日 18:09
  • 273

基础技术篇 9 ——物联网常见通信协议与通讯协议梳理【上】- 通讯协议

微信公众号“智物客”和您免费分享物联网、智慧城市相关技术和项目解决方案。本文从物联网体系各层协议入手,重点分析了物联网体系常用的通讯协议,在下半部分,笔者将分享物联网体系的通信协议。...
  • illusion116
  • illusion116
  • 2017年07月17日 01:36
  • 542

基础技术篇 10 ——物联网常见通信协议与通讯协议梳理【下】- 通信协议

微信公众号“智物客”和您免费分享物联网、智慧城市相关技术和项目解决方案。在上文分析物联网常用通讯协议的基础上,本文按近距离通信、远距离蜂窝通信、远距离非蜂窝通信、有线通信4个方面分享了物联网常用通信协...
  • illusion116
  • illusion116
  • 2017年07月18日 23:21
  • 480

【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信

基于.NET Micro Framework嵌入式系统,通过http协议和微软Azure IoT Hub运行进行通信连接。...
  • yefanqiu
  • yefanqiu
  • 2017年02月13日 20:27
  • 9272

物联网通讯协议

  • 2014年11月14日 13:46
  • 34KB
  • 下载

mqtt物联网数据传输协议

  • 2017年06月03日 18:47
  • 1007KB
  • 下载

论文《基于物联网架构的EPC无线通讯协议研究》

  • 2010年06月09日 17:36
  • 7.34MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:物联网通信协议
举报原因:
原因补充:

(最多只允许输入30个字)