MQTT mosquitto 订阅 、发布常用命令及示例

本文详细介绍了MosquittoMQTT代理服务器的启动、配置、发布/订阅消息、以及mosquitto_pub和mosquitto_sub命令的使用方法,包括指定端口、配置文件、认证选项和QoS控制等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 1. mosquitto 

 2. mosquitto_pub

 3. mosquitto_sub


 1. mosquitto 

1. 启动Mosquitto代理服务器

这个命令将启动Mosquitto MQTT代理服务器,默认监听1883端口。

2. 指定监听端口启动Mosquitto代理服务器:

mosquitto -p 1884

这个命令将启动Mosquitto MQTT代理服务器,并监听在1884端口。

3. 指定配置文件启动Mosquitto代理服务器:

mosquitto -c mosquitto.conf

这个命令将使用指定的配置文件(例如mosquitto.conf)启动Mosquitto MQTT代理服务器。

4. 查看Mosquitto代理服务器的日志输出:

mosquitto -v

这个命令将启动Mosquitto MQTT代理服务器,并打印详细的日志输出信息。

5. 发布消息到指定主题:

mosquitto_pub -h broker.hivemq.com -t test/topic -m "Hello, MQTT!"

这个命令将消息 "Hello, MQTT!" 发布到名为 "test/topic" 的主题。

6. 订阅指定主题并接收消息:

mosquitto_sub -h broker.hivemq.com -t test/topic

这个命令将订阅名为 "test/topic" 的主题,并接收该主题下的所有消息。

7. 指定用户名和密码订阅主题:

mosquitto_sub -h broker.hivemq.com -t test/topic -u your_username -P your_password

这个命令将在连接到MQTT代理服务器时使用指定的用户名和密码,并订阅 "test/topic" 主题。

 2. mosquitto_pub

mosquitto_pub 是Mosquitto MQTT客户端工具的一部分,它用于发布(publish)MQTT消息到指定的主题。以下是一些常用的 mosquitto_pub 命令及示例:

1. 发布消息到指定主题:

mosquitto_pub -h broker.hivemq.com -t test/topic -m "Hello, MQTT!"

这个命令将消息 "Hello, MQTT!" 发布到名为 "test/topic" 的主题。

2. 指定用户名和密码发布消息:

mosquitto_pub -h broker.hivemq.com -t test/topic -m "Hello, MQTT!" -u your_username -P your_password

这个命令将在连接到MQTT代理服务器时使用指定的用户名和密码,并发布消息到 "test/topic" 主题。

3. 指定消息的QoS级别:

mosquitto_pub -h broker.hivemq.com -t test/topic -m "Hello, MQTT!" -q 1

这个命令将消息发布到 "test/topic" 主题,并将消息的QoS级别设置为1。

4. 指定消息的保留标志:

mosquitto_pub -h broker.hivemq.com -t test/topic -m "Hello, MQTT!" -r

这个命令将消息发布到 "test/topic" 主题,并设置消息的保留标志为true。

5. 从文件中读取消息内容:

mosquitto_pub -h broker.hivemq.com -t test/topic -f message.txt

这个命令将从名为 "message.txt" 的文件中读取消息内容,并将其发布到 "test/topic" 主题。

 3. mosquitto_sub

以下是一些常用的 mosquitto_sub 命令及示例:

1. 订阅指定主题并接收消息:

mosquitto_sub -h broker.hivemq.com -t test/topic

这个命令将订阅名为 "test/topic" 的主题,并接收该主题下的所有消息。

2. 指定用户名和密码订阅主题:

mosquitto_sub -h broker.hivemq.com -t test/topic -u your_username -P your_password

这个命令将在连接到MQTT代理服务器时使用指定的用户名和密码,并订阅 "test/topic" 主题。

3. 指定消息的QoS级别:

mosquitto_sub -h broker.hivemq.com -t test/topic -q 1

这个命令将订阅 "test/topic" 主题,并将消息的QoS级别设置为1。

4. 打印接收到的消息内容和主题:

mosquitto_sub -h broker.hivemq.com -t test/topic -v

这个命令将订阅 "test/topic" 主题,并打印接收到的消息内容和主题。

5. 指定客户端标识订阅主题:

mosquitto_sub -h broker.hivemq.com -t test/topic -i myclient

这个命令将使用 "myclient" 作为客户端标识连接到MQTT代理服务器,并订阅 "test/topic" 主题。

注意:这些是一些常用的Mosquitto命令及示例,你可以根据自己的需求进行调整和使用。更多关于Mosquitto命令和选项,请参考Mosquitto官方文档。 

以下是 Mosquitto 常用命令的详细示例:

1. mosquitto_sub 订阅主题并接收消息:

- 订阅主题 mytopic 并接收消息:

    mosquitto_sub -t mytopic
     

- 订阅主题 mytopic ,指定 MQTT 代理服务器的主机名为 localhost ,端口号为 1883 ,并显示接收到的消息的详细信息:

    mosquitto_sub -t mytopic -h localhost -p 1883 -v
     

- 订阅主题 mytopic ,连接到 MQTT 代理服务器时使用用户名和密码进行身份验证:

    mosquitto_sub -t mytopic -u myusername -P mypassword
     

2. mosquitto_pub 发布消息到指定主题:

- 发布消息 Hello, MQTT! 到主题 mytopic :

    mosquitto_pub -t mytopic -m "Hello, MQTT!"
     

- 发布消息 Hello, MQTT! 到主题 mytopic ,指定 MQTT 代理服务器的主机名为 localhost ,端口号为 1883 :

    mosquitto_pub -t mytopic -m "Hello, MQTT!" -h localhost -p 1883
     

- 发布消息 Hello, MQTT! 到主题 mytopic ,连接到 MQTT 代理服务器时使用用户名和密码进行身份验证:

    mosquitto_pub -t mytopic -m "Hello, MQTT!" -u myusername -P mypassword
     

3. mosquitto_passwd 管理 Mosquitto 的用户密码:

- 创建新用户 myuser 并设置密码,将其保存到名为 passwordfile 的密码文件中:

    mosquitto_passwd -c passwordfile myuser
     

- 为现有用户 myuser 设置密码,将密码保存到名为 passwordfile 的密码文件中:

    mosquitto_passwd -b passwordfile myuser mypassword
     

- 删除名为 myuser 的用户,从名为 passwordfile 的密码文件中:

    mosquitto_passwd -D passwordfile myuser
     

4. mosquitto_ctrl 控制 Mosquitto 代理程序的运行:

- 显示 Mosquitto 代理程序的运行状态:

    mosquitto_ctrl status
     

- 启动 Mosquitto 代理程序:

    mosquitto_ctrl start
     

- 停止 Mosquitto 代理程序:

    mosquitto_ctrl stop
     

- 重启 Mosquitto 代理程序:

    mosquitto_ctrl restart
     

这些示例可以帮助您更好地理解如何使用 Mosquitto 的常用命令。根据您的需求,您可以根据这些示例进行相应的修改和调整。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值