一、环境搭建
1.mosquitto介绍
mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案。
本文简单的介绍了关于mosquitto客户端的使用。mosquitto客户端在开发、测试过程中能模拟设备、应用程序,是一款较方便、好用的终端脚本工具。
2.mosquitto工具安装
Linux:yum install mosquitto
Window:https://mosquitto.org/download/
检查一下:
二、使用教程
1.mosquitto_pub命令参数
-d 打印debug信息
-f 将指定文件的内容作为发送消息的内容
-h 指定要连接的域名 默认为localhost
-i 指定客户端clientid,默认为附加进程ID的mosquitto_pub_
-I 指定clientId前缀 -m 消息内容 -n 发送一个空(null)消息 -p 连接端口号 -q 指定QoS的值(0,1,2) -t 指定topic -u 用户名 -P 用户密码 -V 指定MQTT协议版本 --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用 --will-qos Will的QoS值。该参数需要与--will-topic一起使用 --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使 用 --will-topic 用户发送Will消息的topic
2.mosquitto_sub命令参数
-c 指定客户端clean_session是否保存。
-d 打印debug信息
-h 指定要连接的域名 默认为localhost
-i 指定客户端clientid
-I 指定clientId前缀 -k keepalive 每隔一段时间,发PING消息通知broker,仍处于连接状态。 默认为60秒. -q 指定希望接收到QoS为什么的消息 默认QoS为0 -R 不显示陈旧的消息 -t 订阅topic -v 打印消息 --will-payload 指定一个消息,该消息当客户端与broker意外断开连接时发出。该参数需要与--will-topic一起使用 --will-qos Will的QoS值。该参数需要与--will-topic一起使用 --will-retain 指定Will消息被当做一个retain消息(即消息被广播后,该消息被保留起来)。该参数需要与--will-topic一起使>用 --will-topic 用户发送Will消息的topic
3.SSL/TLS CA证书说明
--cafile:CA证书文件
--cert:服务器证书文件
--key:服务器私钥文件
服务器未配置SSL/TLS认证的,就不需要--cafile --cert --key参数。
4.订阅一个主题
mosquitto_sub -h 主机 -p 端口 -t 主题 --cafile --cert --key
5.发布消息
mosquitto_pub -h 主机 -p 端口 -t 主题 --cafile --cert --key -m 消息
查看订阅窗口是否收到消息: