<dd id="4dgte"><noscript id="4dgte"></noscript></dd>

    1. <th id="4dgte"><pre id="4dgte"><rt id="4dgte"></rt></pre></th>
    2. <li id="4dgte"><object id="4dgte"><cite id="4dgte"></cite></object></li>
    3. <th id="4dgte"></th>
      资讯

      物联网应用服务商

      物联网传感器系统集成

      首页    >     文章    >    

      物联网数据传输协议说明

      来源:网络 | 2022-01-04 08:36:40

      物联网(IoT)和机器对机器(M2M)技术需要使用消息传递和连接协议,以便从远程位置交换信息。

       

      这种协议的一些可取的特点是:

       

      ·代码占用空间小(便于在小型设备中实现)

      ·低功耗

      ·低带宽消耗

      ·低延迟

       

      使用发布/订阅(“发布/订阅”)模式

       

      MQTT满足了所有这些要求,并拥有大型公共云亚马逊Web服务、Microsoft Azure和谷歌云平台的动力。在本文中,我们将探讨为什么MQTT是物联网产品最流行的消息传递协议选择。

       

      什么是MQTT

       

      MQTT(消息队列遥测传输)是由IBM开发并于1999年首次发布的轻量级消息传递协议。它使用pub/sub模式并在设备、服务器和应用程序之间转换消息。

       

      MQTT协议最初是为了将石油管道上的传感器与通信卫星连接起来,重点是将电池损耗和带宽消耗降至最低。

       

      自成立以来,MQTT一直在进行开发,5.0版于20185月发布。版本3.112013年提交给OASIS财团,并被接受为ISO标准。

       

      MQTT是如何工作的?

       

      MQTT体系结构

       

      MQTT协议中连接的设备称为“客户机”,它与称为“代理”的服务器通信代理处理客户端之间的数据传输任务。

       

      每当客户机(称为“发布者”)想要发布信息时,它将发布到特定主题,然后代理将此信息发送给订阅该主题的任何客户机(称为“订阅者”)。

       

      发布者不需要关于订阅者数量或位置的任何数据。反过来,订阅者不需要关于发布者的任何数据。任何客户端都可以是发布服务器、订阅服务器或两者兼有。客户通常不知道对方,只知道充当中介的经纪人。这种设置通常被称为“发布/订阅模型”

       

      MQTT消息

       

      当客户机希望向代理发送数据时,这称为“发布”当客户机希望从代理接收数据时,它将“订阅”一个或多个主题。当客户端订阅某个主题时,它将接收该主题上发布的所有消息。

      除了消息本身,发布者还发送QoS(服务质量)级别。此级别定义消息的传递保证。这些QoS级别如下所示:

       

      最多一次:消息发布时,代理将仅“最多一次”接收消息此级别不应用于任务关键型信息,因为它会带来订阅者无法接收消息的风险。

       

      至少一次:发布者继续重新发送消息,直到收到代理关于特定消息的确认。换句话说,接收消息比确保只接收一次更重要。这可能是最常用的QoS级别。

       

      恰好一次:发布者和代理一起工作,以确保代理只接收一次消息并对其执行操作。这需要一些额外的开销,如四部分握手。虽然这是最安全的QoS级别,但也是最慢的,因此仅在必要时使用。

       

      MQTT如何在物联网项目中工作?

       

      在本节中,我们将以我们最近的一个客户机为例,讨论如何在物联网项目中使用MQTT

       

      一家汽车电池公司希望向全国客户提供“更新鲜”的电池。这意味着实施“先进先出”战略,这样电池就不会在货架上放置太久。

       

      当然,这要求公司跟踪货架上的存货到达日期。由于需要一个值得信赖的物联网合作伙伴,该公司与非常有影响力的客户进行了接触。

       

      非常有帮助地将物联网传感器安装在公司的电池和货架上。这些传感器通过MQTT将信息传输到云中的Amazon Web服务(AWS)。每个电池都有一个信号发射装置,该装置发送蓝牙信号以传达其在机架上的状态。此外,单电池供电的集线器每天唤醒一次,以便使用MQTT(以及用于安全传输的TLS协议)向AWS传输信息。

       

      MQTT的好处

       

      MQTT的好处包括:

       

      轻量级代码占用:设备只需要几行代码就可以启动并运行MQTT协议。

       

      最小化数据包:MQTT非常节能。这是伟大的,如果一个设备是电池供电或有很少的CPU电源。

       

      速度:MQTT实时运行,在QoS之外没有延迟。

       

      易于实现:MQTT已经有了ElixirPython等编程语言的库。

       

      最后的遗嘱:如果客户端意外断开连接,您可以设置发送给所有订阅者的消息指令,以纠正这种情况。

       

      保留消息:每个主题都可以有一条保留消息,客户端在订阅时会自动接收该消息(如社交媒体上的固定帖子)。

       

      MQTT的常见替代方案

       

      XMPP

       

      XMPP(可扩展消息和状态协议)是一种基于XML语言的通信协议,用于存储和传输数据。它经常用于支持即时消息服务,如Jabber

       

      XMPPMQTT之间的一些差异是:

       

      XMPP代码占用的空间稍重一些,您需要一个XML解析器来编码和解码信息。

       

      默认情况下,XMPP不支持发布/订阅模型(尽管可以使用扩展)。

       

      XMPPMQTT占用更多带宽。

       

      HTTPS

       

      HTTP(超文本传输协议)及其扩展HTTPS(超文本传输协议安全)是万维网的基础通信协议。但是,它们是无状态的,每次传输的开销比MQTT要大。此外,HTTPS的吞吐量低于MQTT,这意味着您无法在同一时间段内发送尽可能多的消息。

       

      结论

       

      MQTT在使物联网项目在技术规范方面更加“低提升”,同时实现设备、服务器和应用程序之间所需的连接方面起着至关重要的作用。



      什么是CoAP协议?

       

      CoAP受限应用协议是RFC 7252中定义的用于受限设备的专用互联网应用协议。它使设备能够通过Internet进行通信。它被定义为约束应用程序协议,是一种用于非常简单的硬件中的协议。该协议特别适用于受限硬件,如8位微控制器、低功耗传感器和无法在HTTPTLS上运行的类似设备。它简化了UDP上运行的HTTP协议,有助于节省带宽。它设计用于同一受限网络(例如,低功耗、有损网络)上的设备之间、Internet上的设备和一般节点之间以及由Internet连接的不同受限网络上的设备之间。CoAP还通过其他机制使用,例如移动通信网络上的SMS

       

      Internet工程任务组受限RESTful环境(IETF核心)工作组为CoAP做了主要的标准化工作。协议的核心在RFC 7252中指定,这意味着CoAP仍然不是标准协议。

       

      RFC 7252中规定了CoAP协议。它是一种用于受限节点或网络(如WSNIoTM2M等)的web传输协议,因此被称为受限应用协议。该协议的目标是物联网(IoT)设备具有较少的内存和功率规格。

       

      由于它是为web应用程序设计的,因此也被称为“物联网协议”。它可以用于通过web应用程序将数据从几个字节传输到1000字节。它存在于UDP层和应用层之间。

       

      以下是CoAP协议的特点:

       

      ?它是非常高效的RESTful协议。

       

      ?易于代理到/HTTP

       

      ?它是开放的IETF标准

       

      ?它是嵌入式web传输协议(coap://

       

      ?它使用异步事务模型。

       

      ?UDP绑定具有可靠性和多播支持。

       

      ?使用GETPOSTPUTDELETE方法。

       

      ?支持URI

       

      ?它使用小而简单的4字节头。

       

      ?支持绑定到UDPSMSTCP

       

      ?使用基于DTLSPSKRPK和证书安全性。

       

      ?使用MIME类型和HTTP响应代码的子集。

       

      ?使用内置的发现机制。

       

      图片1.png

      1描述了CoAP体系结构。如图所示,它将普通HTTP客户端扩展到具有资源约束的客户端。这些客户机称为CoAP客户机。代理设备在固定环境和基于HTTP协议的典型internet环境之间架起了桥梁。同一台服务器负责HTTPCoAP协议消息。

       

      CoAP客户端和CoAP服务器之间交换CoAP协议消息有两种模式,即。没有单独的响应和单独的响应。

       

      通过单独的响应,服务器通知客户端收到请求消息。这将增加处理时间,但有助于避免不必要的重新传输。

       

      由于使用UDPCoAP IoT协议不可靠。因此,CoAP消息到达目的地时会无序或丢失。

       

      为了使CoAP协议成为可靠的协议,协议中加入了具有指数退避重传特性的停止等待。本文还介绍了重复检测。

       

      专为物联网和M2M设计的两项新功能是:

       

      观察传感器或执行器上发生的新事件。

       

      设备管理和外部设备的可发现性。

       

      该协议的主要特点是:

       

      需求受限的M2M中使用的Web协议

       

      异步消息交换

       

      低开销和非常简单的解析

       

      URI和内容类型支持

       

      代理和缓存功能

       

      何时使用

       

      CoAP有用的一些具体情况包括:

       

      您的硬件无法运行HTTPTLS:如果是这种情况,那么运行CoAPDTLS实际上可以与HTTP做相同的事情。如果您是HTTP API方面的专家,那么迁移将很简单。您收到GET用于读取和发布,PUTDELETE用于突变,安全性在DTL上运行。

       

      您的硬件使用电池:如果这是一个问题,那么与TCP/IP上的HTTP相比,运行CoAP将提高电池性能。UDP节省了一些带宽,使协议更加高效。

       

      订阅是必要的:如果不能运行MQTT并且HTTP轮询是不可能的,那么CoAP就是一个解决方案

       

      CoAP Prtocols的某些功能与HTTP非常相似,即使CoAP不能被视为压缩HTTP协议,因为它是专为物联网设计的,更详细地说,是为M2M设计的,因此它非常适合此任务。

       

      从抽象协议层来看,CoAP可以表示为:

      图片2.png

      在上图中,您可以看到构成CoAp协议的两个不同层:消息层和请求/响应层。消息层处理UDP和异步消息。请求/响应层基于请求/响应消息管理请求/响应交互。

       

      CoAP协议支持四种不同的消息类型:

       

      可证实

       

      不可证实

       

      致谢

       

      重置

       

      现在我们讨论一些术语相关的CoAP协议。

       

      端点:参与CoAP协议的实体。通常,端点由主机标识

       

      发送者:发送消息的实体

       

      收件人:邮件的目的地

       

      客户端:发送请求和响应目标的实体

       

      服务器:从客户端接收请求并将响应发送回客户端的实体

       

      CoAP消息模型

       

      CoAP消息是最底层,处理端点之间的UDP交换消息。CoAP消息具有唯一ID和三个部分:

       

      二进制报头

       

      一个紧凑的选项

       

      有效载荷

       

      CoAP协议使用两种消息:

       

      可证实消息

       

      不可确认消息

       

      CoAP可确认消息是可靠消息。在两个端点之间交换消息期间,这些消息可能是可靠的。在CoAP协议中,使用可确认消息(CON)获得可靠消息。使用这种消息,客户机可以确保消息将到达服务器。CoAP可确认消息会一次又一次地发送,直到另一方发送确认消息(ACK)。确认信息(确认信息的确认信息包含相同的确认信息)。

       

      COAPMQTT

       

      MQTTCoAP

       

      这些都是开放的标准

       

      HTTP更适合受约束的环境

       

      提供异步通信机制

       

      IP上运行

       

      有一系列的实现



      HTTP是最流行和最广泛使用的协议。但在过去几年中,MQTT迅速获得了吸引力。当我们谈论物联网开发时,开发人员必须在两者之间进行选择。

       

      设计和消息传递

       

      MQTT以数据为中心,而HTTP以文档为中心。HTTP是用于客户端-服务器计算的请求-响应协议,并不总是针对移动设备进行优化。在这些方面,MQTT的主要优势是轻量级(MQTT将数据传输为字节数组)和发布/订阅模型,这使其非常适合资源受限的设备,并有助于节省电池。

       

      此外,发布/订阅模式为客户端提供了相互独立的存在,提高了整个系统的可靠性。当一个客户端出现故障时,整个系统可以继续正常工作。

       

      速度和交付

       

      根据3G网络中的测量,MQTT的吞吐量是HTTP93倍。

       

      此外,与HTTP相比,MQTT协议确保了高交付保证。服务质量分为三个级别:

       

      -最多一次:保证尽最大努力交付。

       

      -至少一次:保证消息至少传递一次。但信息也可以传递不止一次。

       

      -恰好一次:保证每个消息只被对方接收一次

       

      MQTT还为用户提供了最后遗嘱和遗嘱以及保留消息的选项。第一种方法是,在客户端意外断开连接的情况下,所有订阅的客户端都将从代理收到一条消息。保留消息意味着新订阅的客户端将立即获得状态更新。

       

      HTTP协议没有这些功能。

       

      复杂性和消息大小

       

      MQTT的规范非常简短。只有连接、发布、订阅、取消订阅和断开连接类型对开发人员非常重要。而HTTP规范要长得多。

       

      MQTT有一个非常短的消息头,最小的数据包消息大小为2字节。通过HTTP协议使用文本消息格式,它可以编写冗长的标题和消息。它有助于消除麻烦,因为它可以被人类读取,但同时它对于资源受限的设备来说是不必要的。

       

      结论

      MQTT协议易于使用。当响应时间、吞吐量、较低的电池和带宽使用率成为未来解决方案的首要目标时,这一点至关重要。在间歇性连接的情况下,它也是完美的。

      HTTP是值得扩展的。但当涉及物联网开发时,MQTT更合适。


      声明:文章来源于互联网!
       

      服务企业:嘉兴物联网应用服务公司

      联系电话:13396739763 13136206268 (节假日均可拨打)

      售前咨询QQ:点击这里给我发消息    点击这里给我发消息

      技术支持QQ:点击这里给我发消息

      所在地址: 浙江省嘉兴市城南路1539号创业大厦

      网址:www.djanad.com

      主营行业:  大数据分析 / AI人工智能 / 物联网应用 / 系统开发 /

      久久精品无码日韩国产不卡_亚洲色欲网熟女少妇_乱人伦中文无码视频免费播放_制服丝袜视频高清中文字幕 欧美一级性爱电影 日本一区二区不卡视频 欧美V片 狠狠人妻久久久久久综合 国产女人高潮大叫一级毛片 欧美一级电影在线观看 久久精品亚洲AV无码四区观看 最近最新中文第一页