Skip to content

MQTTXを使って接続をテストする

本記事では、MQTTクライアントのテストツールとしてMQTTXを使用し、EMQX Cloudのデプロイメントに接続する方法を紹介します。

MQTTXは、EMQがオープンソースで提供するクロスプラットフォーム対応のMQTT 5.0クライアントツールで、macOS、Linux、Windowsで動作し、MQTTペイロードのフォーマットにも対応しています。

MQTTXはチャットソフトの操作感を活かしてページの操作ロジックを簡略化しています。ユーザーは複数の接続クライアントを同時に作成・保存・確立でき、MQTT/TCPMQTT/TLSMQTT/WebSocketのパブリッシュ/サブスクライブ機能などの接続テストを素早く行うことができます。

前提条件

  1. MQTTXクライアントツールをインストールしていること。
  2. EMQX Cloudでデプロイメントを作成済みで、デプロイメントの状態がrunningであること。

ダウンロードおよびインストール前に、最新バージョン情報を当社のウェブサイトまたはGitHubでご確認ください。最新バージョンは使用体験の向上に役立ちます。このプロジェクトに慣れている場合は、MQTTXのリポジトリからソースコードを直接クローンし、ご自身でパッケージングして利用することも可能です。使用中にご質問がある場合は、GitHub issuesにて質問やご意見を投稿いただくか、プロジェクトをForkして修正したPRを提出してください。丁寧にレビューし返信いたします。

MQTTブローカーのデプロイ

アプリケーションをEMQX Cloudに接続するには、デプロイメントを作成して設定する必要があります。

サーバレスデプロイメント

  1. EMQX Cloudコンソールでサーバレスデプロイメントを作成します。

  2. デプロイメントが作成されて稼働したら、デプロイメントの概要ページに移動し、以下を含むMQTT接続情報を確認します。

    • ブローカーアドレス

    • ポート番号(サーバレスではTLSポートのみ対応)

  3. サーバレスデプロイメントはTLS接続が必須です。概要ページからCA証明書をダウンロードし、TLS用のポート8883を使用してください。

  4. デプロイメントのアクセス制御 -> クライアント認証で、デフォルト認証(ユーザー名/パスワード)を設定します。

詳細はサーバレスポートガイドを参照してください。

Dedicated Flex または BYOC デプロイメント

  1. EMQX CloudコンソールでDedicated FlexまたはBYOCのデプロイメントを作成できます。

  2. 作成後、デプロイメントの概要ページに移動し、以下を含むMQTT接続情報を取得します。

    • ブローカーアドレス

    • MQTTおよびWebSocket用のTCPおよびTLSポート番号(TCPおよびTLS接続の両方に対応)

  3. デプロイメントのアクセス制御 -> クライアント認証で、デフォルト認証(ユーザー名/パスワード)を設定します。

詳細なポート設定については、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のすべてのデプロイメントではユーザー認証が有効になっているため、MQTTXで接続テストを行う際はUsernameとPasswordの入力が必要です

UsernameとPasswordはAccess Control > Authenticationで設定します。1つずつ追加することも、一括インポートも可能です。

プロトコル

  • MQTTプロトコルでデプロイメントに接続する場合

MQTTXがMQTTプロトコルを使用

  • WebSocketプロトコルでデプロイメントに接続する場合

MQTTXがWSプロトコルを使用

  • TLS/SSL経由のMQTTプロトコルでデプロイメントに接続する場合

MQTTXがMQTTSプロトコルを使用

  • TLS/SSL経由のWebSocketプロトコルでデプロイメントに接続する場合

MQTTXがWSSプロトコルを使用

名前とクライアントID

名前はこの接続の識別子であり、クライアントIDはデフォルトで入力されています。右側の更新アイコンをクリックするとクライアントIDを更新できます。必要な情報を正しく入力したら、右上の接続ボタンをクリックしてEMQX Cloudのデプロイメントに接続してください。

その他