MQTT 移植STM32+GPRS(串口透传)(二)

本文介绍了如何将MQTT协议移植到STM32微控制器上,并利用GPRS模块进行串口透传,实现远程数据推送。重点在于PUBLISH指令的应用,用于在MQTT网络中发布消息。
摘要由CSDN通过智能技术生成

上一篇中,介绍了什么是MQTT协议、常用的领域和一些典型特征,这篇还要补充部分概念性理论。

## 协议解析
整体的协议构造,整体分为 固定头部+可变头部+消息内容 如下图所示
! [head](http://omp77n3im.bkt.clouddn.com/MQTT_msg_head.png)

其中byte 1 的高四位(4~7)代表信息的类型共13中,(0作为保留)上篇中有介绍。
Qos代表服务质量等级(QosLEVELS)参数,或者是发送消息的次数。见下文 
固定头部的BYTE2位用来保存后面可变头部+消息体的大小。但并不是直接保存,同样可以拓展,前7位保存长度,剩余的作为标识位。EG:如果后面的数据大于127,此时最高位标识位为1,表示要拓展一个字节,同样如果数据量大于162383,拓展出的第二位的最高位也为1,一次类推。最大可以表示256M的数据量。

## 服务质量等级(QosLevels)参数
###MQTT提供三种Qos的消息传递质量:

Qos = 0&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值