安装mosquitto
sudo apt-get update
sudo apt-get install mosquitto
查看mosquitto服务状态
sudo service mosquitto status
开启/停止mosquitto服务
sudo service mosquitto start
sudo service mosquitto stop
本机测试:
安装mosquitto客户端
sudo apt-get install mosquitto-clients
打开一个终端,订阅主题
sudo mosquitto_sub -h localhost -t "mqtt" -v
打开另一个终端,发布主题
sudo mosquitto_pub -h localhost -t "SYS/test" -m "Hello2 MQTT"
配置
安装完成后, 配置文件都在/etc/mosquitto目录下
主配置文件mosquitto.conf
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
# 不允许匿名
allow_anonymous false
# 配置用户密码文件
password_file /etc/mosquitto/pwfile
# 配置topic和用户
acl_file /etc/mosquitto/acl
# 监听所有ip
listener 1883 0.0.0.0
添加用户信息
sudo mosquitto_passwd -c /etc/mosquitto/pwfile admin
#追加用户
sudo mosquitto_passwd /etc/mosquitto/pwfile test
完后会在/etc/mosquitto/pwfile目录下生成名pwfile文件,里边即是用户信息
权限配置
sudo vim /etc/mosquitto/acl
# 李雷只能发布以test为前缀的主题,订阅以SYS开头的主题即系统主题
user lilei
topic write test/#
topic read SYS/#
# admin 可以订阅和发布以/v1开头的主题
user admin
topic write /v1/#
topic read /v1/#
# 韩梅梅只能订阅以test为前缀的主题
user hanmeimei
topic read test/#
备注:配置完成后重启
发布使用mosquitto_pub命令,订阅使用mosquitto_sub命令。常用参数介绍:
参数 描述
-h 服务器主机,默认localhost
-t 指定主题
-u 用户名
-P 密码
-i 客户端id,唯一
-m 发布的消息内容
订阅
mosquitto_sub -h 10.1.77.173 -t "test/#" -u zhufeng -P 123456 -i "client1"
sudo mosquitto_sub -h 192.168.183.134 -t "/attendance/#" -u admin -P 123456
发布
mosquitto_pub -h 10.1.77.173 -t "test/abc" -u zhufeng -P 123456 -i "client3" -m "How are you?"
sudo mosquitto_pub -h localhost -t "/test/tt" -u lilei -P 123456 -m "How are you?"
订阅系统主题
# 订阅客户端存活连接数
sudo mosquitto_sub -h 10.1.77.180 -t "/test/tt" -u lilei -P 123456 -i "client2"
#vim配置
# 在左侧行号
set nu
# tab 长度设置为 4
set tabstop
# 覆盖文件时不备份
set nobackup
# 突出显示当前行
set cursorline
# 在右下角显示光标位置的状态行
set ruler
# 自动缩进
set autoindent
topic write /attendance/one
topic write /attendance/two
topic write /attendance/three
topic write /attendance/fore
topic write /attendance/five