当前位置:首页 > 物联网 > 物联网技术文库
[导读] 物联网 (IoT) 设备需要连接到互联网,联网的方式有很多种,传输协议也有很多种,为什么MQTT才是物联网的首选传输协议呢? 本文重点讲述MQTT传输协议。 一、关于 MQTT

物联网 (IoT) 设备需要连接到互联网,联网的方式有很多种,传输协议也有很多种,为什么MQTT才是物联网的首选传输协议呢?

本文重点讲述MQTT传输协议。

一、关于 MQTT

MQTT:Message Queuing Telemetry Transport,消息队列遥测传输。

互联网的基础网络协议是 TCP/IP,MQTT(消息队列遥测传输) 是基于 TCP/IP 协议栈而构建的。

MQTT由IBM在1999年发布,是一种基于发布/订阅(publish / subscribe)模式的“ 轻量级”通讯协议,在 2014 年末,它正式成为了一种 OASIS 开放标准,而且在一些流行的编程语言中受到支持(通过使用多种开源实现)。

前面文章《http和tcp/ip的关系和区别 》提及了OSI(开放式系统互联),这里MQTT同HTTP属于第七层(应用层)。

参考网址:

http://mqtt.org

http://mqtt.p2hp.com

https://www.ibm.com/developerworks/cn/iot/

https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html

二、MQTT特点

MQTT特点:

开放消息协议,简单易实现

消息QoS支持,可靠传输保证

基于TCP/IP网络连接,提供有序,无损,双向连接。

1字节固定报头,2字节心跳报文,最小化传输开销和协议交换,有效减少网络流量。

设计规范:

由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则:

精简,不添加可有可无的功能;

允许用户动态创建主题,零运维成本;

把传输量降到最低以提高传输效率;

把低带宽、高延迟、不稳定的网络等因素考虑在内;

支持连续的会话控制;

理解客户端计算能力可能很低;

提供服务质量管理;

发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;

假设数据不可知,不强求传输数据的类型与格式,保持灵活性。

三、物联网为何首选MQTT

1.为何选择 MQTT

MQTT 是一种轻量级的、灵活的网络协议,致力于为 IoT 开发人员实现适当的平衡:

这个轻量级协议可在严重受限的设备硬件和高延迟/带宽有限的网络上实现。

它的灵活性使得为 IoT 设备和服务的多样化应用场景提供支持成为可能。

为了了解为什么 MQTT 如此适合 IoT 开发人员,我们首先来分析一下为什么其他流行网络协议未在 IoT 中得到成功应用。

2.为什么不选择其他众多网络协议

大多数开发人员已经熟悉 HTTP Web 服务。那么为什么不让 IoT 设备连接到 Web 服务?设备可采用 HTTP 请求的形式发送其数据,并采用 HTTP 响应的形式从系统接收更新。这种请求和响应模式存在一些严重的局限性:

A.HTTP 是一种同步协议。客户端需要等待服务器响应。Web 浏览器具有这样的要求,但它的代价是牺牲了可伸缩性。在 IoT 领域,大量设备以及很可能不可靠或高延迟的网络使得同步通信成为问题。异步消息协议更适合 IoT 应用程序。传感器发送读数,让网络确定将其传送到目标设备和服务的最佳路线和时间。

B.HTTP 是单向的。客户端必须发起连接。在 IoT 应用程序中,设备或传感器通常是客户端,这意味着它们无法被动地接收来自网络的命令。

HTTP 是一种 1-1 协议。客户端发出请求,服务器进行响应。将消息传送到网络上的所有设备上,不但很困难,而且成本很高,而这是 IoT 应用程序中的一种常见使用情况。

C.HTTP 是一种有许多标头和规则的重量级协议。它不适合受限的网络。

出于上述原因,大部分高性能、可扩展的系统都使用异步消息总线来进行内部数据交换,而不使用 Web 服务。事实上,企业中间件系统中使用的最流行的消息协议被称为 AMQP(高级消息排队协议)。但是,在高性能环境中,计算能力和网络延迟通常不是问题。AMQP 致力于在企业应用程序中实现可靠性和互操作性。它拥有庞大的特性集,但不适合资源受限的 IoT 应用程序。

除了 AMQP 之外,还有其他流行的消息协议。例如,XMPP(Extensible Messaging and Presence Protocol,可扩展消息和状态协议)是一种对等即时消息 (IM) 协议。它高度依赖于支持 IM 用例的特性,比如存在状态和介质连接。与 MQTT 相比,它在设备和网络上需要的资源都要多得多。

本文来自个人微信公众号「ID:strongerHuang」,经原作者授权发布。原文公众号由嵌入式工程师「strongerHuang」在精心整理并维护。专注分享的内容包含:Keil、IAR、STM8、STM32、μC/OS、FreeRTOSCANOpen、ModBus.。.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

ESP8285简介

关键字: 物联网 esp8285 esp8266

2024年5月18日,强国机械制造有限公司正式宣布,全力支持国家提出的“中国制造2050”战略。公司将把智能制造作为未来发展的核心方向,致力于在这一领域实现重大突破,提升中国制造业的全球竞争力。

关键字: 智能制造 物联网

文章设计了一种基于物联网技术的物流柜振动远程监控系统,可实时监控物品运输过程中的温湿度、方位角、加速度、振动功率谱等参数,并通过N8-410T接入物联网云端,可实时查询,并对可能发生的货物损坏做出预警

关键字: 物联网 Zigbee 数字信号处理器

随着每家每户联网设备数量的不断增加,管理无线干扰(尤其是 2.4 GHz 频段)的挑战也随之而来。根据国际专业服务机构德勤(Deloitte)的数据,2022 年每个家庭的平均联网设备数量为 22 台,随着消费者在家中部...

关键字: Wi-Fi 智能家居 物联网

nRF Cloud现在提供一整套服务,包括设备管理、定位和安全,为物联网客户提高了灵活性和可扩展性

关键字: 物联网 传感器

【2024年5月13日,德国慕尼黑和斯图加特讯】随着汽车行业向软件定义汽车和新E/E架构过渡,市场对高性能硬件和强大网络安全解决方案的需求也逐渐增加。为满足这一需求,全球功率系统和物联网领域的半导体领导者英飞凌科技股份公...

关键字: 微控制器 半导体 物联网

2024年5月11日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 是Digi International Inc.的全球授权代理商,Digi...

关键字: 物联网 M2M 调制解调器

基于米尔-全志 T527设计一个简易的物联网网关,该网关能够管理多台MQTT设备,通过MQTT协议对设备进行读写操作,同时提供HTTP接口,允许用户通过HTTP协议与网关进行交互,并对设备进行读写操作。

关键字: 物联网 开发板 网关

全球通信技术公司Tata Communications 于今日推出了 Tata Communications CloudLyte,这是一款全自动边缘计算平台,旨在帮助面向未来的企业在数据驱动的世界中蓬勃发展。

关键字: 边缘计算 5G 物联网

【2024年5月9日,德国慕尼黑讯】信息安全与功能安全在汽车行业发挥着日益重要的作用,即便在低端微控制器应用中也不例外。与此同时,汽车制造商正在用触摸表面取代机械按钮,实现简洁的驾驶舱和方向盘。因此,电子电路的空间受到很...

关键字: 物联网 电子电路 微控制器
关闭
关闭