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

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

[MQTTX](https://mqttx.app)は、[EMQ](https://emqx.com/en)がオープンソースで提供するクロスプラットフォーム対応のMQTT 5.0クライアントツールで、macOS、Linux、Windows上で動作し、MQTTペイロードのフォーマットにも対応しています。

[MQTTX](https://mqttx.app)はチャットソフトの操作ロジックを活用してページの操作を簡素化しています。ユーザーは複数の接続クライアントを同時に保存・確立でき、`MQTT/TCP`、`MQTT/TLS`、`MQTT/WebSocket`のパブリッシュ／サブスクライブ機能などの接続テストを素早く行うことが可能です。

## 前提条件

> 1. [MQTTXクライアントツールのインストール](https://www.emqx.com/en/downloads/MQTTX)
> 2. EMQX Platformでデプロイメントを作成済みかつ、デプロイメントの状態が**running**であること

ダウンロードおよびインストール前に、最新バージョン情報を当社の[ウェブサイト](https://mqttx.app/)または[GitHub](https://github.com/emqx/MQTTX)でご確認ください。最新バージョンは使用体験の向上に役立ちます。本プロジェクトに詳しい方は、[MQTTX](https://github.com/emqx/MQTTX)のリポジトリを直接クローンし、ご自身でパッケージングして利用することも可能です。利用中にご質問がある場合は、[GitHub issues](https://github.com/emqx/MQTTX/issues)に投稿いただくか、プロジェクトをForkして修正PRを提出してください。内容を慎重に確認し、返信いたします。

## 接続設定

### ブローカー情報

デプロイメントの概要画面で接続アドレスとポートを取得します（以下の**xxxxxはランダムなポート番号を示しており、具体的なポート番号はデプロイメント概要ページの情報をご参照ください**）。

- 専用プランのアドレス：ドメイン名；ポート：1883（mqtt）、8083（ws）はデフォルトで有効。TLS/SSL設定によりポート8883（mqtts）および8084（wss）を有効化可能
- BYOCプランのアドレス：デプロイメント時に指定したドメイン名；ポート：1883（mqtt）、8083（ws）、8883（mqtts）、8884（wss）

### 認証

EMQX Platformのすべてのデプロイメントではユーザー認証が有効になっているため、MQTTXで接続テストを行う際は、**UsernameとPasswordの入力が必要です**。

> UsernameとPasswordは`Access Control` > `Authentication`で設定し、個別に追加するか一括インポートが可能です。

### プロトコル

- MQTTプロトコルでデプロイメントに接続

![MQTTXはMQTTプロトコルを使用](./_assets/mqttx_mqtt.png)

- WebSocketプロトコルでデプロイメントに接続

![MQTTXはWSプロトコルを使用](./_assets/mqttx_ws.png)

- TLS/SSL上のMQTTプロトコルでデプロイメントに接続

![MQTTXはMQTTSプロトコルを使用](./_assets/mqttx_mqtts.png)

- TLS/SSL上のWebSocketプロトコルでデプロイメントに接続

![MQTTXはWSSプロトコルを使用](./_assets/mqttx_wss.png)

### 名前とクライアントID

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

### その他

- サブスクライブやパブリッシュなどの詳細機能については、以下を参照してください：[MQTTXガイドライン](https://www.emqx.com/en/blog/mqtt-x-guideline)
- [MQTTXスクリプト機能チュートリアル](https://www.emqx.com/en/blog/mqttx-script-function-tutorial)
- [MQTTX - エレガントなクロスプラットフォームMQTT 5.0デスクトップクライアント](https://www.emqx.com/en/blog/mqtt-x-elegant-cross-platform-mqtt5-desktop-client)
