MQTT用户手册 - liumorgan/doc GitHub Wiki

1 MQTT简介

MQTT是(Message Queuing Telemetry Transport)消息队列遥测传输 的简称。MQTT企业版支持消息接收,保存。

1.1 MQTT主要特点

MQTT是主要将物联网数据接入到IMQ消息队列中,有以下特点: 可以接收物联网发送的数据 可以接收成千上万客户端发送的数据。 支持主题数据管理模式。 消息传输的可靠性,网络异常情况下不丢已经接收的数据。

流程图

流程图

2 MQTT安装

2.1 建立用户MQTT

在root用户下,用useradd mqtt建立mqtt用户,然后用passswd为mqtt用户创建口令。 创建mqtt用户并不时必须的,mqtt可安装在mqtt用户下,也可安装到其它用户下。

2.2 MQTT安装

登录到mqtt安装用户(mqtt可以安装到mqtt用户,也可以安装到其它用户,但不推荐用root用户安装)下,建立安装目录或使用安装用户的缺省目录,将安装文件二进制方式传到安装目录下,用tar命令展开即可完成安装。如安装文件文件名为mqtt_1.0.0.tar.Z,tar展开命令如下:

tar xvfz mqtt_1.0.0.tar.Z

2.3 MQTT环境变量设置

MQTT安装后,会在安装目录下生成四个目录,一个是bin目录存放MQTT的运行程序,另一个是lib 目录存放MQTT运行时所需要的库。还有cfg目录,分别存放配置文件和临时数据文件,为方便终端操作,将lib和bin路径加入到环境变量。 例如将MQTT lib和bin 目录放到用户目录路径下,则在 .bash_profile 文件中加入内容如下:

export LD_LIBRARY_PATH=$HOME/lib:$LD_LIBRARY_PATH

如果用脚本启动,上述过程省略。 一般情况下,本目录下bin目录已经加入PATH环境变量,如果没有,则需要加入

export PATH=$HOME/bin:$PATH 

3 MQTT管理

3.1 创建主题

按照CMSP提供的用户手册,进行主题的创建。

3.2 配置文件

MQTT_SUB安装后,会在安装目录下一个配置目录cfg,配置目录有一个模板配置文件 smqtt.cfg 根据需要和配置进行修改,如果需要高性能的MQTT,需要根据机器配置和消息的大小进行相应的配置。 配置文件示例如下:

[ADMIN]
EPOLLTHREAD=4
WORKERTHREAD=4
QUEUELIMIT=3000
TOPICLIMIT=100
CMSPPOOLLIMIT=8
LISTENPORT=1883
CMSPTYPE=4
CMSPMESSAGELIMIT=1000
CMSP_USER=imqAdmin
CMSP_PASSWD=cHcyMDE3QEdMIQ==
CMSP_LN_IP=10.110.13.101
CMSP_LN_PORT=12015
CMSP_CLOUD=0
DAEMON=0
ALLOW_ANONYMOUS=false

下面分别说明配置文件MQTT.cfg的配置项

EPOLLTHREAD  #epoll线程池线程个数
WORKERTHREAD  #工作线程池线程个数
QUEUELIMIT=10000 #缓存队列中消息上限大小
TOPICLIMIT=100	#topic 上限大小
LISTENPORT=1883 #代理监听端口
CMSPTYPE=4	#cmsp 消息发送方式
CMSPMESSAGELIMIT=1000 #cmsp异步发送窗口大小上限
CMSP_USER=imqAdmin	#cmsp默认用户
CMSP_PASSWD= cHcyMDE3QEdMIQ== #cmsp默认口令,加密方式保存
CMSP_LN_IP=10.110.13.101 #非云模式为cmsp ip,否则为CMSP LN 节点IP.
CMSP_LN_PORT=12015 #非云模式为cmsp port,否则为CMSP LN 节点port
CMSP_CLOUD=0  #是否启用cmsp云模式,云模式为1,直接连接为0.
DAEMON=0 # 本代理是否后台启动
ALLOW_ANONYMOUS=falsle # 是否允许匿名登陆

3.3 启动CMSP的MQTT代理服务

命令语法:

smqtt  <-s ip:port> [-d ] [-f $configpath] [-p $pidfile]

指明MQTT代理服务所侦听的IP和端口,IP地址采用IPv4点分格式,IP和端口间采用‘:’分割,端口采用1025-65534之间的一个有效值(root用户下可小于1025,但不要与系统中已用端口冲突)。 例如:

smqtt –s 0.0.0.0:1883 –d –f /home/mqtt/cfg/smqtt.cfg –p /home/mqtt/cfg/smqtt.pid

3.4 停止CMSP的MQTT代理服务

命令语法:

smqtt stop 

可停掉CMSP的MQTT代理服务。

3.5 查看版本号

命令语法:

smqtt_sub –v
>> smqtt version: smqtt/1.0.0

3.6 注意事项

本MQTT代理只支持接收其他mqtt客户端发布的数据并保存到CMSP中去,并不提供订阅发布功能,即不支持别的客户端向本代理订阅topic消息,特此注意。

3.7 支持客户端

  • Mqtt-fx
  • WMQTT-utility.exe
  • Paho-mqtt
  • Mosquito

3.8 mqtt-fx 使用介绍

3.8.1 主界面

image

3.8.2 配置界面

可以增加删除mqtt服务器配置项 根据标签选项,可以填写ip地址,端口和用户名密码等信息。

image

3.8.3 设置用户与密码

image

⚠️ **GitHub.com Fallback** ⚠️