当今最受欢迎的物联网协议(学习笔记)

当今最受欢迎的物联网协议——MQTT

什么是MQTT

首先让我们了解一下什么是MQTT。

MQTT是一个客户端 服务端架构的发布/订阅模式的消息传输协议。

与HTTP之类的协议相比,MQTT在通过网络传输数据时表现出众,且该协议易于在客户端实现。因此,MQTT成为了当今世界上最受欢迎的物联网协议。它已广泛应用于车联网、智能家居、即时聊天应用和工业互联网等领域。目前通过MQTT协议连接的设备已经过亿,这些都得益于MQTT 协议为设备提供了稳定、可靠、易用的通信基础。

MQTT基本原理

在这里插入图片描述

图中汽车,手机和电脑是三个MQTT客户端。MQTT服务端在管理MQTT通讯时使用了“主题”来对信息进行管理的。假设我们需要利用手机和电脑获取汽车的速度,那么我们首先要利用电脑和手机向MQTT服务器订阅主题“汽车速度”。接下来,当汽车客户端向服务端的“汽车速度”主题发布信息后,服务端就会首先检查以下都有哪些客户端订阅了“汽车速度”这一主题的信息,并将收到的“汽车速度”信息转发给订阅了该主题的手机和电脑客户端。

连接MQTT服务端

MQTT客户端连接服务端一共有两步。
1.首先MQTT客户端将会向服务端发送连接请求。该请求实际上是一个包含有连接请求信息的数据包。这个数据包的官方名称为CONNECT。
2.MQTT服务端收到客户端连接请求后,会向客户端发送连接确认。同样的,该确认也是一个数据包。这个数据包官方名称为CONNACK。

CONNECT报文所包含的信息内容。
在这里插入图片描述

clientId 客户端ID ,ClientId必须是独立的。

cleanSession 清除会话
当cleanSession 被设置为“true”。服务端不需要客户端确认收到报文,也不会保存任何报文。在这种情况下,即使客户端错过了服务端发来的报文,也没办法让服务端再次发送报文。
当cleanSession 设置为”false”。后续通讯中,客户端会要求服务端保存没有收到的报文。

keepAlive 心跳时间间隔
要求客户端定时给服务端发送信息,确认客户端与服务端的连接情况。

CONNACK报文所包含的信息内容。
在这里插入图片描述

returnCode 连接返回码
当服务端收到了客户端的连接请求后,会向客户端发送returnCode(连接返回码),用以说明连接情况。如果客户端与服务端成功连接,则返回数字“0”。如果未能成功连接,连接返回码将会是一个非零的数值。

具体这个数值的含义可以看下面的表:
在这里插入图片描述

MQTTfx使用教程

MQTTfx的官网地址是:MQTTfx,这里不建议去官网下载,因为官网是最新版已经开始收费了。
还有一个下载办法是通过太极创客网站的下载页面获取此软件太极创客MQTTfx下载地址
下载之后进入主页面,设置添加文件
在这里插入图片描述
Subscribe是订阅,Publish是发布

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值