0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是MQTT 有哪些特点

454398 来源:工程师吴畏 2019-07-26 10:39 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

消息队列遥测传输(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。

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

    关注

    5

    文章

    720

    浏览量

    24783
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用paho-mqtt里例程连接服务器失败怎么解决?

    【rt-thread】【paho-mqtt】最近由于学习需要,了解了关于rt-thread软件包paho-mqtt的使用,但是使用官方例程时,出现连接不上服务器的情况。具体报错如下: msh
    发表于 09-18 06:38

    MQTT_协议中文资料

    电子发烧友网站提供《MQTT_协议中文资料.pdf》资料免费下载
    发表于 09-02 16:19 0次下载

    物联网MQTT网关是什么

    ,适用于智能家居、工业物联网、环境监测等多个领域。 一、核心定义与定位 MQTT(Message Queuing Telemetry Transport)是一种基于发布/订阅模式的轻量级通信协议,专为低带宽、不稳定网络环境设计,具有消息头部小、资源消耗低的特点
    的头像 发表于 08-29 15:24 655次阅读

    MQTT物联网数据解析的难点哪些?

    MQTT物联网数据解析的难点主要源于物联网场景中设备的多样性、数据的复杂性以及系统的高要求,具体可归纳为以下几个方面。
    的头像 发表于 08-05 18:13 571次阅读

    GraniStudio :MQTT 协议的深度剖析

    在工业物联网(IIoT)的通信协议体系中,MQTT(Message Queuing Telemetry Transport)凭借其轻量级、发布 - 订阅模式和低带宽占用等特性,成为连接边缘设备与云端
    的头像 发表于 08-04 09:48 809次阅读
    GraniStudio :<b class='flag-5'>MQTT</b> 协议的深度剖析

    MQTT网关具备边缘计算功能吗?什么功能?

    现代MQTT网关通常具备边缘计算功能,尤其是为适应物联网(IoT)场景中低延迟、高可靠、带宽优化等需求而设计的新一代网关。传统MQTT网关的核心功能是协议转换(如将Modbus、ZigBee等设备
    的头像 发表于 07-15 15:01 578次阅读
    <b class='flag-5'>MQTT</b>网关具备边缘计算功能吗?<b class='flag-5'>有</b>什么功能?

    MQTT介绍

    一、什么是MQTT 物联网(IoT)发展迅猛,传感器、网关、云平台之间如何高效通信成了核心问题。MQTT(Message Queuing Telemetry Transport)作为一种轻量级
    的头像 发表于 07-14 09:34 3498次阅读
    <b class='flag-5'>MQTT</b>介绍

    精通 MQTT:消息队列遥测传输指南!

    引言MQTT(消息队列遥测传输)是一种轻量级消息协议,专为低带宽、高延迟和不可靠的网络环境设计。它广泛应用于物联网(IoT)应用、消息系统以及实时数据通信领域。本指南深入探讨了MQTT的工作原理
    的头像 发表于 06-16 16:56 828次阅读
    精通 <b class='flag-5'>MQTT</b>:消息队列遥测传输指南!

    MQTT 回调处理程序中遇到了随机 MQTT 断开连接的问题,怎么解决?

    MCU:CYW55913。 MQTT Broker 端点:Amazon AWS 云。 保持活动超时:60 秒 ping 响应超时:5 秒 我们在 MQTT 回调处理程序中遇到了随机 MQTT
    发表于 06-05 07:14

    如何在MQTT中发布和订阅实体

    消息发送到MQTT代理(Broker)上的特定主题(Topic)。发布者无需知道哪些客户端订阅了该主题,只需将消息发送到代理即可。 订阅(Subscribe):客户端向MQTT代理注册感兴趣的主题,当
    的头像 发表于 05-20 17:21 1015次阅读

    串口转网口(Modbus转MQTT)灌区数采网关有什么功能特点

    在一座大型灌区中部署多个泵站、闸站、测控站等设施,里面包括水泵、阀门、闸门、PLC、流量计、水位计等设备。这些设备主要通过ModbusRTU协议进行通信,数据通过串口传输,但在接入智慧灌区管理平台
    的头像 发表于 05-08 15:29 508次阅读
    串口转网口(Modbus转<b class='flag-5'>MQTT</b>)灌区数采网关有什么功能<b class='flag-5'>特点</b>

    MQTT物联网平台哪些?哪些功能?

    MQTT(Message Queuing Telemetry Transport)是一种基于客户端-服务器架构的发布/订阅模式的消息传输协议,它广泛应用于机器与机器的通信(M2M)以及物联网环境
    的头像 发表于 03-15 14:23 1219次阅读
    <b class='flag-5'>MQTT</b>物联网平台<b class='flag-5'>有</b>哪些?<b class='flag-5'>有</b>哪些功能?

    MQTT测试程序上机实验

    mqtt_test、paho.mqtt.c.tar.bz2放到Ubuntu上同一个目录下。
    的头像 发表于 02-11 13:35 1085次阅读
    <b class='flag-5'>MQTT</b>测试程序上机实验

    基于MQTT协议的车云通信设计

    随着智能汽车的发展,车云通信的功能场景及数据量也逐渐增多,具有轻量化、可靠性等特点MQTT协议成为很多OEM车云通信协议的选择。本文主要介绍。 什么是MQTTMQTT(Messa
    的头像 发表于 01-08 10:24 1719次阅读
    基于<b class='flag-5'>MQTT</b>协议的车云通信设计

    百问MQTT协议分析 - MQTT简述及协议报文格式组成

    16.1 mqtt协议介绍 16.1.1 概述 ​MQTT是一个客户端服务端架构的发布/订阅模式的消息传输协议。它的设计思想是轻巧、开放、简单、规范,易于实现。这些特点使得它对很多场景来说都是很好
    发表于 12-13 09:29