消息队列遥测传输(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系统的核心都是一个名为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。
-
MQTT
+关注
关注
5文章
649浏览量
22435
发布评论请先 登录
相关推荐
评论