Ubuntu安装mosquitto

本文详细介绍了如何在系统中安装和配置mosquittoMQTTbroker,包括添加仓库、安装服务器和客户端工具,以及查看服务状态。同时,它还概述了mosquitto命令行工具的使用,如服务器(broker)、发布者(publisher)和订阅者(subscriber)的命令参数,以及如何进行测试通信。
摘要由CSDN通过智能技术生成

1. 安装 mosquitto

步骤1:引入mosquitto仓库并更新(缺少这一步,可能安装的不是最新版本的mosquitto)

$ sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
$ sudo apt-get update

步骤2:安装mosquitto软件包

$ sudo apt-get install mosquitto

步骤3:安装mosquitto-dev 开发包

$  sudo apt-get install mosquitto-dev

步骤4:安装mosquitto客户端

$  sudo apt-get install mosquitto-clients

步骤5:查看mosquitto服务是否启动

$  sudo service mosquitto status 
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker
     Loaded: loaded (/lib/systemd/system/mosquitto.servic>
     Active: active (running) since Wed 2023-03-01 01:28:>
       Docs: man:mosquitto.conf(5)
             man:mosquitto(8)
   Main PID: 8488 (mosquitto)
      Tasks: 3 (limit: 4575)
     Memory: 1.4M
     CGroup: /system.slice/mosquitto.service
             └─8488 /usr/sbin/mosquitto -c /etc/mosquitto>

Mar 01 01:28:01 ubuntu systemd[1]: Starting Mosquitto MQT>
Mar 01 01:28:01 ubuntu mosquitto[8488]: [32990.165901]~DL>
Mar 01 01:28:01 ubuntu systemd[1]: Started Mosquitto MQTT>

2. mosquitto使用

2.1 mosquitto 服务器(broker)命令:

mosquitto 命令参数说明
-v生成详细的运行日志
-c 配置文件以配置文件所设置的属性开启服务端
-p指定监听的端口.
默认是 1883 ,使用 TCP 连接;
端口1884时,使用UDP连接
-d在后台运行

2.2 mosquitto_pub 客户端(发布者)命令:

mosquitto_pub命令参数说明
-d打印debug信息
-f将指定文件的内容作为发送消息的内容
-h指定要连接的域名 默认为localhost
-i指定要给哪个clientId的用户发送消息
-I指定给哪个clientId前缀的用户发送消息
-m消息内容
-n发送一个空(null)消息
-p连接端口号
-q指定QoS的值(0,1,2)
-t指定topic
-u指定broker访问用户
-P指定broker访问密码
-V指定MQTT协议版本
–will-payload指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与–will-topic一起使用
–will-qosWill的QoS值。该参数需要与–will-topic一起使用
–will-retain指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与–will-topic一起使用
–will-topic用户发送Will消息的topic

2.3 mosquitto_sub 客户端(订阅者)命令:

mosquitto_sub 命令参数说明
-c设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息。
-d打印debug信息
-h指定要连接的域名 默认为localhost
-i指定clientId
-I指定clientId前缀
-kkeepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒。
-q指定希望接收到QoS为什么的消息 默认QoS为0
-R不显示陈旧的消息
-t订阅topic
-v打印消息
–will-payload指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与–will-topic一起使用
–will-qosWill的QoS值。该参数需要与–will-topic一起使用
–will-retain指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与–will-topic一起使用
–will-topic用户发送Will消息的topic

3. 测试

打开终端,启动mosquitto服务器

$ mosquitto -v

打开另一个终端,启动mosquitto_sub 客户端,订阅消息

$ mosquitto_sub -v -t topic

打开另一个终端,启动mosquitt_pub 客户端,发布消息

$ mosquitto_pub -t topic -m "hello this is pub"

在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值