私はAzureマシン上でUbuntu Server 14.04を実行しています。このUbuntu ServerにMQTTブローカーをインストールしました。さらに、このブローカーを介して異なるMQTTトピックにサブスクライブして公開すると想定されている複数のESP8266装置があります。今私の問題は、ブローカーに2つのデバイスを接続してデータを受信し、パブリッシュするために1つのデバイスを接続すると、正常に動作しますが、もう1つのデバイスをブローカーに接続しようとすると、ブローカとの接続を繰り返します。 (私のマシンのエンドポイントでは、私はHTTPのために1883を追加した、HTTPSの場合は443とSSHのための22)Azure上で動作するUbuntu Server上でMQTTへのアクセスを許可する
私の質問は、私は複数のデバイスがMQTTブローカーはAzureのブローカで実行していると通信できるようにすることができる方法ですか?
私はclientIDの代わりに一定の値を送信していましたが、それが問題の原因でした。今私はクライアントIDとユーザー名が互いに関係しているという小さな質問がありますか?ユーザー名とパスワードはMQTTブローカー・データベースに登録され、ブローカー・データベースにないユーザー名は使用できませんが、clientIdはどうですか?それを使用する前にブローカにclientIdを登録する必要がありますか? –
ESP8266のすべてのデバイスに対して、異なるclientIDを使用して1つのユーザー名とパスワードを設定できますか?それは働くでしょうか? –
クライアントIDは、ブローカ側の通信およびqosの処理に使用しています。真正性やユーザー名とは関係ありません。ユーザー名とパスワードは、トピックを修正するための通信の認証に使用しています。クライアントIDは登録するものではなく、ユーザー名です。 2番目の質問は、はい、あなたのプロジェクトのすべてのesp通信に同じユーザー名とパスワードを使用することができます。あなたがデータを送ってhealtyコミュニケーションのために購読するトピックを見てください。 – cagdas