在过去的10年里,物联网技术变得更加经济有效。[常用物联网协议汇总,究竟该用哪一个?附优缺点对比]。设备成本更便宜、更节能,体型也更小,而且功能也越来越优化,可以在物联网架构中扮演特定的角色,以创建新的业务模型。在接下来的20年里,我们可以将一万亿台设备连接到互联网上。连接的设备越多,就越能够发现更多的业务改进机会,并利用物联网来实现这些机会。
现在,必要的物联网技术已经接近成熟,功能性物联网解决方案也正在加速落地。一股物联网的浪潮已经开始冲击市场,它们有着各种各样的架构、功能集和应用程序。虽然在投资物联网硬件或完整的物联网解决方案时需要考虑诸多因素,但了解物联网传感器可用的协议,以及前瞻性的商业决策者如何做出协议的最佳选择,无论是目前还是长期,都是至关重要的。
如何选择物联网协议?
物联网协议是物联网系统节点使用的网络语言,对物联网解决方案的整体部署的可行性至关重要。协议规定了物联网解决方案通信的范围、格式和复杂性,并在确定成本和功能性方面发挥关键作用。
因此,如果你对部署你自己的物联网感兴趣,那应该如何选择一个适合的需求和规模的协议呢?有两个关键要素需要考虑:
功耗——传感器需要在电池供电的情况下使用几天、几个月或几年?他们需要多久发送一次数据?是否考虑使用一次性设备,还是使用可替换或可充电的电池?
连通性——通信必须覆盖哪些范围,以及它们需要在每条消息中发送多少数据?蜂窝网络供应商是否能维护我们的连接,或者你更愿意构建私有网络来运行数据?
当物联网部署的需求涉及连通性时,通常会考虑:最低要求的物联网设置?用于联网的是家庭或办公室?是否可在普通Wi-Fi网络上运行?所有组件均需连续供电?
对于需要小容量数据传输的较大区域,如农场、校园或城市,独立的低功耗广域网(LPWAN)是最理想的解决方案——LoRaWAN和SigFox是最流行的两种低功耗广域网。当谈到覆盖区域和跨越边界时,像NB-IoT或Cat-M这样的蜂窝协议可能看起来更实用。
当涉及到功耗、覆盖范围和成本时,两者各有优缺点。
许多通信技术众所周知,如WiFi,蓝牙,ZigBee和2G / 3G / 4G蜂窝,但也有几个新兴的新兴网络选项,如线程作为家庭自动化应用的替代品,以及在主要城市实施的空白电视技术用于更广泛的基于IoT的用例。
根据应用,范围,数据要求,安全性和功率需求以及电池寿命等因素将决定某种形式的技术组合的选择。这些是向开发人员提供的一些主要通信技术。
蓝牙
重要的短距离通信技术当然是蓝牙技术,在计算和许多消费品市场中已经变得非常重要。预计这是可穿戴产品的关键,特别是连接到物联网,尽管可能通过智能手机在许多情况下。新的蓝牙低功耗(BLE)或蓝牙智能(如现在已被标注)是物联网应用的重要协议。重要的是,虽然它提供了与蓝牙类似的范围,但它的设计旨在显着降低功耗。
但是,Smart / BLE并不是真正设计用于文件传输,更适合于小块数据。鉴于其在智能手机和许多其他移动设备上的广泛集成,因此在许多竞争技术的个人设备环境中肯定具有重大优势。根据蓝牙SIG,超过90%的蓝牙智能手机,包括iOS,Android和Windows的型号,预计到2018年将“智能就绪”。
使用蓝牙智能功能的设备包含了基于射频收发器,基带和协议栈的基本数据速率和低能量核心配置的蓝牙核心规范版本4.0(或更高版本 - 2014年底最新版本4.2) 。重要的是,版本4.2通过其互联网协议支持配置文件将允许蓝牙智能传感器通过6LoWPAN连接直接访问互联网(下面更多)。这种IP连接使得可以使用现有的IP基础设施来管理蓝牙智能边缘设备。有关蓝牙4.2的更多信息,可从RS获得各种蓝牙模块。
标准:蓝牙4.2核心规格
频率:2.4GHz(ISM)
范围:50-150米(智能/ BLE)
数据速率:1Mbps(智能/ BLE)
Zigbee
ZigBee像蓝牙一样具有大量的操作基础,尽管传统上在工业环境中也是如此。ZigBee PRO和ZigBee远程控制(RF4CE)以及其他可用的ZigBee配置文件均基于IEEE802.15.4协议,该协议是以2.4GHz为目标的行业标准无线网络技术,针对的应用程序需要相对不频繁的数据交换,在限制区域内的距离在100米范围内,例如在家庭或建筑物中。
ZigBee / RF4CE在复杂系统中具有一些显着的优势,提供低功耗操作,高安全性,鲁棒性和高可扩展性,具有高节点数量,并且有能力利用M2M和IoT应用中的无线控制和传感器网络。ZigBee的最新版本是最近推出的3.0版本,它基本上是将各种ZigBee无线标准统一为单一标准。ZigBee开发的示例产品和套件包括TI的CC2538SF53RTQT ZigBee片上系统集成电路和CC2538 ZigBee开发套件。
标准:基于IEEE802.15.4的ZigBee 3.0
频率:2.4GHz
范围:10-100米
数据速率:250kbps
Z波
Z-Wave是一种低功耗射频通信技术,主要用于诸如灯控制器和传感器之类的产品的家庭自动化。针对数据速率高达100kbit / s的小数据数据包的可靠和低延迟通信进行了优化,其工作在1GHz频段,并且不受WiFi和其他无线技术在2.4 GHz范围内的干扰,如蓝牙或ZigBee。它支持全网状网络,而不需要协调器节点,并且是非常可扩展的,可以控制多达232个设备。Z-Wave使用比其他一些更简单的协议,可以实现更快更简单的开发,但与其他无线技术(如ZigBee等)的多种来源相比,唯一的芯片制造商是Sigma Designs。
标准:Z-Wave Alliance ZAD12837 / ITU-T G.9959
频率:900MHz(ISM)
范围:30m
数据速率:9.6 / 40 / 100kbit / s
6LowPAN
基于IP(Internet Protocol)的技术是6LowPAN(IPv6低功率无线个人区域网络)。6LowPAN不是像蓝牙或ZigBee这样的IoT应用协议技术,而是一种定义封装和头压缩机制的网络协议。该标准具有频带和物理层的自由度,也可以在多种通信平台上使用,包括以太网,Wi-Fi,802.15.4和sub-1GHz ISM。一个关键的属性是IPv6(互联网协议版本6)堆栈,这是近年来非常重要的介绍,以实现物联网。IPv6是IPv4的后继者,为世界上每个人提供大约5 x 1028个地址,使世界上任何嵌入式对象或设备都拥有自己的唯一IP地址并连接到互联网。例如,IPv6专为家庭或楼宇自动化设计,提供了一种基本的传输机制,可以通过低功耗无线网络以成本效益的方式生产复杂的控制系统和与设备进行通信。
该标准旨在通过基于IEEE802.15.4的网络发送IPv6数据包,并实施开放IP标准,包括TCP,UDP,HTTP,COAP,MQTT和Websockets,该标准提供端对端可寻址节点,允许路由器将网络连接到IP。6LowPAN是一种网状网络,具有强大的可扩展性和自愈性。网状路由器设备可以路由指定给其他设备的数据,而主机能够长时间睡眠。这里有6LowPAN的解释,TI提供。
标准:RFC6282
频率:(适用于各种其他网络媒体,包括蓝牙智能(2.4GHz)或ZigBee或低功率射频(亚1GHz)
范围:N / A
数据速率:N / A
线程
线程是一种针对家庭自动化环境的新型基于IP的IPv6网络协议。基于6LowPAN,也喜欢它,它不是像蓝牙或ZigBee这样的IoT应用协议。然而,从应用的角度来看,它主要被设计为WiFi的补充,因为它识别出WiFi对于许多消费者设备而言是有利的,它在家庭自动化设置中使用的限制。
线程组于2014年中推出,免版税协议基于各种标准,包括IEEE802.15.4(作为无线空中接口协议),IPv6和6LoWPAN,并为物联网提供了一种弹性的基于IP的解决方案。Thread专为从现有的IEEE802.15.4无线芯片供应商(如飞思卡尔和Silicon Labs)工作,Thread支持使用IEEE802.15.4无线电收发器的网状网络,能够处理多达250个具有高级别身份验证和加密的节点。相对简单的软件升级应允许用户在现有的支持IEEE802.15.4的设备上运行线程。
标准:线程,基于IEEE802.15.4和6LowPAN
频率:2.4GHz(ISM)
范围:N / A
数据速率:N / A
无线上网(WIFI)
WiFi连接通常是许多开发人员的明显选择,特别是考虑到局域网内家庭环境中WiFi的普及。除了明确指出,现有基础架构广泛,并提供快速的数据传输和处理大量数据的能力,这不需要进一步的解释。
目前,在家庭和许多企业中使用的最常见的WiFi标准是802.11n,其提供了在数百兆比特每秒的严格吞吐量,这对于文件传输是很好的,但对于许多IoT应用来说可能太耗电了。RS提供了一系列用于构建基于WiFi的应用的RF开发套件。
标准:基于802.11n(今天最常见的用途)
频率:2.4GHz和5GHz频段
范围:约50m
数据速率:最大600 Mbps,但根据所使用的通道频率和天线数量(最新的802.11-ac标准应提供500Mbps至1Gbps),150-200Mbps更为典型。
蜂窝
需要更长距离运行的IoT应用程序可以利用GSM / 3G / 4G蜂窝通信功能。虽然蜂窝电话显然能够发送大量的数据,特别是对于4G,但对于许多应用来说,费用和功耗将会太高,但是对于传输速度非常低的基于传感器的低带宽数据项目来说,这是非常理想的互联网上的数据量。该领域的一个关键产品是SparqEE系列产品,包括原始的小型CELLv1.0低成本开发板和一系列与Raspberry Pi和Arduino平台一起使用的屏蔽连接板。
标准:GSM / GPRS / EDGE(2G),UMTS / HSPA(3G),LTE(4G)
频率:900/1800/1900 / 2100MHz
范围:GSM最大35km; HSPA最长200公里
数据速率(典型下载):35-170kps(GPRS),120-384kbps(EDGE),384Kbps-2Mbps(UMTS),600kbps-10Mbps(HSPA),3-10Mbps
NFC
NFC(近场通信)是一种技术,能够实现电子设备之间的简单和安全的双向交互,特别适用于智能手机,允许消费者执行非接触式支付交易,访问数字内容和连接电子设备。本质上它扩展了非接触式卡技术的能力,并使设备能够在距离小于4cm的情况下共享信息。此处提供更多信息。
标准:ISO / IEC 18000-3
频率:13.56MHz(ISM)
范围:10厘米
数据速率:100-420kbps
Sigfox
标题另一种广泛的技术是Sigfox,它的范围在WiFi和蜂窝之间。它使用可免费使用的ISM频带,而不需要获取许可证,以便在非常窄的频谱范围内将数据传输到连接对象和从连接对象传输数据。Sigfox的想法是,对于运行在小型电池上的许多M2M应用程序,只需要低级别的数据传输,则WiFi的范围太短,而蜂窝电话太贵,并且功耗太大。Sigfox使用一种称为超窄带(UNB)的技术,仅用于处理每秒10至1,000位的低数据传输速度。与5000微瓦相比,蜂窝通信消耗的电量仅为50微瓦,或者可以通过2.5Ah电池提供典型的待机时间20年,而蜂窝电话仅为0.2年。
已经部署在成千上万个连接对象中,该网络目前正在欧洲主要城市推出,其中包括英国的十个城市。该网络提供了一个强大的,功率高效和可扩展的网络,可以与数百万个电池供电设备在几平方公里的区域进行通信,使其适用于预期包括智能电表,病人监视器,安全设备,街道照明和环境传感器。Sigfox系统使用Silicon Labs等EZRadioPro无线收发器等硅片,为在1GHz以下频段工作的无线网络应用提供行业领先的无线性能,扩展范围和超低功耗。
标准:Sigfox
频率:900MHz
范围:30-50公里(农村环境),3-10公里(城市环境)
数据速率:10-1000bps
Neul
与Sigfox相似,在1GHz频段内运行,Neul利用电视白空间频谱的小片,提供高可扩展性,高覆盖率,低功耗和低成本无线网络。系统基于Iceni芯片,其使用白色空间无线电进行通信,以访问高质量的UHF频谱,由于模拟到数字电视转换,现在可用。通信技术称为无重量,是一种为IoT设计的新型广域无线网络技术,与现有的GPRS,3G,CDMA和LTE WAN解决方案大有竞争。数据速率可以是在同一个单一链路上从每秒几位到100kbps的任何数据速率;并且设备可以从2xAA电池消耗少至20至30mA,这意味着在现场10至15年。
标准:Neul
频率:900MHz(ISM),458MHz(英国),470-790MHz(白色空间)
范围:10公里
数据速率:最少可达100kbps
LoRaWAN
Again在某些方面与Sigfox和Neul类似,LoRaWAN针对广域网(WAN)应用,旨在为具有特定功能的低功率WAN提供支持,以便在IoT,M2M和M2M中支持低成本移动安全双向通信智能城市和工业应用。针对低功耗优化并支持具有数百万和数百万台设备的大型网络,数据速率范围为0.3 kbps至50 kbps。
标准:LoRaWAN
频率:各种
范围:2-5公里(城市环境),15公里(郊区环境)
数据速率:0.3-50 kbps。
对于物联网,最重要的是在互联网中设备与设备的通讯,现在物联网在internet通信中比较常见的通讯协议包括:HTTP、websocket、XMPP、COAP、MQTT
1、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”
HTTP的连接问题,HTTP客户端和服务器之间的交互是采用请求/应答模式,在客户端请求时,会建立一个HTTP连接,然后发送请求消息,服务端给出应答消息,然后连接就关闭了。(后来的HTTP1.1支持持久连接)
因为TCP连接的建立过程是有开销的,如果使用了SSL/TLS开销就更大。
在浏览器里,一个网页包含许多资源,包括HTML,CSS,JavaScript,图片等等,这样在加载一个网页时要同时打开连接到同一服务器的多个连接。
HTTP消息头问题,现在的客户端会发送大量的HTTP消息头,由于一个网页可能需要50-100个请求,就会有相当大的消息头的数据量。
HTTP通信方式问题,HTTP的请求/应答方式的会话都是客户端发起的,缺乏服务器通知客户端的机制,在需要通知的场景,如聊天室,游戏,客户端应用需要不断地轮询服务器。
当然,依然有不少厂商由于开发方便的原因,选择基于HTTP协议构架物联网系统,在设备资源允许的情况下,怎么避免上面提到的数据推送实时性低的问题呢?
websocket是一个可行的办法。websocket是HTML5提出的基于TCP之上的可支持全双工通信的协议标准,其在设计上基本遵循HTTP的思路,对于基于HTTP协议的物联网系统是一个很好的补充。
但是问题是:http+websocket的方式,协议开销代价太大。如果让一个单片机去实现这样的协议,性能会很吃力。
2、XMPP
由于物联网设备通信的模式和互联网中的即时通讯应用非常相似,互联网中常用的即时通讯协议也被大量运用于物联网系统构建中,这其中的典型是XMPP。
XMPP是基于XML的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。前段时间报出的黑客轻松破解的TCL洗衣机,正是采用XMPP协议。
无论是HTTP、websocket还是XMPP,在设计时都是根据互联网应用场景设计的,虽然很多厂商把他们应用在物联网系统中,但是必然会水土不服,这些协议的通病就是根本无法适用物联网设备的多样性,无法适用很多物联网设备对低功耗、低成本的需求,难以在极低资源的物联网设备中运用。能不能有协议既可以借用web技术的设计思想,同时又能适应恶劣的物联网设备运行环境呢?
3、COAP
COAP协议的设计目标就是在低功耗低速率的设备上实现物联网通信。coap和HTTP协议一样,采用URL标示需要发送的数据,在协议格式的设计上也基本是参考HTTP协议,非常容易理解。同时做了以下几点优化:
1. 采用UDP而不是TCP。这省去了TCP建立连接的成本及协议栈的开销。
2. 将数据包头部都采用二进制压缩,减小数据量以适应低网络速率场景。
3. 发送和接收数据可以异步进行,这样提升了设备响应速度。
COAP协议就像一个针对物联网场景的http移植品,很多设计保留了HTTP协议的影子,拥有web背景的开发者也能快速上手。但是由于很多物联网设备隐藏在局域网内部,coap设备作为服务器无法被外部设备寻址,在ipv6没有普及之前,coap只能适用于局域网内部(如wifi)通信,这也很大限制了它的发展。
4、MQTT协议
MQTT协议就很好的解决了coap存在的问题。MQTT协议是由IBM开发的即时通讯协议,相比来说比较适合物联网场景的通讯协议。MQTT协议采用发布/订阅模式,所有的物联网终端都通过TCP连接到云端,云端通过主题的方式管理各个设备关注的通讯内容,负责将设备与设备之间消息的转发。
- 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
- 对负载内容屏蔽的消息传输。
- 使用 TCP/IP 提供网络连接。
- 有三种消息发布服务质量:
- "至多一次",消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
- "至少一次",确保消息到达,但消息重复可能会发生。
- "只有一次",确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
- 小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
- 使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。
MQTT在协议设计时就考虑到不同设备的计算性能的差异,所以所有的协议都是采用二进制格式编解码,并且编解码格式都非常易于开发和实现。最小的数据包只有2个字节,对于低功耗低速网络也有很好的适应性。有非常完善的QOS机制,根据业务场景可以选择最多一次、至少一次、刚好一次三种消息送达模式。运行在TCP协议之上,同时支持TLS(TCP+SSL)协议,并且由于所有数据通信都经过云端,安全性得到了较好地保障。
当前的物联网通信协议真的是百花齐放,没有任何协议能够在市场上占有统治地位。但要实现物联网设备互联互通(不同厂商、不同平台、不同架构),关键点并不在上述接入协议或通讯协议的统一,而在于上层业务应用层协议的统一。无论是wifi、蓝牙、亦或是mqtt、http都是设备进行数据通讯和交换的通道,规定的是通讯的格式;而通讯的内容的统一才是实现互联互通的关键。
5、DDS
DDS(Data Distribution Service for Real-Time Systems),面向实时系统的数据分布服务,这是大名鼎鼎的OMG组织提出的协议,其权威性应该能证明该协议的未来应用前景。
适用范围:分布式高可靠性、实时传输设备数据通信。目前DDS已经广泛应用于国防、民航、工业控制等领域。
特点:
• 以数据为中心
• 使用无代理的发布/订阅消息模式,点对点、点对多、多对多
• 提供多大21种QoS服务质量策略
协议主要实现:
• OpenDDS 是一个开源的 C++ 实现
• OpenSplice DDS
DDS很好地支持设备之间的数据分发和设备控制,设备和云端的数据传输,同时DDS的数据分发的实时效率非常高,能做到秒级内同时分发百万条消息到众多设备。DDS在服务质量(QoS)上提供非常多的保障途径,这也是它适用于国防军事、工业控制这些高可靠性、可安全性应用领域的原因。但这些应用都工作在有线网络下,在无线网络,特别是资源受限的情况下,没有见到过实施案例。
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。