MQTT通信协议(mosquitto)在linux上的通信(安装和命令行实现)

mosquitto简介

前面我们讲到,MQTT协议提供了一种消息负载小的publish/subscribe模型,使得它很适合物联网(Internet of Things)通信,比如低功耗传感器或手机、嵌入式设备。
而Mosquitto是一个开源 的使用MQTT协议的消息代理软件,它是非常轻量级的代理,可运行于从单板计算机到全功能服务器的所有设备上。除此之外,Mosquitto还提供了一个用于实现MQTT客户端的C库和mosquitto_pub和mosquitto_sub命令行工具。

Liunx下安装Mosquitto

  1. 下载mosquitto库
 wget https://mosquitto.org/files/source/mosquitto-2.0.11.tar.gz
  1. 解压
tar -xzvf mosquitto-2.0.11.tar.gz
  1. 进入目录安装
cd mosquitto-2.0.11/
make
make install
  1. 配置mosquitto.conf文件,这一步主要是将conf文件里原来被注释掉的有用信息恢复
  • 将 mosquitto.conf 复制到ect下面
cp mosquitto.conf /etc/mosquitto

  • 进入修改:
cd /etc/mosquitto/
vim mosquitto.conf
  • 找到Default Listeners下的

服务的端口号 #port 1883 改为 port 1883

最大连接数,-1表示不限制
#max_connections -1 改为 max_connections -1

命令行实现通信

  1. 启动mosquitto服务器
mosquitto -v

启动成功:
在这里插入图片描述
3. 订阅:mosquitto_sub 订阅命令

mosquitto_sub命令参数说明:
-t : 指定topic(要发布的主题)
-v :打印消息
-h :要连接的域名 默认为localhost
-i :指定clientId
-I :指定clientId前缀
-c :设定‘clean session’为无效状态,这样一直保持订阅状态,即便是已经失去连接,如果再次连接仍旧能够接收的断开期间发送的消息
-q :QoS消息的类型 默认QoS为0

mosquitto_sub -v -t weizhiyan
  1. 发布: mosquitto_pub 发布命令

mosquitto_pub命令参数说明:

-t 指定发布的主题
-h 主机地址;localhost 发布到本地,如果远程主机直接写ip地址(不用写端口号)
-m 发布的信息
-n 发送一个空(null)消息
-f 将指定文件的内容作为发送消息的内容
-i 指定要给哪个clientId的用户发送消息
-I 指定给哪个clientId前缀的用户发送消息
-n 发送一个空(null)消息
-p 连接端口号
-q 指定QoS的值(0,1,2)
-u 指定broker访问用户
-P 指定broker访问密码

mosquitto_pub -t "weizhiyan" -m "hello world!"

结果:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值