モバイル デバイスからそのデータを処理するバックエンドにデータを送信するリアルタイム mqtt アプリケーションを構築しようとしています。これらの mqtt ストリームで識別を実装するにはどうすればよいですか? つまり、どのデータがどのデバイス/ユーザーからのものかをどのように知ることができますか? 複数のストリームを作成する必要がありますか、それともユーザーを識別する変数をストリームに入れる必要がありますか?
1 に答える
2
あなたが説明していることから、モバイル デバイスごとに 1 つのトピックを使用することをお勧めします。
- デバイス/デバイス1 /データ
- デバイス/デバイス1 /ステータス
- デバイス/デバイス2 /データ
- デバイス/デバイス2 /ステータス
そうすると、devices/+/data にサブスクライブして、すべてのデータを簡単に取得できます。クライアントがデータを公開するだけで、他のものには興味がない場合は、devices/+ を直接使用することもできます。Webブラウザまたはブローカー(他の質問に対する私の回答を参照)でメッセージを取得し、トピックを使用して、どのクライアントがメッセージを送信したかを判断できます。
シナリオをより安全にするもう 1 つの手順は、device1 が devices/device1/# にのみ発行できるようにすることです。これは、MQTT ブローカーのプラグインを介して実装できます。このようなプラグインを簡単に実装できる例を、HiveMQ ブローカーについて以下に示します。
これが役に立てば幸いです、クリス
于 2013-12-25T06:37:52.970 に答える