MQTT
# 常用调试工具
MQTT协议调试
# 视频教程
# RabbitMQ部署
RabbitMQ基于Erlang语言开发,部署RabbitMQ前,需先安装Erlang。
Erlang安装
下载Erlang (opens new window),以默认设置安装。(本教程使用版本otp_win64_24.3.3.exe)
RabbitMQ安装
下载RabbitMQ最新版 (opens new window),以默认设置安装。(本教程使用版本rabbitmq-server-3.9.15_2.exe,本教程版本下载:rabbitmq-server-3.9.15_2.zip)
RabbitMQ配置
安装完成后,打开开始菜单,点击下图中的菜单选项,打开命令行输入窗口
输入命令启用web管理插件:
rabbitmq-plugins enable rabbitmq_management
输入命令启用mqtt插件:
rabbitmq-plugins enable rabbitmq_mqtt
输入命令启用mqtt_web插件:
rabbitmq-plugins enable rabbitmq_web_mqtt
RabbitMQ登录Web管理页面
打开http://127.0.0.1:15672/进行登录,默认账号:guest,密码:guest
检查mqtt插件启用情况
登录后切换至overview,查看启用是协议(IoTCenter使用mqtt协议)
增加账号
依次点击Admin标签,Add a user标记,输入用户名与密码后,点击右侧Set后的None,最后点击Add user按钮完成增加账号操作。
# 账号权限说明
(1) Admin超级管理员,可登陆管理控制台,拥有所有权限,可查看所有的信息,并且可以对用户,略(policy)进行操作。
(2)Monitoring监控者,可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)。
(3)Policymaker策略制定者,可登陆管理控制台,同时可以对policy进行管理,但无法查看节点的相关息。
(4)Management普通管理者,仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
(5)Impersonator模拟者,无法登录管理控制台,因为没有管理者权限,如下图所示:
(6)None其他用户,无法登陆管理控制台,通常就是普通的生产者和消费者。
(厂家或北向应用只是生产者或消费者,故使用None权限即可。)
# 赋予账号权限
(1) 点击账号名称,进入编辑页面
(2) 设置对应的权限
按下图给账号进行访问权限设置。
完成后返回账号页面,可以看到账号已经具备访问主机权限。
# RabbitMQ测试
- 测试工具
使用mqttx进行账号测试。
下载mqttx软件 (opens new window),默认设置安装后打开。
- 测试方法
填写完成后点击右上角连接
同时,管理员账号登录RabbitMQ网页端,切换至Connections标签,可看到账号已经成功连接上。
至此,可将该账号提交设备厂家或北向应用方使用。
- Mqttx发送订阅
1)订阅主题Topic
2)发送信息至指定Topic主题
- Mqtt端口更改
部分项目因为出于安全考虑,只开放特定端口,所以这里需要将mqtt默认1883端口修改为项目中已开放的端口。
rabbitmq的端口需要通过配置文件进行修改,配置文件位于C:\Users\用户名\AppData\Roaming\RabbitMQ目录下的rabbitmq.config(默认不存在,需自行创建,可直接拷贝本文附件中的配置文件至该目录下)。
配置文件说明:
rabbitmq配置文件,下载使用。
配置文件放置到下图所示目录后,通过开始菜单中的命令重启rabbitmq。