概述
MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好的选择,特别是对于受限的环境如机器与机器的通信(M2M)以及物联网环境(IoT)。
——MQTT协议规范
MQTT协议的官方规范很好地描述了MQTT的全部含义。MQTT协议是一种很轻的通讯协议。与HTTP之类的协议相比,MQTT在通过网络传输数据时表现出众。
该协议的另一个重要特点是易于在客户端实现。因此,MQTT成为了当今世界上最受欢迎的物联网协议。它已广泛应用于车联网、智能家居、即时聊天应用和工业互联网等领域。
目前通过MQTT协议连接的设备已经过亿,这些都得益于MQTT 协议为设备提供了稳定、可靠、易用的通信基础。
MQTT协议的历史
MQTT协议最初版本是在1999年建立的。该协议的发明人是的Andy Stanford-Clark和Arlen Nipper。
Andy Stanford-Clark
Arlen Nipper
他们当时正在开发一个利用卫星通讯监控输油管道的项目。为了实现这个项目要求,他们需要开发一种用于嵌入式设备的通讯协议,这种通讯协议必须满足以下条件:
易于实现
数据传输的服务质量可控
占用带宽小
传输数据内容不可预知
设备连接状态可知
从以上几点不难看出,MQTT 从诞生之初就是专为低带宽、高延迟或不可靠的网络而设计的。虽然历经几十年的更新和变化,以上这些特点仍然是MQTT协议的核心特点。但是与最初不同的是,MQTT协议已经从嵌入式系统应用拓展到开放的物联网(IoT)领域。
OASIS标准
结构化信息标准促进组织
2014年10月29日,MQTT成为OASIS(结构化信息标准促进组织)正式批准的通讯标准。OASIS是一个推进电子商务标准的发展、融合与采纳的非盈利性国际化组织。
相比其他组织,OASIS形成了Web服务标准的同时也提出了安全的电子商务标准,同时在针对公众领域和特定应用市场的标准化方面也付出很多的努力。自1993年成立开始,OASIS已经发展成为了由来自100多个国家的600多家组织、企业组成的标准化组织。
简言之,由众多业内专家组成的OASIS愿意为MQTT背书,组件该协议在物联网领域的重要性。
MQTT协议版本
目前MQTT主流版本有两个,分别是MQTT3.1.1和MQTT5。MQTT3.1.1是在2014年10月发布的,而MQTT5是在2019年3月发布的。由于MQTT3.1.1与MQTT5的时间相差了将近五年,且MQTT5的发布时间距今不久,因此在本文书写时(2020年10月),MQTT3.1.1仍然主流版本。
MQTT5是在MQTT3.1.1的基础上进行了升级。因此MQTT5是完全兼容MQTT3.1.1的。而MQTT5是在MQTT3.1.1的基础上添加了更多的功能补充完善MQTT协议。
MQTT5与MQTT3.1.1的关系
本教程将会重点针对MQTT3.1.1进行介绍,这么做有几点原因:
MQTT3.1.1是MQTT5的基础,因此掌握了MQTT3.1.1后可以通过进一步学习掌握MQTT5的使用。
当前多种流行编程语言的MQTT客户端库仍然只支持MQTT3.1.1,而不支持MQTT5。
目前物联网环境中的大量设备仍然使用MQTT3.1.1协议而不支持MQTT5协议。
基于以上几点原因,本教程将以MQTT3.1.1作为重点讲解。毕竟掌握了MQTT3.1.1,对于学习MQTT5是没有任何浪费的。学会MQTT3.1.1后,如果想要使用MQTT5。那么无需重新学习MQTT5,而只要利用MQTT3.1.1的基础再学习MQTT5的新功能就可以了。
----------
本教程为 太极创客团队 制作的《零基础入门学用物联网》系列教程第二篇- MQTT篇。假如您学习本教程感到有些吃力,那么您可能还没有观看本系列教程 第一篇 - 基础知识篇。您可以通过以下链接收看本教程第一篇 - 基础知识篇教程内容。
假如您也喜欢太极创客,希望您将本文“分享”或“在看”。 让更多朋友认识我们。您的每一份支持与鼓励,都是对我们最温暖的鼓励与支持。
谢谢~~~
最后
以上就是危机母鸡为你收集整理的iot架构 mqtt netty_【零基础学物联网】MQTT篇 11 MQTT是什么的全部内容,希望文章能够帮你解决iot架构 mqtt netty_【零基础学物联网】MQTT篇 11 MQTT是什么所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复