一、MQTT服务器软件筛选
能够搭建MQTT服务器的软件有很多,比如:
mosquitto,Eclipse Mosquitto使用 C 语言实现的 MQTT 服务器。
EMQX,使用 Erlang 语言开发的 MQTT 服务器,内置强大的规则引擎,支持许多其他 IoT 协议比如 MQTT-SN、 CoAP、LwM2M 等。
Mosca,使用 Node.JS 开发的 MQTT 服务器,简单易用。
VerneMQ,使用 Erlang 开发的 MQTT 服务器。
本文使用的是mosquitto
二、MQTT服务器软件mosquitto下载与安装
2.1 下载
进入mosquitto下载网址:https://mosquitto.org/download/
,如下图:
2.2 安装
点击安装mosquitto,我将安装目录选在了D盘。
2.3 修改mosquitto配置,并启动mosquitto服务
安装完毕后,需要对配置文件进行修改,配置文件位置:D:\install\mosquitto\mosquitto.conf
,如下:
这里我们主要是改一下侦听端口和开启用户验证(即设置用户名和密码)
关闭匿名
设置用户名密码, 找到password_file节点,这个节点是告诉服务器你要配置的用户将存放在哪里。打开此配置并指定pwfile.example文件路径(注意是绝对路径)
password_file D:\install\mosquitto\pwfile.example
在管理工具->服务,中找到Mosquitto Broker,启动mosquitto服务,如下图:
以管理员身份打开CMD,并切换到D:\install\mosquitto
目录下,运行以下命令添加用户名和密码:
mosquitto_passwd.exe -c D:\install\mosquitto\pwfile.example mqtt_u
提示连续两次输入密码、创建成功。命令解释: -c 创建一个用户、D:\install\mosquitto\pwfile.example
是将用户创建到 pwfile.example 文件中,mqtt_u 是用户名。如下图:
添加用户和密码后,对mosquitto服务进行重启。
三、测试
利用mosquitto工具测试订阅与发布,启动2个CMD窗口,并进入D:\install\mosquitto
目录,cmd窗口1作为订阅者,cmd窗口2作为发布者。
在cmd窗口1中执行以下命令,进行消息订阅
mosquitto_sub.exe -h 127.0.0.1 -p 1883 -u mqtt_u -P abc123 -v -t sensor
在cmd窗口2中执行以下命令,进行消息发送
mosquitto_pub.exe -h 127.0.0.1 -p 1883 -u mqtt_u -P abc123 -t sensor -m "消息测试"
四、可视化MQTT客户端工具MQTTX使用
MQTT的客户端测试工具有很多,而MQTTX无疑是其中的佼佼者,下面就介绍一下其使用过程。 MQTTX官网
4.1 下载
4.2 安装
安装比较简单,省略
4.3 连接
4.4 发送消息
如果想订阅一个主题,则点击“New Subscription”按钮,则出现新建订阅对话框,如下图