消息队列遥测传输(MQTT)介绍
消息队列遥测传输(MQTT)是一种ISO标准消息传递协议,旨在通过不可靠的网络连接传感器。它在TCP/IP互联网协议之上工作。
两位工程师Andy Stanford-Clark和Arlen Nipper在1999年创建了协议。他们正在开发一个系统来监控不可靠卫星上的远程石油管道网络,并且需要低功耗,易于实现且非常可靠的消息传递系统。
自开发以来,MQTT已发展成为许多物联网系统中使用的关键消息传递协议,是家庭自动化,水培或远程气象站的理想选择。
MQTT的主要优势
1、效率
MQTT消息带宽小,设计合理在低功率系统上实施。这使其成为任何电池供电传感器的理想选择。使用MQTT作为消息传递协议可以延长项目的电池寿命。
2、轻松实现
实现MQTT非常简单远程传感器系统上的消息。由于大部分复杂工作都是在中央服务器上实现的,因此远程系统可以在其他地方使用其资源。
3、可靠性
MQTT用于任务关键型传感器系统,其中发送的任何消息都得到确认和接收至关重要。MQTT允许您通过声明其服务质量(QOS)级别来定义消息的重要性。在项目中使用MQTT可以让您高枕无忧,即可以收到所有重要信息。
4、数据不可知
此协议允许您以消息,数字,单词,甚至可扩展标记语言(XML)或JavaScript对象表示法(JSON)发送任何类型的文本数据。
MQTT如何工作
MQTT遵循发布/订阅原则,由两个元素组成:经纪人和客户。
MQTT包含两个元素:经纪人和客户。
任何MQTT系统的核心都是一个名为broker的应用程序,它可以接收和传输MQTT消息。当代理从客户端收到消息时,它可以将消息发送到订阅该消息主题的任何其他客户端。常用的MQTT代理是Mosquitto,可用于许多平台,如Windows,Linux或Raspberry Pi。甚至还有一个可供任何人使用的在线经纪人。
MQTT系统的第二个组件是客户端,它连接到代理并可以发布或订阅MQTT消息。对于基于ESP8266的项目,PubSubClient经常被用作MQTT客户端的基础。
MQTT消息按主题分类,主题是编码到每个消息中的字符串。客户端订阅主题,当代理收到消息时,它会将其传输给订阅它的任何客户端。MQTT主题具有与文件系统类似的结构,并使用/字符作为分隔符。一些示例主题是:
home/kitchen/light
home/lounge/lamp
home/lounge/light
通配符(#)可用于订阅级别上的所有消息。例如,订阅home/lounge/#的客户将收到家庭/休息室/灯和家庭/休息室/灯光消息。订阅home/#的客户将收到以上所有订阅。
MQTT提供简易消息系统
MQTT可以为制造商提供强大的功能,易于实现,可靠的消息系统。它适用于需要在设备之间进行通信的任何项目,例如家庭监控系统,并且可以在以后阶段轻松调整以合并其他传感器。
消息队列遥测传输(MQTT)介绍相关推荐
- 互联网协议 — MQTT 消息队列遥测传输协议
目录 文章目录 目录 MQTT MQTT 的设计原则 MQTT 的实现原理 MQTT 的关键术语 MQTT 的方法 MQTT 报文结构 Linux MQTT Server Android MQTT C ...
- MQTT - 消息队列遥测传输协议
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级" ...
- MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)协议
简介 mqtt有IBM公司开发,90年代的产物. 解决了如下问题:服务器必须要实现成千上万的接入:单词数据量小,不能出错:必须能够使用高延迟.偶尔断网等通信不可靠的风险:根据数据的重要程度和特性,设置 ...
- MQTT——具有.NET Core的消息队列遥测传输协议
目录 介绍 什么是MQTT REST是什么? 体系结构 有效载荷 安全 代码样例 代理 发布者 订阅者 执行 概要 Git存储库链接 参考文献 介绍 发布/订阅模式是解耦软件的常见要求.有各种可用的技 ...
- java mqtt客户端_MQTT消息队列遥测传输
说实话这个折腾了我好久好久,我才知道,原来学习不是最痛苦的,学习却学不会才是最痛苦的事.生产者将消息发布到一个主题,消费者从该协议里读取数据,MQTT是为IoT物联网通信设计的协议,MQTT使物联网低 ...
- Kafka,ActiveMQ,RabbitMQ等消息队列使用的场景介绍
点击上方"后端技术精选",选择"置顶公众号" 技术文章第一时间送达! 作者:cws1214 blog.csdn.net/cws1214/article/deta ...
- python 消息中间件_消息队列中间件 RabbitMQ 详细介绍——安装与基本应用(Python)...
RabbitMQ 是当前最流行的消息中间件(Message Broker)之一,支持多种消息协议(如 AMQP.MQTT). 同时它也是一个轻量级的非常易于部署的开源软件,可以运行在当前大多数操作系统 ...
- 一种MQTT客户端消息队列的设计
MQTT 简介 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议.它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟 ...
- 消息队列服务器 轻量,PHP的轻量消息队列php-resque使用说明
消息队列处理后台任务带来的问题 项目中经常会有后台运行任务的需求,比如发送邮件时,因为要连接邮件服务器,往往需要5-10秒甚至更长时间,如果能先给用户一个成功的提示信息,然后在后台慢慢处理发送邮件的操 ...
最新文章
- html生成的超级链接预览功能,超链接特效
- ​linux中使用文本工具截取ip 的几种方法
- LinkedList详解,看这篇就够了
- CentOS7 开机自启动脚本 chkconfig方式
- 安卓线程同步面试_面试BAT大厂,可少不了这些题目!
- java 下面的while语句退出时_java 下面的while语句退出时
- libvpx在windows下的编译
- 如何从阿里巴巴矢量图标库引入图标
- 利用python在word文档中查找关键字(支持多个文档和多个关键字)
- 算法学习之贪心法(会议安排)
- java swing 有哪些_一个经典的java swing gui设计(几乎包含所有常用的控件及布局)
- 【免费分享】论文查重软件(亲测好用!)
- TCP快速恢复算法PRR
- 李佳琦同款美容仪,让护肤品效果翻倍
- 微信企业号的五个典型案例分享
- Android Lint代码检查实践
- 【论文翻译】Cluster Contrast for Unsupervised Person Re-Identification(2021)
- 百度在线html,百度编辑器-Ueditor
- 牛客网——歪脖子树下的灯
- SQL超级详细的使用教程
热门文章
- 测试邮件系统需要做的准备工作
- dm365 resize
- H264关于RTP协议的实现
- shopee虾皮科技测试工程师第一次笔试
- oracle 命令日志输出,ORACLE常用命令日志
- oracle存储过程关键字有哪些,ORACLESTREAMS存储过程中的一些参数有哪些?
- mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货
- c#操作html dom元素,C#获取与修改HTML DOM元素信息
- 计算机网络课程思政教学设计,信息与网络工程学院成功举办第一届课程思政教学设计大赛...
- 前后端分离的项目部署到tomcat_如何在开发时部署和运行前后端分离的JavaWeb项目...