MQTTクライアントによるテスト
リアルタイムデバイスをEMQXに接続しIoTアプリケーションを開発する前に、クライアントツールを使用してEMQXのメッセージングサービスをテストすることは、より安全かつ効率的です。
EMQXをローカルにデプロイする前でも、EMQが提供する無料のオンラインパブリックMQTTブローカーおよびMQTTクライアントツールを検証ツールとして活用し、MQTTメッセージングサービスやアプリケーション開発の迅速なテストが可能です。

本セクションでは、一般的に使用されるMQTT 5.0クライアントツールを紹介し、以下のメッセージングサービスをテストするための簡単なデモを提供します。
- クライアント接続の確立
- トピックのサブスクライブ
- メッセージのパブリッシュ
- メッセージの受信および表示
MQTTX
MQTTXはEMQがオープンソースで提供する洗練されたクロスプラットフォームMQTT 5.0検証ツールです。以下の3種類のツールを含みます。
- MQTTX クライアント
- MQTTX CLI
- MQTT Web
MQTTX デスクトップ
MQTTX デスクトップはクロスプラットフォーム対応のMQTTデスクトップクライアントツールです。使いやすいグラフィカルインターフェースを提供し、ユーザーは迅速にMQTT接続を作成し、MQTTメッセージのパブリッシュ/サブスクライブをテストできます。
テストを始める前に、MQTTXクライアントをダウンロードしてインストールしてください。
- ご利用のOSに応じて、アプリケーションストアまたはMQTTX公式サイトからインストールパッケージをダウンロードします。
- MQTTXクライアントをインストールします。詳細な手順はMQTTX - インストールをご参照ください。
以下の手順に従い、MQTTXデスクトップクライアントを使った簡単なテストを行います。
MQTTXクライアントを起動し、New ConnectionをクリックしてMQTT接続を作成します。
新しい接続をメッセージをパブリッシュするクライアントとして設定します。
Generalセクションでクライアントの基本情報を入力します。
- Name: 接続の
Nameを入力します。 - Client ID: デフォルトのままで構いません。クライアント接続の一意識別子であり、リフレッシュボタンをクリックすると自動生成されます。
- Host: 使用するプロトコルを選択します。
mqtt://またはws://を選択してください。SSL/TLS認証接続を使用する場合はmqtts://またはwss://を選択します。ホストIPアドレスはデフォルトでbroker.emqx.ioに設定されており、パブリックブローカーに接続します。自身のEMQXを使用する場合は実際のIPに置き換えてください。 - Port: 選択したプロトコルに対応するポート番号を入力します。
- UsernameおよびPassword: ブローカーでユーザー認証が有効な場合はユーザー名とパスワードを入力し、無効の場合は空欄のままにします。
- SSL/TLS:
SSL/TLS認証接続を使用する場合はトグルボタンをクリックして有効にします。
その他の設定はデフォルトのままにし、右上のConnectボタンをクリックします。

- Name: 接続の
接続に成功したら、テキストボックスにトピック名
testを入力し、スクリーンショットのようにメッセージを作成します。送信ボタンをクリックすると、testトピックにメッセージが表示されます。
Connectionsペインの**+** -> New Connectionをクリックし、メッセージを受信するクライアントとして新しい接続を作成します。名前を
Subscriberに設定し、他の一般的な接続設定はクライアントDemoと同じにします。Connectionsペインでクライアント
Subscriberを選択し、+ New Subscriptionをクリックします。Topic: テキストボックスに
testを入力します。QoS: デフォルト値のままにします。
Color: サブスクリプションを識別する色を選択できます。
その他のオプションは空欄のままにし、Confirmボタンをクリックします。

Connectionsペインでクライアント
Demoを選択し、トピックtestに新しいメッセージをパブリッシュします。クライアントSubscriberが新しいメッセージを受信するのが確認できます。
これでMQTTXクライアントを使った基本的なパブリッシュとサブスクライブの操作を試しました。詳細かつ高度な操作についてはMQTTX - パブリッシュとサブスクリプションをご参照ください。
MQTTX CLI
MQTTX CLIはEMQが提供するオープンソースのMQTT 5.0コマンドラインツールです。グラフィカルインターフェースを必要とせず、コマンドライン上でMQTTサービスやアプリケーションのテストやデバッグが可能です。
以下の手順に従い、MQTTX CLIを使って接続、パブリッシュ/サブスクライブ、メッセージの表示を行います。
MQTT CLIをダウンロードしてインストールします。ここではmacOSを例に示します。その他のOSについてはMQTTX CLI - インストールをご参照ください。
bash# Homebrew brew install emqx/mqttx/mqttx-cli # Intelチップ用 curl -LO https://www.emqx.com/zh/downloads/MQTTX/v1.9.0/mqttx-cli-macos-x64 sudo install ./mqttx-cli-macos-x64 /usr/local/bin/mqttx # Apple Silicon用 curl -LO https://www.emqx.com/zh/downloads/MQTTX/v1.9.0/mqttx-cli-macos-arm64 sudo install ./mqttx-cli-macos-arm64 /usr/local/bin/mqttxコマンドラインで以下のコマンドを実行し、EMQXに接続して
testtopic/#トピックをサブスクライブします。shellmqttx sub -t 'testtopic/#' -q 1 -h 'localhost' -p 1883 'public' -vパラメータの説明:
-t:サブスクライブするトピック-q:メッセージのQoS(デフォルト:0)-h:リスナーのIPアドレス(デフォルト:localhost)-p:ブローカーのポート(デフォルト:1883)-v:メッセージの前にトピックを表示
実行成功後、コマンドラインは受信待機状態となり、メッセージ受信時に内容を表示します。
その他のパラメータについてはMQTTX CLI - サブスクライブをご参照ください。
新しいコマンドラインウィンドウを開き、以下のコマンドを実行してEMQXに接続し、
testtopic/#トピックにメッセージをパブリッシュします。bashmqttx pub -t 'testtopic/1' -q 1 -h 'localhost' -p 1883 -m 'from MQTTX CLI'パラメータ:
-t: パブリッシュ先のトピック-q: メッセージのQoS(デフォルト: 0)-h: リスナーのIPアドレス(デフォルト:localhost)-p: ブローカーのポート(デフォルト:1883)-m: メッセージ本文
実行に成功すると、コマンドラインは接続を確立し、メッセージをパブリッシュした後にブローカーから切断します。ステップ2のコマンドラインウィンドウには以下のメッセージが表示されます。
bashtopic: testtopic/1 payload: from MQTTX CLIその他のパラメータについてはMQTTX CLI - パブリッシュをご参照ください。
MQTTX Web
MQTTX WebはブラウザベースのMQTT 5.0 WebSocketクライアントツールです。ツールのダウンロードやインストール不要で、WebSocket経由のMQTT開発やデバッグを完結できます。MQTTX Webを使ったテスト操作は基本的にMQTTXクライアントと同様です。

ダッシュボード WebSocket
EMQX ダッシュボードはWebSocketクライアントを提供しており、迅速かつ効果的なMQTTテストツールとして利用できます。このMQTT over WebSocketを使い、EMQXへの接続、トピックのサブスクライブ、メッセージのパブリッシュをテストできます。
EMQXダッシュボードの左ナビゲーションメニューでDiagnose -> WebSocket Clientをクリックします。
Connectionセクションで接続情報を入力します。
- Host: 対応するIPアドレスを入力します(デフォルト:
localhost)。 - Port: デフォルトのポート
8083を使用します。 - UsernameおよびPassword: もし認証が設定されていれば入力し、アクセス制御がない場合は空欄のままにします。
その他の設定はデフォルトのままにします。
- Host: 対応するIPアドレスを入力します(デフォルト:
Connectボタンをクリックして接続を確立します。
Subscriptionセクションでサブスクライブするトピックを
testtopic/#に設定し、Subscribeボタンをクリックしてサブスクリプションを完了します。トピックtesttopic/#が下のテーブルに追加されます。
サブスクライブ後、該当トピックにマッチするすべてのメッセージがこの接続に転送されます。
Publishセクションでパブリッシュするメッセージのトピックを設定します。
- Topic:
testtopic/1に設定します(ワイルドカード+や#はサポートされません)。 - Payload:
{"msg": 'Hello"}に設定します。 - QoS: デフォルト値の
0に設定します。 - Retain: メッセージを保持したい場合はチェックボックスを選択します。保持メッセージの詳細は保持メッセージをご参照ください。
Publishボタンをクリックすると、Publishedセクションに1件のレコードが追加されます。メッセージはすべてのサブスクライバーにルーティングされます。このテストではパブリッシャーも受信者であるため、Receivedセクションにも新しいレコードが追加されます。

- Topic: