stm32 mqtt 如何判断连接服务器是否成功_物联网项目开发快速入门(八):MQTT 的快速入门,基于esp32实现MQTT通信...

MQTT 介绍

  1. 简介

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。

fa5e308f8a5d6f44d65d4e59b9bf3e19.png

2. 通信方式

  • MQTT基于客户端-服务器方式,以消息订阅/发布方式传输数据。先说一下几个概念:
  • MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。代理Broker :它就是MQTT的主体,实际上就是一个服务器,相当于整个MQTT的信息中转站,将发布者的信息转发给订阅者。在实际应用的过程中一般使用云服务器作为代理Broker.发布者(Publish):顾名思义就是消息的发布者,它负责把消息通过(Publish)方式发送到Broker服务器上,剩下的它就不管了。订阅者(Subscribe):订阅者则是消息接收方,当服务器接收到发布者发布的信息后,在服务器中查找如果发现有订阅者订阅了这条信息,那么服务器就把这条信息发送给订阅者。
  • 那么这三者通过什么方式判断消息的区别那?那又引出来下一个概念主题(Topic)和负载(Payload). Topic:可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload)payload:可以理解为消息的内容,是指订阅者具体要使用的内容。

通俗上讲就是 :发布者和订阅者约定好一个标题(主题topic)并且把这个标题存储在服务器上,发布者把消息内容(负载(Payload))发布到服务器这个标题下面,订阅者从服务器订阅这个标题。 当服务器发现这个标题下面有内容了就开始查找谁订阅这个标题,查找到了之后就把消息内容发送给订阅者 。

程序介绍

esp-idf 中有专门介绍MQTT的相关例程,例程位于esp-idf/examples/protocols/mqtt中,乐鑫提供了多个例程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值