共计 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.io
和 8883
),抉择 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