MQTT.fxで接続する
この記事では、MQTT.fxをMQTTクライアントのテストツールとして使用し、EMQX Cloudのデプロイメントに接続する方法を説明します。
MQTT.fxは現在最も人気のあるMQTTデスクトップクライアントツールです。MQTT.fxのメジャーバージョン1.0は、Jens DetersによってJavaFX技術を用いて開発されており、Java仮想マシン上で動作するアプリケーションです。残念ながらMQTT.fxのメンテナンスは現在停止しており、Softblade社が開発を支援し、有償ライセンスで運用される商用版MQTT.fx® 5.0をリリースしています。本記事でのMQTT.fxは特に断りがない限りバージョン1.0を指します。
TCPおよびTLSプロトコルはサポートされていますが、WebSocketはサポートされていません。
前提条件
- MQTT.fxクライアントをインストールしていること。
- EMQX Cloudでデプロイメントを作成済みで、デプロイメントの状態がrunningであること。
MQTTブローカーのデプロイ
アプリケーションをEMQX Cloudに接続するには、デプロイメントを作成して設定する必要があります。
サーバレスデプロイメント
EMQX Cloudコンソールでサーバレスデプロイメントを作成します。
デプロイメントが作成されて稼働したら、デプロイメントの概要ページに移動し、以下を含むMQTT接続情報を確認します。
ブローカーアドレス
ポート番号(サーバレスではTLSポートのみ対応)
サーバレスデプロイメントはTLS接続が必須です。概要ページからCA証明書をダウンロードし、TLS用のポート
8883を使用してください。デプロイメントのアクセス制御 -> クライアント認証で、デフォルト認証(ユーザー名/パスワード)を設定します。
詳細はサーバレスポートガイドを参照してください。
Dedicated Flex または BYOC デプロイメント
EMQX CloudコンソールでDedicated FlexまたはBYOCのデプロイメントを作成できます。
作成後、デプロイメントの概要ページに移動し、以下を含むMQTT接続情報を取得します。
ブローカーアドレス
MQTTおよびWebSocket用のTCPおよびTLSポート番号(TCPおよびTLS接続の両方に対応)
デプロイメントのアクセス制御 -> クライアント認証で、デフォルト認証(ユーザー名/パスワード)を設定します。
詳細なポート設定については、Dedicated & BYOCポートガイドをご覧ください。
接続設定
ブローカー情報
デプロイメント概要画面で接続アドレスとポートを取得します(以下のxxxxxはランダムなポート番号を示しており、具体的なポート情報はデプロイメント概要ページの情報を参照してください)。
- Dedicated Flexプランのアドレス:ドメイン名;ポート:1883(mqtt)、8083(ws)はデフォルトで有効。TLS/SSLを設定することでポート8883(mqtts)および8084(wss)を有効化可能
- BYOCプランのアドレス:デプロイ時に指定したドメイン名;ポート:1883(mqtt)、8083(ws)、8883(mqtts)、8884(wss)
認証
EMQX Cloudのすべてのデプロイメントではユーザー認証が有効になっているため、MQTT.fxで接続テストを行う際は、UsernameとPasswordの入力が必要です。
UsernameとPasswordは
Access Control>Authenticationで設定します。個別に追加することも、一括インポートも可能です。
接続手順
接続プロファイルを開く

新しい接続設定を作成し、必要な設定を入力する

MQTTブローカーに接続する

さらに詳しく
サブスクライブ、パブリッシュなどの詳細な機能については、以下を参照してください:
MQTT.fxを使ってEMQX Cloudに接続する