mqtt的Broker与Client使用说明

一:broker

本次演示使用的是 EMQX 作为mqtt的broker

EMQX介绍

EMQX 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。而 MQTT 实际上是一种应用层协议,用于实现轻量的、发布订阅式的物联网消息协议。事实上,虽然 EMQX 的定位是物联网消息协议 MQTT 的 broker,但是它的处理能力已经超过了它的定义。

EMQX安装

在这里,我们使用docker傻瓜式一键部署

环境准备:

  • 已安装docker
  • 网络通畅
  • 开放防火墙或者直接关闭

执行如下命令:

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest

通过浏览器访问 http://localhost:18083/(localhost 可替换为实际 IP 地址)以访问 EMQX Dashboard 管理控制台,进行设备连接与相关指标监控管理。

默认用户名及密码:

  • 用户名:admin
  • 密码:public

第一次进入系统后会要求修改默认密码

EMQX使用

第一次进入系统,界面如下所示:

image-20240117164819372

图中标注地方因为笔者已经有mqtt的客户端连接到此broker了,初始为0

查看监听器

image-20240117165443848

在这里用户查看或者新增监听器,默认 EMQX 已经为我们设置好了四个通用的监听器,用于监听不同协议的内容

其中,mqtt使用的tcp协议,由上图可知,tcp服务所监听的端口为1883,固localhost:1883即为mqtt服务的broker地址

  • tcp:用于MQTT/tcp 服务
  • ws:用于websocket 服务 (EMQX自带了一个Websocket客户端,下面有讲)

创建broker客户端认证

即创建连接到该broker的用户名与密码

image-20240117165817477

点击创建,选择 Password-Based => 内置数据库(没有特殊需求的话,一直下一步下一步即可)

image-20240117165857842

点击用户管理,创建用户,结果如下:

image-20240117165938546

此时,一个简单的broker服务就创建好了,那么具体细节是什么呢,这就看下面所说的mqtt配置

MQTT配置

image-20240117165949174

在这里,我们可以配置MQTT客户端连接的一些信息,当然,如无特殊需求,默认即可。

WebSocket 客户端

image-20240117170004055

EMQX 自带了WebSocket 客户端即MQTT的客户端,端口位于监听器中ws对应的端口,配置好账户密码,选择mqtt5协议,点击连接即可。如上图代表成功连接 broker服务

注意:客户端ID 一定唯一

订阅与发布配置

image-20240117170014775

在WebSocket客户端我们约定好订阅一个 主题为 topci01 的主题

其中Qos表示对消息的处理级别,0:即发即忘 1:至少发一次,可重复发 2:只发送一次,但一定确保接收到

发布处配置要发布的主题 为 topic01 与订阅相同,这样当发布一条数据时,订阅topic01后的客户端才可收到相应的数据,结果如上图所示。

MQTTBox

该软件是mqtt的客户端,位于微软商店,可直接下载

在微软商店中直接搜索 mqttBox 下载即可

image-20240117170045795

使用方法

创建MQTT Client

image-20240117170053271

配置broker相关信息

image-20240117170108790

参数详解如下:

  • MQTT Client Name:客户端名称,自定义
  • MQTT Client id:自定义,但要唯一
  • protocol : 协议类型
  • Host:连接地址,即 broker 所在地址(troilaBox 或者 EMQX)
  • userrName :用户名
  • password:连接密码
  • Broker is MQTT v3.1.1 compliant?: 是否使用mqtt3协议版本 (这里去掉,我们使用mqtt5版本)

其他默认即可

配置主题等信息

image-20240117170156218

测试

image-20240117170244691

image-20240117170313970

客户端与上位机同时获取了订阅topic01后的数据,测试结果无误。

MQTTX

其他可参考MQTTBox配置,大家都相差不差,参考配置如下:

image-20240117170327788

glxaa:mqtt的Broker与Client使用说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LB33333

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值