物联网场景中有哪些常见的通信协议?
扫描二维码
随时随地手机看文章
物联网终端的种类非常多,包括物联网网关、通信模块以及大量的行业终端,其中尤以行业终端的种类最为丰富。
通信模块是物联网应用终端的基础。物联网的行业终端种类繁多,体积、处理能力、对外接口等各不相同,通信模块将成为物联网智能服务通道的统一承载体,嵌入各种行业终端,为各行各业提供物联网的智能通道服务。而在通信中,通信协议尤其重要,是指双方实体完成通信或服务所必须遵循的规则和约定,而且根据终端环境的不同对通信协议的要求完全不一致。
与互联网时代TCP/IP,HTTP一统天下的局面不同,物联网的通信环境有Ethernet, Wi-Fi, RFID, NFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G等网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP都是工作在以太网,COAP协议是专门为资源受限设备开发的协议,而DDS和MQTT的兼容性则强很多。
物联网(Internet of Things, IoT)是指将各种传感器、设备等通过互联网连接起来,形成一个庞大的网络,实现物与物之间的互联互通。在实现这个过程中,各种不同的通信协议被广泛应用。本文将为大家介绍物联网中常见的通信协议。
一、MQTT
MQTT(Message Queuing Telemetry Transport)是物联网(IoT)通信中常见的一种协议。它是一种轻量级的消息传递协议,被广泛用于设备和服务器之间的通信。
MQTT协议的工作原理类似于一个发布-订阅模型,它允许不同的设备或客户端通过一个称为“代理”(Broker)的中间件来交换消息。设备或客户端可以选择订阅(Subscribe)特定的主题(Topic),并从中接收来自代理的消息。同时,设备或客户端还可以发布(Publish)消息到一个或多个特定的主题(Topic),代理将转发这些消息给所有订阅该主题的设备或客户端。
与其他通信协议相比,MQTT协议具有以下优点:
1、它是一种轻量级的协议,占用的带宽和资源很少;
2、它具有很高的可靠性,能够保证消息的传递和接收;
3、它支持异步通信和离线消息,即使设备不在线也能够接收和发送消息。
因此,MQTT协议是物联网应用中最常用的一种协议,它能够帮助设备之间进行高效地通信,并为物联网应用提供了一个可靠、安全的消息传递机制。
二、CoAP
当我们谈到物联网通信协议时,CoAP(Constrained Application Protocol)是一个非常重要的协议。CoAP是一种面向资源的协议,它被设计用于受限设备和网络环境中,以实现低功耗、低带宽和低延迟的通信。
为了更好地理解CoAP的工作原理,可以将其比作快递员。CoAP可以将我们要传递的数据(包裹)打包成一个个消息,然后通过互联网(街道)将这些消息发送给目的地(收件人)。
CoAP协议不仅支持传输数据,还支持查询资源状态、触发事件等操作,这使得它非常适合在物联网中使用。而且,它具有较低的开销,因为它只需要使用少量的网络资源来传输数据。
总之,CoAP是一种可靠、高效的物联网通信协议,它可以帮助设备在低功耗、低带宽和低延迟的环境中进行通信,并且可以通过查询资源状态、触发事件等方式与其他设备进行交互。
三、HTTP
当我们谈到物联网通信协议时,HTTP(Hypertext Transfer Protocol)是一个人人都熟知的协议,它被用于在互联网上传输超文本文档。但是在物联网中,HTTP也扮演着重要的角色。
HTTP协议不仅支持传输数据,还支持请求、响应和状态码等操作。这使得它非常适合在物联网中使用。同时,它也非常灵活,支持各种不同的数据格式和通信方式,例如RESTful API和WebSocket。
然而,在物联网中使用HTTP也有一些挑战。例如,HTTP通信需要使用TCP连接,这可能会导致功耗过高和延迟过大。此外,HTTP的请求头和响应头也会带来额外的开销。
总之,HTTP是一种可靠、灵活的物联网通信协议,它可以帮助设备在互联网中进行通信,并且支持各种不同的数据格式和通信方式。但是,在使用HTTP时需要注意功耗和延迟等问题,以确保设备能够在低功耗、低带宽和低延迟的环境中正常工作。
四、LoRaWAN
LoRaWAN(Long Range Wide Area Network)是一种专门为物联网设备设计的无线通信协议。它具有以下特点:
1、长距离:LoRaWAN可以在数公里甚至数十公里的范围内进行通信。
2、低功耗:它使用低功耗技术,可以使得设备在数年的时间内持续工作。
3、双向通信:LoRaWAN支持双向通信,可以从设备接收数据并向设备发送指令。
前段时间的“华为鸿蒙”事件应该都有所耳闻了吧,这件事带动了很多业内大厂开始招聘鸿蒙操作系统的相关岗位人才。其实对于鸿蒙操作系统来说,物联网、嵌入式等技术都是十分重要的,那你知道物联网中常用的协议及应用场景有哪些吗?
协议分层主要分为哪几类呢?
物理层协议:NB-IoT,LORA,WIFI,蓝牙,zigbee,4G,这几个都需要芯片模组支持(硬件支持)
应用层协议:MQTT,COAP,HTTP,这些需要开发服务器,或者对接云平台厂商(软件支持)
物理层各个协议主要特点是什么?
1)NB-IoT与4G
低功耗:NB-IoT是一种低功耗广域物联网(LPWA)技术,专门设计用于电池供电的物联网设备。它采用了优化的传输机制和低功耗模式,可以实现长达数年的电池寿命。而4G则相对较高功耗,通常用于需要更高数据速率和连接质量的应用。
速度和容量:NB-IoT的传输速度相对较低,适用于传输较小的数据量,如传感器数据、简单命令等。而4G提供更高的传输速率和容量,可以处理大量数据,适用于需要传输大文件或进行实时视频传输等应用。
覆盖范围:NB-IoT在覆盖范围上具有优势,可以实现较广的物联网区域覆盖,包括室内和室外。4G网络覆盖更广,但在某些偏远地区或深度室内可能会存在信号弱的情况。
设备成本和部署复杂性:由于NB-IoT是为低成本部署设计的,因此相对较便宜。它的设备模组价格较低,并且部署相对简单。4G设备成本较高,且部署相对复杂。
2)WIFI和zigbee
覆盖范围:WIFI通常适用于局域网(LAN)环境,其中包括家庭、办公室和公共场所等。其覆盖范围相对较广,可以覆盖较大的空间。而Zigbee是一种低功耗、低数据速率的无线协议,主要适用于个人领域或小范围应用,如智能家居和传感器网络。它的覆盖范围相对较小,适合于距离较近的设备之间进行通信。
低功耗:Zigbee在功耗和电池寿命方面表现出色,特别适用于电池供电的物联网设备。它采用了低功耗模式和睡眠模式,可以实现长时间的电池寿命。相比之下,WIFI通常需要更高的功耗,对电池寿命的要求较高。
通信速率:WIFI通常具有较高的数据传输速率,适用于传输大量的数据,如影音娱乐、高清视频和文件下载等。而Zigbee的数据传输速率较低,适用于传输小型数据包,如传感器数据和简单命令。它更关注低功耗和通信的稳定性。
互联与扩展:WIFI设备通常可以通过路由器进行互联,支持与其他WIFI设备的直接通信和互操作性。而Zigbee采用了网状拓扑结构,使得设备之间可以形成自组织的网络,可以支持大规模设备的互联和扩展性。
3)LoRa WAN协议
LoRaWAN协议是由LoRa联盟提出并推动的一种低功率广域网协议,LoRa(Long Range)是一种无线通信技术,它具有使用距离远、功耗低的特点。在上面的场景下,用户就可以使用LoRaWAN技术进行组网,在工程设备上安装支持LoRa的模块。
通过LoRa的中继设备将数据发往位于隧道外部的、有互联网接入的LoRa网关,LoRa网关再将数据封装成可以在IP网络中通过TCP协议或者UDP协议传输的数据协议包(比如MQTT协议),然后发往云端的数据中心。
网络层传输协议
TCP与UDP
TCP是一种面向连接、可靠的、基于字节流的传输层通信协议,UDP更适合对功率小、可靠性要求不高的场合。
应用层协议:MQTT和COAP对比
1)MQTT
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种基于TCP协议的应用层传输协议,采用发布/订阅模式。它的特点是轻量级、简单、开放且易于实现,使得它适用于广泛的应用场景。
MQTT在许多受限环境下得到广泛应用,包括机器与机器(M2M)通信、物联网(IoT)、卫星链路通信传感器、偶尔拨号的医疗设备、智能家居以及一些小型化设备。它的轻量级设计使得在具有带宽限制或资源受限的网络和设备中都能高效运行。
2)CoAP
CoAP(Constrained Application Protocol,受限应用协议)是一种建立在REST模型之上,专为轻量级M2M通信设计的网络传输协议。由于物联网中的很多设备只拥有少量的内存空间和有限的计算能力,因此传统的HTTP协议在此场景下不适用,而CoAP应运而生。
从用户可见性的角度,CoAP模拟了HTTP协议,因此读取传感器数据就像做一个HTTP请求一样。
CoAP被认为是一种不会过时的技术协议。据Gartner预测,未来将有500亿台设备连接到互联网,这将需要低成本、低能耗的设备,而CoAP的设计考虑到了这些需求。它被设计用于与10KB RAM类似的系统。
CoAP最有趣的特性之一是可以发现网络中的节点。这对于低功耗无线传感器网络的自治和自我修复非常有用。使用CoAP协议可以解决无线传感器网络的可扩展性问题,并可以发现节点常规的冗余。
CoAP建立在UDP协议之上,这是与HTTP或MQTT相比最主要的区别。它可以更加快速和更好地进行资源优化,但在QoS保持不变的情况下,CoAP相比HTTP和MQTT更加不可靠。然而,对于连续流系统如环境监测传感器网络,4字节的头部信息是一个不错的选择。