什么是MQTT 有哪些特点

电子说

1.2w人已加入

描述

消息队列遥测传输(MQTT)是一种ISO标准消息传递协议,旨在通过不可靠的网络连接传感器。它在TCP/IP互联网协议之上工作。

两位工程师Andy Stanford-Clark和Arlen Nipper在1999年创建了协议。他们正在开发一个系统来监控不可靠卫星上的远程石油管道网络,并且需要低功耗,易于实现且非常可靠的消息传递系统。

自开发以来,MQTT已发展成为许多物联网系统中使用的关键消息传递协议,是家庭自动化,水培或远程气象站的理想选择。

MQTT的主要优势

效率

MQTT消息带宽小,设计合理在低功率系统上实施。这使其成为任何电池供电传感器的理想选择。使用MQTT作为消息传递协议可以延长项目的电池寿命。

轻松实现

实现MQTT非常简单远程传感器系统上的消息。由于大部分复杂工作都是在中央服务器上实现的,因此远程系统可以在其他地方使用其资源。

可靠性

MQTT用于任务关键型传感器系统,其中发送的任何消息都得到确认和接收至关重要。 MQTT允许您通过声明其服务质量(QOS)级别来定义消息的重要性。在项目中使用MQTT可以让您高枕无忧,即可以收到所有重要信息。

数据不可知

此协议允许您以消息,数字,单词,甚至可扩展标记语言(XML)或JavaScript对象表示法(JSON)发送任何类型的文本数据。

MQTT如何工作

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的系统的示例ESP8266客户端和运行Mosquitto代理的Raspberry Pi,请查看如何在Raspberry Pi上安装Mosquitto MQTT Broker。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分