前回で AWS IoT に接続するための 証明書を作成したので、 今回は MQTT.fx を設定して 実際に AWS IoT に MQTT で接続してみます。
MQTT.fx の設定
MQTT.fx を起動したら、以下の赤枠で囲った設定アイコンをクリックします。
AWS IoT で発行した証明書やエンドポイントアドレスの設定をします。
設定箇所が多いですが、上から順に以下の画像の様に設定してください。
- Profile Name : MQTT.fx で分かりやすい名前にします
- Broker Address : AWS IoT のエンドポイントアドレスです。
- Broker Port : 8883
- Client ID : ユニークなIDを設定します。 被ると問題が発生します。
- 接続方式 : SSL/TLS を選択します。
- Enable SSL/TLS : 有効
- Protocol : TLSv1.2
- 認証 : Self signed certificates
- CA File : AWS IoT でダウンロードした ルートCAファイル
- Client Certificate File : DLした モノの証明書 *-certificate.pem.crt
- Client key file : DLした プライベートキー *-private.pem.key
- Client Key Password : 空欄
- PEM Formatted : 有効
MQTT.fx のメイン画面の [Log] のタブをクリックし、 接続先が 先程作成した Profile Name になっていることを確認して [Connect] をクリックします。
これで AWS IoT に MQTT で接続することができました!!
AWS IoT には MQTTのテスト用ページがあります。 これを使って MQTT.fx への送受信を試してみましょう。
トピックの受信申請 (サブスクライブ)
MQTT.fx の [Subscribe] タブを選択し、 トピックとして “mqtt/test” を指定して [Subscribe] をクリックします。
すると以下のように画面が変わり、MQTT.fx での受信体制が整いました。
AWS IoT でもサブスクライブ手続きを行っておきます。
[テスト] ページから、トピックのサブスクリプションに “mqtt/test” と入力し、[トピックへのサブスクライブ] をクリックします。
以下のような画面に変わったら、サブスクライブが完了です。
以下の画面では、 “mqtt/test” トピックの受信ページとなっています。
AWS IoT のテストページでは、 このままこのトピックにパブリッシュすることができます。
トピックへ発行 (パブリッシュ)
AWS IoT のこの画面のまま、パブリッシュしてみます。
黒い部分(編集できます) に入力された文字列が、メッセージとして MQTTで送信されます。
トピックが “mqtt/test” になっていることを確認して [トピックに発行]します。
すると、以下の画面のように一瞬だけ 発行済み と表示され、 下に送信したメッセージが表示されます
MQTT.fx の受信も見てみます。
上の赤枠の部分が受信したトピックのメッセージ一覧で、 それを選択すると、下の赤枠に受信したメッセージの詳細が表示されます。
MQTT.fx での パブリッシュの方法も似たような感じで、下の画像のように、トピックとメッセージを入力して [Publish] ボタンをクリックするだけです。
同じように受信できることを確認したら 完了です!
次は ESP8266 から MQTT で AWS IoT に接続してみようと思います。