W5100S+树莓派RP2040快速入门之MQTT篇(十二)

目录

前言

MQTT介绍

什么是mqtt?

MQTT主要控制报文

固定报头 Fixed header

MQTT控制报文的类型 MQTT Control Packet type

标志 Flags

剩余长度 Remaining Length(包括可变报头和负载的数据的长度)

可变报头 Variable header

有效载荷 Payload

协议格式讲解

 CONNECT报文

 PUBLISH报文

SUBSCRIBE报文

DISCONNECT报文

硬件准备及接线方式

 硬件准备

接线方式(W5100SIO模块+树莓派RP2040)

测试

MQTT测试流程图

相关代码

测试现象

相关链接: 



前言

        

        上一章我们用W5100S-EVB-PICO通过SNTP获取网络时间,那么本章我们介绍一下MQTT协议的内容以及使用开发板与MQTTX软件来实现mqtt通信。

        如果您在阅读本章之后仍有不清楚的地方,可以私信联系我们或者评论区留言,我们会及时回复您的问题!

MQTT介绍

什么是mqtt?

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

MQTT主要控制报文

固定报头 Fixed header

        每个MQTT控制报文都包含一个固定报头。

Bit

7

6

5

4

3

2

1

0

byte 1

MQTT控制报文的类型

用于指定控制报文类型的标志位

byte 2...

剩余长度

MQTT控制报文的类型 MQTT Control Packet type

        位置:第1个字节,二进制位7-4

名字

报文流动方向

描述

Reserved

0

禁止

保留

CONNECT

1

客户端到服务端

客户端请求连接服务端

CONNACK

2

服务端到客户端

连接报文确认

PUBLISH

3

两个方向都允许

发布消息

PUBACK

4

两个方向都允许

QoS 1消息发布收到确认

PUBREC

5

两个方向都允许

发布收到(保证交付第一步)

PUBREL

6

两个方向都允许

发布释放(保证交付第二步)

PUBCOMP

7

两个方向都允许

QoS 2消息发布完成(保证交互第三步)

SUBSCRIBE

8

客户端到服务端

客户端订阅请求

SUBACK

9

服务端到客户端

订阅请求报文确认

UNSUBSCRIBE

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值