【深入浅出】物联网:常见IoT协议最全指南

参考自:https://zhuanlan.zhihu.com/p/471129057
    https://blog.csdn.net/qq_38998213/article/details/120561076
    https://mp.weixin.qq.com/s/yzoPUVmUsO2nufV7w9fWOQ
    http://www.etagrfid.com/News/1602.html

文章目录

  • 一、什么是物联网?
  • 1. 物联网也是互联网
  • 2. 物联网的主体是“物”
  • 3. 物联网和人工智能
  • 4. 物联网的现状与前景
  • 二、常见的物联网通信协议
  • 1. 物理层、数据链路层协议
  • 1.1 远距离蜂窝通信
  • 1.2 远距离非蜂窝通信
  • 1.3 近距离通信
  • 1.4 有线通信
  • 2. 网络层、传输协议
  • 3. 应用层协议
  • 4. 部分通信协议比较
  • 一、什么是物联网?

    物联网(Internet of Things) 这个概念读者应该不会陌生。物联网的概念最早于1999年被提出来,曾被称为继计算机、互联网之后,世界信息产业发展的第三次浪潮,到现在已经发展了20余年。

    如今,在日常生活中,我们已经可以接触到非常多的物联网产品,例如各种智能家电、智能门锁等,这些都是物联网技术比较成熟的应用。

    物联网最早的定义是:把所有物品通过射频识别等信息传感设备与互联网连接起来,实现智能化识别和管理。 当然,物联网发展到今天,它的定义和范围已经有了扩展与变化,下面是现代物联网具有的特点。

    1. 物联网也是互联网

    物联网,即物的互联网,属于互联网的一部分。物联网将互联网的基础设施作为信息传递的载体,即现代的物联网产品一定是“物”通过某种方式接入了互联网,而“物”通过互联网上传/下载数据,以及与人进行交互。

    举个 通过手机App远程启动汽车的例子,当用户通过App完成启动操作时,指令从已接入互联网的手机发送到云端平台,云端平台找到已接入互联网的车端电脑,然后下发指令,车端电脑执行启动命令,并将执行的结果反馈到云端平台;同时,用户的这次操作被记录在云端,用户可以随时从App上查询远程开锁记录历史。

    这就是一个典型的物联网场景,它是属于互联网应用的一种。“物”接入互联网,数据和信息通过互联网交互,同时数据和其他互联网应用一样汇聚到了云端。

    2. 物联网的主体是“物”

    前面说现代物联网应用是一种互联网应用,但是物联网应用和传统互联网应用又有一个很大的不同,那就是传统互联网生产和消费数据的主体是人,而 现代物联网生产和消费数据的主体是物

    在现代物联网的应用场景下,数据的生产方是“物”,比如智能设备或者传感器,数据的消费者往往也是“物”。

    智慧农业 的应用中,孵化室中的温度传感器将孵化室中的温度周期性地上传到控制中心。当温度低于一定阈值时,中心按照预设的规则远程打开加温设备。在这一场景中,数据的生产者是温度传感器,数据的消费者是加温设备,二者都是“物”,人并没有直接参与其中。

    物联网和传统互联网最大的不同:数据的生产者和消费者主要是物,数据内容也是和“物”息息相关的。

    3. 物联网和人工智能

    人工智能可谓近年来IT领域最火的词语之一。纵观人工智能的发展路线,我们可以看到,人工智能的发展之所以能够突飞猛进,主要有以下两个原因。

  • 硬件的发展使得深度学习神经网络的学习时间迅速缩短。
  • 在大数据的时代,获取大量数据的成本变低。
  • 事实上,第二个原因尤为重要,神经网络由于其特性,需要海量的数据进行学习,可供学习的有效数据量往往决定了最后训练出的神经网络的效果,甚至算法的重要性都可以排在数据量之后。

    而物联网设备,比如智能家电、可穿戴设备等,每天都在产生海量的数据,这些数据经过处理和清洗后,都可以作为不错的训练数据反哺神经网络。 同时,训练出来的神经网络又可以重新应用到物联网设备中,进而形成一个良性循环。


    图1-1所示为物联网应用人工智能方法进行数据采集-迭代的循环。通过物联网设备采集并训练数据,在数据中心完成训练后,将模型应用到物联网设备,并评估效果进行下一次迭代。

    物联网是人工智能落地的一个非常好的应用场景。随着人工智能的迅速发展,物联网这个同样在很多年前就提出的理论和技术,也会迎来新的春天。

    目前,互联网数据入口渐渐朝几大巨头(例如阿里、腾讯)汇聚,规模较小的公司获取数据的代价越来越高,物联网这块还未完全开发的数据领域就显得尤为重要。

    前端设备最终会趋于相同,出现同质化竞争,而如何采集和使用好设备产生的海量数据,才是你是否具有竞争优势的决定性因素。

    4. 物联网的现状与前景

    随着5G时代的来临,物联网的发展将会非常迅速。同时,物联网方向的新增融资也一直处于上升趋势。下面再从应用场景角度来谈一下物联网行业的发展前景。

    物联网的应用场景非常广泛,包括:

  • 智慧城市
  • 智慧建筑
  • 车联网
  • 智慧社区
  • 智能家居
  • 智慧医疗
  • 工业物联网
  • 在不同的场景下,物联网应用的差异非常大,终端和网络架构的异构性强,这意味着在物联网行业存在足够多的细分市场,这就很难出现一家在市场份额上具有统治力的公司,同时由于市场够大,所以能够让足够多的公司存活。这种情况在互联网行业是不常见的,互联网行业的头部效应非常明显,市场绝大部分份额往往被头部的两三家公司占据。

    物联网模式相对于互联网模式来说更“重”一些。物联网的应用总是伴随着前端设备,这也就意味着用户的切换成本相对较高,毕竟拆除设备、重新安装设备比动动手指重新下载一个应用要复杂不少。

    这也就意味着,资本的推动力在物联网行业中相对更弱。如果你取得了先发优势,那么后来者想光靠资本的力量赶上或者将你挤出市场,那他付出的代价要比在互联网行业中大得多。

    所以说,物联网行业目前仍然是一片蓝海,小规模公司在这个行业中也完全有能力和大规模公司同台竞争。在AI和区块链的热度冷却后,物联网很有可能会成为下一个风口。作为程序员,在风口来临之前,提前进行一些知识储备是非常有必要的。

    二、常见的物联网通信协议

    随着物联网设备数量的持续增加,这些设备之间的通信或连接已成为一个重要的思考课题。通信对物联网来说十分常用且关键,无论是近距离无线传输技术还是移动通信技术,都影响着物联网的发展。而在通信中,通信协议 尤其重要,是双方实体完成通信或服务所必须遵循的规则和约定。

    本文介绍了几个可用的物联网通信协议,它们具有不同的性能、数据速率、覆盖范围、功率和内存,而且每一种协议都有各自的优点和或多或少的缺点。其中一些通信协议只适合小型家用电器,而其他一些通信协议则可以用于大型智慧城市项目。

    物联网通信协议分为两大类:

  • 一类是接入协议:一般负责子网内设备间的组网及通信

  • 一类是通讯协议:主要是运行在传统互联网TCP/IP协议之上的设备通讯协议,负责设备通过互联网进行数据交换及通信。

  • 1. 物理层、数据链路层协议

    1.1 远距离蜂窝通信

    (1)2G/3G/4G通信协议,分别指第二、三、四代移动通信系统协议。

    (2)NB-IoT

    窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。
    NB-IoT构建于蜂窝网络,只消耗大约180kHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。设备安装支持NB-IoT的芯片和相应的物联网卡,然后连接到NB-IoT基站就可以接入互联网。而且NB-IoT协议不像LoRaWAN协议那样需要网关进行协议转换,接入的设备可以直接使用IP网络进行数据传输。NB-IoT聚焦于低功耗广覆盖 (LPWA,Low Power Wide Area Network) 物联网(IoT)市场,即低功耗广域网,是一种可在全球范围内广泛应用的新兴技术。具有覆盖广、连接多、速率快、成本低、功耗低、架构优等特点。

    NB-IoT协议相比传统的基站,增益提高了约20dB,可以覆盖到地下车库、管道、地下室等之前信号难以覆盖的地方。

    应用场景:NB-IoT网络带来的场景应用包括智能停车、智能消防、智能水务、智能路灯、共享单车和智能家电等。

    (3)5G

    第五代移动通信技术,是最新一代蜂窝移动通信技术。5G的性能目标是高数据速率、减少延迟、节省能源、降低成本、提高系统容量和大规模设备连接。

    应用场景:AR/VR、车联网、智能制造、智慧能源、无线医疗、无线家庭娱乐、联网无人机、超高清/全景直播、个人AI辅助、智慧城市。

    1.2 远距离非蜂窝通信

    (1)WiFi

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

    商用WiFi在城市公共交通、商场等公共场所的覆盖,将商用WiFi的场景应用潜力表露无疑。

    (2)ZigBee

    ZigBee是一种低速短距离传输的无线通信协议,是一种高可靠的无线数传网络,主要特色有低速、低耗电、低成本、支持大量网上节点、支持多种网上拓扑、低复杂度、快速、可靠、安全。ZigBee技术是一种新型技术,它最近出现,主要是依靠无线网络进行传输,它能够近距离的进行无线连接,属于无线网络通讯技术。

    ZigBee技术的先天性优势,使得它在物联网行业逐渐成为一个主流技术,在工业、农业、智能 家居等领域得到大规模的应用。

    (3)LoRa和LoRaWAN

    LoRaWAN协议是由LoRa联盟提出并推动的一种低功率广域网协议,它和我们后面介绍的几种协议有所不同。MQTT协议、CoAP协议都是运行在应用层,底层使用TCP协议或者UDP协议进行数据传输,整个协议栈运行在IP网络上。而LoRaWAN协议则是物理层/数据链路层协议,它解决的是设备如何接入互联网的问题,并不运行在IP网络上。

    LoRa™(LongRange,远距离) 是一种调制技术,与同类技术相比,提供更远的通信距离。LoRa 网关、烟感、水监测、红外探测、定位、排插等广泛应用物联网产品。作为一种窄带无线技术,LoRa 是使用到达时间差来实现地理定位的。

    LoRa 定位的应用场景:智慧城市和交通监控、计量和物流、农业定位监控。

    LoRa(Long Range)是一种无线通信技术,它具有使用距离远、功耗低的特点。在上面的场景下,用户就可以使用LoRaWAN技术进行组网,在工程设备上安装支持LoRa的模块。

    通过LoRa的中继设备将数据发往位于隧道外部的、有互联网接入的LoRa网关,LoRa网关再将数据封装成可以在IP网络中通过TCP协议或者UDP协议传输的数据协议包(比如MQTT协议),然后发往云端的数据中心。

    1.3 近距离通信

    (1)RFID

    射频识别(RFID)是 Radio Frequency Identification 的缩写。其原理为阅读器与标签之间进行非接触式的数据通信,达到识别目标的目的。RFID 的应用非常广泛,典型应用有动物晶片、汽车晶片防盗器、门禁管制、停车场管制、生产线自动化、物料管理。完整的RFID系统由读写器(Reader)、电子标签(Tag)和数据管理系统三部分组成。

    (2)NFC

    NFC的中文全称为近场通信技术。NFC是在非接触式射频识别(RFID)技术的基础上,结合无线互连技术研发而成,它为我们日常生活中越来越普及的各种电子产品提供了一种十分安全快捷的通信方式。NFC中文名称中的“近场”是指临近电磁场的无线电波。

    应用场景:应用在门禁、考勤、访客、会议签到、巡更等领域。NFC具有人机交互、机器间交互等功能。

    (3)蓝牙Bluetooth和BLE

    蓝牙是一种使用短波超高频无线电波的短距离无线技术。它最常用于音频流,但它也已成为无线和连接设备的重要推动者。因此,这种低功耗、低范围的连接选项是个人局域网和物联网部署的首选。

    蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。

    蓝牙能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。

    另一种选择是低功耗蓝牙,称为蓝牙 LE 或 BLE,这是针对物联网连接优化的新版本。顾名思义,BLE 的功耗低于标准蓝牙,这使其在许多用例中特别有吸引力,例如消费者端的健康和健身追踪器和智能家居设备以及商业端的店内导航。

    1.4 有线通信

    (1)USB

    USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。

    (2)串口通信协议

    串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。在串口通信中,常用的协议包括RS-232、RS-422和RS-485。

    串口通信是指外设和计算机间,通过数据线按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。大多数计算机(不包括笔记本)都包含两个RS-232串口。串口通信也是仪表仪器设备常用的通信协议。

    (3)以太网

    以太网是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了以太网的技术标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。

    (4)MBus

    MBus 远程抄表系统(symphonic mbus),是欧洲标准的2线的二总线, 主要用于消耗测量仪器诸如热表和水表系列。

    2. 网络层、传输协议

    (1)IPv4

    互联网通信协议第四版,是网际协议开发过程中的第四个修订版本,也是此协议第一个被广泛部署的版本。IPv4是互联网的核心,也是使用最广泛的网际协议版本。

    (2)IPv6

    互联网协议第6版,由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。

    (3)TCP

    传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。

    (4)6LoWPAN

    6LoWPAN是一种基于IPv6的低速无线个域网标准,即IPv6 over IEEE 802.15.4。

    3. 应用层协议

    (1)MQTT协议

    MQTT协议(Message Queue Telemetry Transport,消息队列遥测传输协议)是IBM的Andy Stanford-Clark和Arcom的Arlen Nipper于1999年为了一个通过卫星网络连接输油管道的项目开发的。其主要提供了订阅/发布两种消息模式,更为简约、轻量,易于使用,特别适合于受限环境(带宽低、网络延迟高、网络通信不稳定)的消息分发,属于物联网(Internet of Thing)的一个标准传输协议。

    在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

    为了满足低电量消耗和低网络带宽的需求,MQTT协议在设计之初就包含了以下几个特点:

  • 实现简单
  • 提供数据传输的QoS
  • 轻量、占用带宽低
  • 可传输任意类型的数据
  • 可保持的会话(Session)
  • 随着多年的发展,MQTT协议的重点不再只是嵌入式系统,而是更广泛的物联网世界。

    简单来说,MQTT协议有以下特性:

  • 基于TCP协议的应用层协议
  • 采用C/S架构
  • 使用订阅/发布模式,将消息的发送方和接受方解耦
  • 提供3种消息的QoS(Quality of Service):至多一次、最少一次、只有一次
  • 收发消息都是异步的,发送方不需要等待接收方应答
  • MQTT协议的架构由Broker和连接到Broker的多个Client组成,如图2-1所示。

    MQTT协议可以为大量的低功率、工作网络环境不可靠的物联网设备提供通信保障。 而它在移动互联网领域也大有作为,很多Android App的推送功能都是基于MQTT协议实现的,一些IM的实现也是基于MQTT协议的。

    (2)MQTT-SN协议

    MQTT-SN(MQTT for Sensor Network)协议是MQTT协议的传感器版本。MQTT协议虽然是轻量的应用层协议,但是MQTT协议是运行于TCP协议栈之上的,TCP协议对于某些计算能力和电量非常有限的设备来说,比如传感器,就不太适用了。

    MQTT-SN运行在UDP协议上,同时保留了MQTT协议的大部分信令和特性,如订阅和发布等。MQTT-SN协议引入了MQTT-SN网关这一角色,网关负责把MQTT-SN协议转换为MQTT协议,并和远端的MQTT Broker进行通信。MQTT-SN协议支持网关的自动发现。MQTT-SN协议的通信模型如图2-2所示。

    (3)CoAP协议

    CoAP(Constrained Application Protocol)协议是一种运行在资源比较紧张的设备上的协议。CoAP协议通常也是运行在UDP协议上的。CoAP是一种在物联网世界的类Web协议,适用于需要通过标准互联网网络进行远程控制或监控的小型低功率传感器,开关,阀门和类似的组件,服务器对不支持的类型可以不响应。

    CoAP协议设计得非常小巧,最小的数据包只有4个字节。 CoAP协议采用C/S架构,使用类似于HTTP协议的请求-响应的交互模式。设备可以通过类似于coap://192.168.1.150:5683/2ndfloor/temperature的URL来标识一个实体,并使用类似于HTTP的PUT、GET、POST、DELET请求指令来获取或者修改这个实体的状态。

    同时,CoAP提供一种观察模式,观察者可以通过OBSERVE指令向CoAP服务器指明观察的实体对象。当实体对象的状态发生变化时,观察者就可以收到实体对象的最新状态,类似于MQTT协议中的订阅功能。CoAP协议的通信模型如图2-3所示。

    (4)REST/HTTP协议

    RESTful是一种基于资源的软件架构风格。所谓资源,就是网络上的一个实体,或者说是网络上的一个具体信息。一张图片、一首歌曲都是一个资源。RESTful API是基于HTTP协议的一种实现。(HTTP是一个应用层的协议,特点是简捷、快速)。满足Rest规范的应用程序或设计就是RESTful,根据Rest规范设计的API,就叫做RESTful API。

    (5)LwM2M协议

    LwM2M( Lightweight Machine-To-Machine )协议是由Open Mobile Alliance(OMA)定义的一套适用于物联网的轻量级协议。它使用RESTful接口,提供设备的接入、管理和通信功能,也适用于资源比较紧张的设备。LwM2M协议的架构如图2-4所示。


    LwM2M协议底层使用CoAP协议传输数据和信令。而在LwM2M协议的架构中,CoAP协议可以运行在UDP或者SMS(短信)之上,通过DTLS(数据报传输层安全)来实现数据的安全传输。

    LwM2M协议架构主要包含3种实体——LwM2M Bootstrap Server、LwM2M Server和LwM2M Client。

    LwM2M Bootstrap Server负责引导LwM2M Client注册并接入LwM2M Server,之后LwM2M Server和LwM2M Client就可以通过协议指定的接口进行交互了。

    (6)HTTP协议

    正如我们之前所讲,物联网也是互联网,HTTP这个在互联网中广泛应用的协议,在合适的环境下也可以应用到物联网中。

    在一些计算和硬件资源比较充沛的设备上,比如运行安卓操作系统的设备,完全可以使用HTTP协议上传和下载数据,就好像在开发移动应用一样。设备也可以使用运行在HTTP协议上的 WebSocket 主动接收来自服务器的数据。

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

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

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

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

  • (7)DDS协议(高可靠性、实时)

    DDS(Data Distribution Service)分布式实时数据分发服务中间件协议,它是分布式实时网络里的“TCP/IP”,用来解决实时网络中的网络协议互联,其作用相当于“总线上的总线”。

    适用范围:

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

    特点:

  • 以数据为中心
  • 使用无代理的发布/订阅消息模式,点对点、点对多、多对多
  • 提供多达21种QoS服务质量策略
  • 协议主要实现:

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

    (8)AMQP协议(互操作性)

    AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。

    AMQP用于业务系统例如PLM,ERP,MES等进行数据交换。

    适用范围:

    最早应用于金融系统之间的交易消息传递,在物联网应用中,主要适用于移动手持设备与后台数据中心的通信和分析。

    特点:

  • Wire级的协议,它描述了在网络上传输的数据的格式,以字节为流
  • 面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全
  • 协议实现:

  • Erlang中的实现有 RabbitMQ
  • AMQP的开源实现,用C语言编写OpenAMQ
  • Apache Qpid
  • stormMQ
  • (9)XMPP协议(即时通信)

    XMPP(Extensible Messaging and Presence Protocol)可扩展通讯和表示协议,一个开源形式组织产生的网络即时通信协议。

    XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。

    适用范围:

    即时通信的应用程序,还能用在网络管理、游戏、远端系统监控等。

    特点:

  • 客户机/服务器通信模式
  • 分布式网络
  • 简单的客户端,将大多数工作放在服务器端进行
  • 标准通用标记语言的子集XML的数据格式
  • XMPP是基于XML的协议,由于其开放性和易用性,在互联网及时通讯应用中运用广泛。相对HTTP,XMPP在通讯的业务流程上是更适合物联网系统的,开发者不用花太多心思去解决设备通讯时的业务通讯流程,相对开发成本会更低。但是HTTP协议中的安全性以及计算资源消耗的硬伤并没有得到本质的解决。

    4. 部分通信协议比较

    (1)NB-IoT协议和LoRa协议比较

    第一,频段。LoRa工作在1GHz以下的非授权频段,在应用时不需要额外付费,NB-IoT和蜂窝通信使用1GHz以下的频段是授权的,是需要收费的。

    第二,电池供电寿命。LoRa模块在处理干扰、网络5261重迭、可伸缩性等方面具有独特的特性,但却不能提供像蜂窝协议一样的服务质量。NB-IoT出于对服务质量的考虑,不能提供类似LoRa一样的电池寿命。

    第三,设备成本。对终端节点来说,LoRa协议比NB-IoT更简单,更容易开发并且对于微处理器的适用和兼容性更好。同时低成本、技术相对成熟的LoRa模块已经可以在市场上找到了,并且还会有升级版本陆续出来。

    第四,网络覆盖和部署时间表。NB-IoT标准在2016年公布,除回网络部署之外,相应的商业化和产业链的建立还需要更长的时间和努力去探索。LoRa的整个产业链相对已经较为成熟了,产品也处于“蓄势待发”的状态,同时全球很多国家正在进行或者已经完成了全国性的网络部署。

    (2)蓝牙、WiFi、ZigBee协议比较

    目前来说,WiFi的优势是应用广泛,已经普及到千家万户; ZigBee的优势是低功耗和自组网; UWB无载波无线通信技术的优势是传输速率;蓝牙的优势组网简单。然而,这3种技术,也都有各自的不足,没有一种技术能完全满足智能家居的全部要求。

    蓝牙技术的出现使得短距离无线通信成为可能,但其协议较复杂、功耗高、成本高等特点不太适用于要求低成本、低功耗的工业控制和家庭网络。尤其蓝牙最大的障碍在于传输范围受限,一般有效的范围在10米左右,抗干扰能力不强、信息安全问题等问题 也是制约其进一步发展和大规模应用的主要因素。

    WiFi也是是一种短距离无线传输技术,可以随时接入无线信号,移动性强,比较适合在办公室及家庭的环境下应用。当然WiFi也存在一个致命缺点。由于WiFi采用的是射频技术,通过空气发送和接收数据,使用无线电波传输数据信号,比较容易受到外界的干扰。

    ZigBee则是国际通行的无线通讯技术,它的每个网络端口可以最多接入6.5万多个端口,适合家居、工业、农业等多个领域使用,而蓝牙和WiFi网端只能接入10个端口,显然不能适应家庭需要。ZigBee还具有低功耗和低成本优势。

    (3)MQTT协议和CoAP协议比较

    MQTT是多对多通讯协议用于在不同客户端之间通过中间代理传送消息,解耦生产者与消费者,通过使得客户端发布,让代理决定路由并且拷贝消息。虽然MQTT支持一些持久化,最好还是作为实时数据通讯总线。

    CoAP主要是一个点对点协议,用于在客户端与服务器之间传输状态信息。虽然支持观察资源,CoAP最好适合状态传输模型,不是完全基于事件。

    MQTT客户端建立长连接TCP,这通常表示没有问题,CoAP客户端与服务器都发送与接收UDP数据包,在NAT环境中,隧道或者端口转发可以用于允许CoAP,或者像LWM2M,设备也许会先初始化前端连接。

    MQTT不提供支持消息打类型标记或者其他元数据帮助客户端理解,MQTT消息可用于任何目的,但是所有的客户端必须知道向上的数据格式以允许通讯,CoAP,相反地,提供内置支持内容协商与发现,允许设备相互探测以找到交换数据的方式。

    两种协议各有优缺点,选择合适的取决于自己的应用。

    (4)TCP/IP协议与Http协议的区别

    TPC/IP协议是传输层协议,主要解决数据如何在网络中传输。

    HTTP是应用层协议,主要解决如何包装数据。

    关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

    术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。

    你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。

    HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【深入浅出】物联网:常见IoT协议最全指南

    发表评论