0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

物联网都有哪些通信协议?

jf_78858299 来源:万物云 作者:万物云 2023-03-23 14:38 次阅读

物联网终端的种类非常多,包括物联网网关、通信模块以及大量的行业终端,其中尤以行业终端的种类最为丰富。

通信模块是物联网应用终端的基础。物联网的行业终端种类繁多,体积、处理能力、对外接口等各不相同,通信模块将成为物联网智能服务通道的统一承载体,嵌入各种行业终端,为各行各业提供物联网的智能通道服务。而在通信中,通信协议尤其重要,是指双方实体完成通信或服务所必须遵循的规则和约定,而且根据终端环境的不同对通信协议的要求完全不一致。

与互联网时代TCP/IP,HTTP一统天下的局面不同,物联网的通信环境有EthernetWi-FiRFIDNFC(近距离无线通信), Zigbee, 6LoWPAN(IPV6低速无线版本),Bluetooth, GSM, GPRS, GPS, 3G, 4G网络,而每一种通信应用协议都有一定适用范围。AMQP、JMS、REST/HTTP都是工作在以太网,COAP协议是专门为资源受限设备开发的协议,而DDS和MQTT的兼容性则强很多。

1.REST(松耦合服务调用)

REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。

而REST被应用于物联网主要是基于HTTP web服务的转化,因为REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现。

特点:

  1. 给一切物体一个ID

2.连接物体在一起

3.使用标准方法

4.资源多重表述

5.无状态通信

REST其实是互联网中服务调用API封装风格,物联网中数据采集到物联网应用系统中,在物联网应用系统中,可以通过开放REST API的方式,把数据服务开放出去,被互联网中其他应用所调用,所以它非常利于服务平台与物联终端的独立开发,但它的通讯数据量与API内容密切相关,且是一种无状态通信,对安全机制需要重新设计。

2.CoAP协议

由于物联网中的很多设备都是资源受限型的,即只有少量的内存空间和有限的计算能力,所以传统的HTTP协议应用在物联网上就显得过于庞大而不适用。 IETF的CoRE工作组提出了一种基于REST架构的CoAP协议。

CoAP是一种应用层协议,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。CoAP协议非常的小巧,最小的数据包仅为4字节。

CoAP协议是否可以替换HTTP协议?

CoAP并不能替代HTTP协议,但是对于那些小设备(256KB Flash 32KB RAM 20MHz主频)而言CoAP的确是一个好的解决方案。

CoAP消息类型

CoAP采用和HTTP协议相同的请求响应工作模式。CoAP协议共有4中不同的消息类型。

CON——需要被确认的请求,如果CON请求被发送,那么对方必须做出响应。

NON——不需要被确认的请求,如果NON请求被发送,那么对方不必做出回应。

ACK——应答消息,如果接受到CON消息的响应。

RST——复位消息,当接收者接受到的消息包含一个错误,接受者解析消息或者不再关心发送者发送的内容,那么复位消息将会被发送。

CoAP消息结构

一个CoAP消息最小为4个字节,以下是CoAP协议不同部分的描述。

【版本Version】:类似于IPv6和IPv6,仅仅是一个版本号。

【消息类型Message Type】:CON,NON,ACK,RST。这些消息类型相当于HTTP协议的PUTGET等

【消息ID Message ID】:每个CoAP消息都有一个ID,在一次会话中ID总是保持不变。但是在这个会话之后该ID会被回收利用。

【标记 Token】:标记是ID的另一种表现

【选项 Options】:CoAP选项类似于HTTP请求头,它包括CoAP消息本身,例如CoAP端口号,CoAP主机和CoAP查询字符串等。

【负载Payload】:真正有用的被交互的数据。

在当前由PC机组成的世界,信息交换是通过TCP和应用层协议HTTP实现的。但是对于小型设备而言,实现TCP和HTTP协议显然是一个过分的要求。为了让小设备可以接入互联网,CoAP协议被设计出来。

3.MQTT协议(低带宽)

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。做为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

MQTT协议运行在TCP/IP或其他网络协议,提供有序、无损、双向连接。其特点包括:

1)使用的发布/订阅消息模式,它提供了一对多消息分发,以实现与应用程序的解耦。

2)对负载内容屏蔽的消息传输机制。

3)对传输消息有三种服务质量(QoS):

• 最多一次,这一级别会发生消息丢失或重复,消息发布依赖于底层TCP/IP网络。即:<=1

• 至多一次,这一级别会确保消息到达,但消息可能会重复。即:>=1

• 只有一次,确保消息只有一次到达。即:=1。在一些要求比较严格的计费系统中,可以使用此级别

4)数据传输和协议交换的最小化(协议头部只有2字节),以减少网络流量

5)通知机制,异常中断时通知传输双方

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

协议实现方式

实现MQTT协议需要:客户端和服务器端

MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。

MQTT传输的消息分为:主题(Topic)和负载(payload)两部分

• Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)

• payload,可以理解为消息的内容,是指订阅者具体要使用的内容

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

4.DDS协议(高可靠性、实时)

数据分发服务DDS(Data Distribution Service)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS信息分发中间件是一种轻便的、能够提供实时信息传送的中间件技术。

特点:

  1. 灵活的发布/订阅模式
  2. 完整DDS规范QoS服务质量策略
  3. 已扩展的QoS服务质量策略
  4. 互操作
  5. 强实时
  6. 跨平台
  7. 支持多种底层物理通信协议
  8. 仿真→测试→实装的全生命周期支持

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

5.AMQP协议(互操作性)

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

AMQP协议是一个二进制协议,拥有一些现代特点:多信道、协商式、异步、安全、跨平台、中立、高效。

• 模型层定义了一套命令(按功能分类),客户端应用可以利用这些命令来实现它的业务功能。

• 会话层负责将命令从客户端应用传递给服务器,再将服务器的应答传递给客户端应用,会话层为这个传递过程提供可靠性、同步机制和错误处理。

• 传输层提供帧处理、信道复用、错误检测和数据表示。

实现者可以将传输层替换成任意传输协议,只要不改变AMQP协议中与客户端应用程序相关的功能。实现者还可以使用其他高层协议中的会话层。

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

6.XMPP协议(即时通信)

XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

特点:

1.客户机/服务器通信模式

2.分布式网络

3.简单的客户端,将大多数工作放在服务器端进行

4.标准通用标记语言的子集XML的数据格式

XMPP协议是自由、开放、公开的,并且易于了解。而且在客户端、服务器、组件、源码库等方面,都已经各自有多种实现。但随着通常超过70%的XMPP协议的服务器的数据流量的存在和近60%的被重复转发,XMPP协议目前拥有一个大型架空中存在的数据提供给多个收件人。适用于即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2870

    文章

    41639

    浏览量

    358411
  • GSM
    GSM
    +关注

    关注

    9

    文章

    831

    浏览量

    122273
  • nfc
    nfc
    +关注

    关注

    55

    文章

    1542

    浏览量

    178774
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1272

    浏览量

    78303
  • MQTT
    +关注

    关注

    5

    文章

    538

    浏览量

    21981
收藏 人收藏

    评论

    相关推荐

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

    通信对物联网来说十分关键,无论是近距离无线传输技术还是移动通信技术,甚至是LPWAN都影响着物联网的发展。通信协议是指双方实体完成
    发表于 05-23 14:23 6.6w次阅读
    物<b class='flag-5'>联网通信协议</b>的详解及选择建议

    8种联网通信协议介绍

    联网生态系统的核心组成部分是连接和通信联网使远程和分散物体(设备,传感器节点,网关单元,云服务器)之间的连接和
    发表于 12-24 06:13

    联网常见通信协议 精选资料分享

    1概述在上一篇文章《联网常见通信协议与通讯协议梳理【上】-通讯协议》中,对
    发表于 07-30 06:02

    无线串口通信协议的相关资料分享

    一、概述本通信协议主要应用于MCU 和无线模组形式的联终端设备中,其应用场景如下图所示:MCU作为系统主控,主要负责通过外部接口对外设(LED、开关灯)进行控制,完成设备业务逻辑,并利用通信协议
    发表于 11-03 06:47

    联网常见的通信协议有哪些?

    联网常见的通信协议有哪些?
    发表于 11-05 09:12

    常见的联网通信协议蓝牙简单对比

    @TOC浅析联网(智能家居)无线通信协议联网无线传输方案产品开发,通信协议(生态)选择至关重
    发表于 01-11 07:24

    常见的无线通信协议有哪些

    随着联网技术的愈发成熟,适用于智能家居无线通信协议的种类也日益增多。目前,最常见的无线通信协议有WiFi、蓝牙、Zigbee、Z-wave、RF等,前三者在智能家居应用中更为广泛。W
    发表于 02-15 06:54

    联网的基石-MQTT协议初识

    的设备接入和设备管理对网络带宽、通信协议以及平台服务架构都带来了很大挑战。对于 联网协议 来说,必须针对性地解决
    发表于 09-08 16:03

    联网通信协议

    • MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)• 轻量级通信协议• 适用资源受限设备,低带宽,高延时,不稳定网络中进行消息传输• 运行
    发表于 09-11 06:18

    深挖物联网大数据背后的六大通信协议,DDS/MQTT/CoAP谁更强

    那么物联网都有哪些通信协议? 你都了解吗? 他们适用的环境又是如何? 与互联网时代TCP/IP,HTTP一统天下的局面不同,物联网
    发表于 11-12 11:11 5次下载

    联网都有哪些通信协议,该如何去选择

    我们将物联网协议分为两类,一类是传输协议,另一类是通信协议。 传输协议通常负责子网中设备之间的联网
    的头像 发表于 11-22 16:15 4357次阅读

    最常用的物联网通信协议有哪些

    随着物联网设备数量的持续增加,这些设备之间的通信或连接已成为一个重要的思考课题。根据Gartner的研究,到2020年,物联网设备数量将达到204亿台。这里有几个可用的物联网通信协议
    的头像 发表于 01-20 09:29 8506次阅读

    联网的七大通信协议你都了解吗

    在物联网协议中,一般分为两大类,一类是传输协议,一类是通信协议
    发表于 03-21 21:22 3005次阅读

    联网通信协议基础知识合集

    本文介绍了几个可用的物联网通信协议,它们具有不同的性能、数据速率、覆盖范围、功率和内存,而且每一种协议都有各自的优点和或多或少的缺点。其中一些通信协议只适合小型家用电器,而其他一些
    的头像 发表于 03-23 14:32 756次阅读

    联网通信协议知多少

    尤其重要,是双方实体完成通信或服务所必须遵循的规则和约定。本文介绍了几个可用的物联网通信协议,它们具有不同的性能、数据速率、覆盖范围、功率和内存,而且每一种协议都有
    的头像 发表于 03-11 09:55 1017次阅读
    物<b class='flag-5'>联网通信协议</b>知多少