关于mqtt:使用-MQTTfx-接入-EMQ-X-Cloud

70次阅读

共计 2423 个字符,预计需要花费 7 分钟才能阅读完成。

本文将以 MQTT.fx 作为 MQTT 客户端测试工具,接入 MQTT 云服务 – EMQ X Cloud。通过本文,你将能疾速理解 MQTT.fx 的根底用法以及 MQTT 协定的基本概念与应用。

MQTT.fx 简介

MQTT.fx 是目前最为风行的 MQTT 桌面客户端工具,MQTT.fx 1.0 Major 版本由 Jens Deters 应用 JavaFX 技术开发,即为 Java 虚拟机利用。遗憾的是 MQTT.fx 目前曾经进行保护,并转为由 Softblade 公司赞助开发另发行了其商业版本 MQTT.fx® 5.0,采纳免费许可证形式经营该软件。本文中的 MQTT.fx 不经非凡阐明即特指 1.0 版本。

它蕴含支流的 MQTT 客户端性能:

  • 根本订阅 / 推送 / 连接功能
  • 用户认证
  • SSL/TLS 连贯反对
  • 易用的音讯编辑栏
  • 反对代理

此外 MQTT.fx 也有其余优良个性:

  • 软件自在,其开源协定为 Apache 2.0 license
  • 反对跨平台
  • 反对 $SYS 主题订阅治理 MQTT Broker
  • 残缺的日志控制台
  • 反对 JavaScript 脚本解决音讯
  • 反对预约义模版

但同时也有缺点:

  • 不反对 MQTT 5.0 协定
  • 一次只能建设一个连贯,不不便多连贯调试
  • 不反对 WebSocket 协定,无奈调试 MQTT over Webscoket 的状况

EMQ X Cloud 简介

EMQ X Cloud 是由 EMQ 公司推出的可连贯海量物联网设施,集成各类数据库及业务零碎的全托管云原生 MQTT 服务。作为 寰球首个全托管的 MQTT 5.0 私有云服务,EMQ X Cloud 提供了一站式运维代管、独有隔离环境的 MQTT 音讯服务。

在万物互联的时代,EMQ X Cloud 能够帮忙用户疾速构建面向物联网畛域的行业利用,轻松实现物联网数据的采集、传输、计算和长久化。

本文将应用 EMQ X Cloud 提供的 收费公共 MQTT 服务器 作为本次测试的 MQTT 服务器地址,服务器接入信息如下:

  • Broker: broker-cn.emqx.io
  • TCP Port: 1883
  • SSL/TLS Port: 8883

更多详情请拜访 EMQ X Cloud 官网,或查看 EMQ X Cloud 文档。

MQTT.fx 应用

预览

其主页面如下图所示,最上方为 MQTT Broker 连贯地址栏,及其连贯配置。其下方性能 Tabs 含有 Publish 公布栏、Subscribe 订阅栏、Scripts 脚本栏、Broker Status 状态音讯栏、Log 日志信息管制栏。

其中每一个 Tab 均反对拖拽成为独自窗口,如下图所示:

连贯

首先 MQTT client 与 Broker 通信须要建设连贯。点击连贯地址栏中输入框左边的配置图标,进入具体的连贯配置。

抉择 Profile Type 为 MQTT Broker。Broker Address 填入 broker-cn.emqx.io,Broker Port 填入 1883,如下图所示:

broker-cn.emqx.io 为国内服务器,broker.emqx.io 为国外服务器,读者可自行抉择一个进行连贯。

点击 OK,确认配置,回到主界面,点击 Connect,可见左边的圆圈变为绿色,示意以后连贯连通,如下图所示:

订阅 / 发送音讯

实现连贯的建设之后,即可开始订阅音讯。因为 MQTT 协定采纳的是订阅 / 推送的形式,所以咱们须要在连贯之后订阅主题,之后主题上有音讯产生即可收到来自 EMQ X Cloud 推送。

点击进入 Subscribe Tab 下,在主题框中输出 /testTopic/1,点击 Subscribe 订阅按钮,在左侧呈现订阅的主题列表,订阅的主题目前音讯数量为 0,如下图所示:

之后,咱们将把音讯推送到 Broker,回到 Publish 下,并且输出主题 /testTopic/1,并在音讯输入框中输出 ”hello world” 等音讯,如下图所示:

点击 Publish 发送,回到 Subscribe Tab,发现订阅的主题 /testTopic/1 收到音讯,如下图所示:

咱们应用 MQTT.fx 这一客户端向 EMQ X Cloud 下的 /testTopic/1 主题发送了音讯 ”hello wolrd”,订阅了这个主题的所有客户端都会收到这个音讯,包含刚刚订阅了该主题的发送客户端。

脚本

应用脚本能够更加灵便地自定义音讯推送逻辑,点击 Script Tab,点击 Edit 对脚本内容进行批改,批改为以下内容:

function execute(action) {mqttManager.publish("/testTopic/1", "hello world from script");
    return action;
}

其中 mqttManager 是 MQTT.fx 脚本性能凋谢的 API,次要有:

  • publish(),推送音讯
  • subscribe(),订阅主题
  • unsubscribe(),勾销主题订阅
  • output,输入音讯到控制台

点击 Execute 执行,之后回到 Subscribe 下发现音讯减少,其内容为“hello world from script”。脚本发送性能失常,如下图所示:

日志

在日志内,咱们能够查看 MQTT.fx 与 EMQ X Cloud 交互过程,例如主题订阅,音讯推送,音讯接管等:

SSL/TLS 连贯

以 CA 自签名服务为例子,展现如何启用 SSL 协定连贯到 EMQ X Cloud。

关上设置,和一般连贯一样填写好 Broker Address 和 Broker Port(别离为 broker.emqx.io8883),抉择 SSL/TLS 项,抉择 TLSv1.2 协定,勾选 CA signed server certficate,之后抉择利用,如下图所示:

点击连贯,能够看到左边的锁图标是敞开的,示意启用了 SSL,查看日志,发现 SSL 连贯相干端口 8883 相干字样,连贯 SSL/TLS 胜利。

以上就是应用 MQTT.fx 接入 EMQ X Cloud 的简略示例,更多详情可拜访 EMQ X Cloud。

版权申明:本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/connecting-to-emqx-cloud-with-mqttfx

正文完
 0