MQTT server build--Mosquitto
Contents
Mosquitto简介
MQTT(MQ Telemetry Transport),消息队列遥测传输协议,轻量级的发布/订阅协议, 适用于一些条件比较苛刻的环境,进行低带宽、不可靠或间歇性的通信。目前已经是物联网消息通信事实上的标准协议了。 mqtt提供三种不同质量的消息服务:
- “至多一次”:消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。
- “至少一次”:确保消息到达,但消息重复可能会发生。
- “只有一次”:确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。
Mosquitto安装(Ubuntu)
安装mosquitto
|
|
查看mosquitto服务状态
|
|
开启/停止mosquitto服务
|
|
安装mosquitto客户端
|
|
Mosquitto测试
打开一个终端,订阅主题
|
|
打开另一个终端,发布主题
|
|
Mosquitto配置
配置文件都在 /etc/mosquitto
目录下
主配置文件 mosquitto.conf
配置用户验证信息
|
|
添加用户信息命令,根据提示输入两边密码
|
|
完后会在 /etc/mosquitto/pwfile
目录下生成名 pwfile
文件,里边即是用户信息
权限配置
|
|
|
|
注:配置完成后重启
Mosquitto命令
发布使用 mosquitto_pub
命令,订阅使用 mosquitto_sub
命令。常用参数介绍:
参数 | 描述 |
---|---|
-d | 开启debug选项 |
-h | 服务器主机,默认localhost |
-p | 连接的端口号,默认是1883 |
-t | 指定主题 |
-u | 用户名 |
-P | 密码 |
-i | 客户端id,唯一 |
-m | 发布的消息内容 |
-f | 把一个文件的内容做为消息的内容发送 |
-q | 指定消息的服务质量,可以为0,1,2,默认是0 |
订阅
|
|
发布
|
|
订阅系统主题
|
|