趣小组
[ MAKE ]
首页
节点
分享
创造
问与答
二手交易
编程
电子
树莓派
Arduino
手工
小玩意
ACG 二次元
科学
文化
电影
宠物
旅行
技术支持
登录
注册
首页
编程
MQTT 协议
Spoony
64.6m
•
2020-12-07
•
1283 次点击
### 消息报文格式 MQTT协议是应用层协议,需要借助TCP/IP协议进行传输,类似HTTP协议。MQTT协议也有自己的格式,如下表: [ Fixed Header | Variable Header | Payload] Fixed Header: 固定头部,MQTT协议分很多种类型,如连接,发布,订阅,心跳等。其中固定头是必须的,所有类型的MQTT协议中,都必须包含固定头。 Variable Header:可变头部,可变头部不是可选的意思,而是指这部分在有些协议类型中存在,在有些协议中不存在。 Payload:消息载体,就是消息内容。与可变头一样,在有些协议类型中有消息内容,有些协议类型中没有消息内容。 https://www.jianshu.com/p/aa1a3518050d ### mosquitto 常用命令 1、mosquitto重启# 1.1 查看mosquitto的进程# 命令:ps -aux | grep mosquitto 1.2 杀掉进程# 命令:kill -9 18248 1.3 启动# 命令:mosquitto -c /etc/mosquitto/mosquitto.conf -d mosquitto 启动命令 启动命令# mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v] -c 后面跟的是启动mosquitto可以调整的参数,比如是否开启基本认证,端口是什么,SSL单向和双向的认证配置等等。 -d 表示MQTT mosquitto将在后台运行。 -p 代表当前的mosquitto服务实例启动以后,其监听端口号,这个配置的覆盖[-c config file] 指定的配置文件中的端口 -v 代码调试模式(verbose)可以输出更多的信息 mosquitto_pub 命令参数说明 1. -d 打印debug信息 2. -f 将指定文件的内容作为发送消息的内容 3. -h 指定要连接的域名 默认为localhost 4. -i 指定要给哪个clientId的用户发送消息 5. -I 指定给哪个clientId前缀的用户发送消息 6. -m 消息内容 7. -n 发送一个空(null)消息 8. -p 连接端口号 9. -q 指定QoS的值(0,1,2) 10. -t 指定topic 11. -u 指定broker访问用户 12. -P 指定broker访问密码 13. -V 指定MQTT协议版本 14. --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用 15. --will-qos Will的QoS值。该参数需要与--will-topic一起使用 16. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用 17. --will-topic 用户发送Will消息的topic mosquitto_sub 命令参数说明 1. -c 设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。 2. -d 打印debug信息 3. -h 指定要连接的域名 默认为localhost 4. -i 指定clientId 5. -I 指定clientId前缀 6. -k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。 7. -q 指定希望接收到QoS为什么的消息 默认QoS为0 8. -R 不显示陈旧的消息 9. -t 订阅topic 10. -v 打印消息 11. --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用 12. --will-qos Will的QoS值。该参数需要与--will-topic一起使用 13. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用 14. --will-topic 用户发送Will消息的topic 作者: chenlife 出处:https://www.cnblogs.com/smartlife/articles/10182136.html
### 消息报文格式
MQTT协议是应用层协议,需要借助TCP/IP协议进行传输,类似HTTP协议。MQTT协议也有自己的格式,如下表:
[ Fixed Header | Variable Header | Payload]
Fixed Header: 固定头部,MQTT协议分很多种类型,如连接,发布,订阅,心跳等。其中固定头是必须的,所有类型的MQTT协议中,都必须包含固定头。
Variable Header:可变头部,可变头部不是可选的意思,而是指这部分在有些协议类型中存在,在有些协议中不存在。
Payload:消息载体,就是消息内容。与可变头一样,在有些协议类型中有消息内容,有些协议类型中没有消息内容。
https://www.jianshu.com/p/aa1a3518050d
### mosquitto 常用命令
1、mosquitto重启#
1.1 查看mosquitto的进程#
命令:ps -aux | grep mosquitto
1.2 杀掉进程#
命令:kill -9 18248
1.3 启动#
命令:mosquitto -c /etc/mosquitto/mosquitto.conf -d
mosquitto 启动命令
启动命令#
mosquitto [-c config file] [ -d | --daemon ] [-p port number] [-v]
-c 后面跟的是启动mosquitto可以调整的参数,比如是否开启基本认证,端口是什么,SSL单向和双向的认证配置等等。
-d 表示MQTT mosquitto将在后台运行。
-p 代表当前的mosquitto服务实例启动以后,其监听端口号,这个配置的覆盖[-c config file] 指定的配置文件中的端口
-v 代码调试模式(verbose)可以输出更多的信息
mosquitto_pub 命令参数说明
1. -d 打印debug信息
2. -f 将指定文件的内容作为发送消息的内容
3. -h 指定要连接的域名 默认为localhost
4. -i 指定要给哪个clientId的用户发送消息
5. -I 指定给哪个clientId前缀的用户发送消息
6. -m 消息内容
7. -n 发送一个空(null)消息
8. -p 连接端口号
9. -q 指定QoS的值(0,1,2)
10. -t 指定topic
11. -u 指定broker访问用户
12. -P 指定broker访问密码
13. -V 指定MQTT协议版本
14. --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
15. --will-qos Will的QoS值。该参数需要与--will-topic一起使用
16. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用
17. --will-topic 用户发送Will消息的topic
mosquitto_sub 命令参数说明
1. -c 设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。
2. -d 打印debug信息
3. -h 指定要连接的域名 默认为localhost
4. -i 指定clientId
5. -I 指定clientId前缀
6. -k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。
7. -q 指定希望接收到QoS为什么的消息 默认QoS为0
8. -R 不显示陈旧的消息
9. -t 订阅topic
10. -v 打印消息
11. --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用
12. --will-qos Will的QoS值。该参数需要与--will-topic一起使用
13. --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使用
14. --will-topic 用户发送Will消息的topic
作者: chenlife
出处:https://www.cnblogs.com/smartlife/articles/10182136.html
收藏
♥ 感谢
Spoony
小组长
2020-12-07
Arduino MQTT Client API Documentation
https://pubsubclient.knolleary.net/api
Spoony
小组长
2020-12-07
mosquitto
https://mosquitto.org/download/
Github
https://github.com/eclipse/mosquitto
API
https://mosquitto.org/api/files/mosquitto-h.html
登录
或
注册
后可回复。
›
GitHub