Mosquitto: MQTTトピックの理解
このドキュメントははじめにガイドの一部です。完全なガイドはこちらからご覧いただけます:Mosquittoの始め方。
👋 Stackheroのドキュメントへようこそ!
Stackheroは、数多くの利点を提供する、すぐに使えるMosquitto MQTTクラウドソリューションを提供しています。
- 無制限のメッセージ交換と転送。
- 外部APIを介したデバイスの無制限認証。
- トピック、ユーザー、アクションに対する高度なACL。
- HTTPSで保護されたカスタマイズ可能なドメイン名(例:https://mqtt.your-company.com)。
- ワンクリックで簡単に更新。
- プライベートで専用のVMによる最適なパフォーマンスと強力なセキュリティ。
時間を節約し、生活を簡素化:StackheroのMosquitto MQTTクラウドホスティングソリューションを試すのに5分しかかかりません!
MQTTは通信を「トピック」に整理し、データの発行と購読のためのチャネルとして機能します。デバイスは特定のトピックにメッセージを発行したり、購読して関連する更新を受け取ります。
MQTTトピックの構造
MQTTのトピックは大文字と小文字を区別し、UTF-8文字を含む必要があり、少なくとも1文字が必要です。トピック内の階層はスラッシュ(/)文字で定義されます。
以下は、MACアドレスで識別される温度と湿度データを収集するIoTデバイスの設定例です:
-
MACアドレスが
00:00:00:00:00:00のデバイスの場合:- 温度:
devices/00:00:00:00:00:00/temperature - 湿度:
devices/00:00:00:00:00:00/humidity
- 温度:
-
MACアドレスが
11:11:11:11:11:11のデバイスの場合:- 温度:
devices/11:11:11:11:11:11/temperature - 湿度:
devices/11:11:11:11:11:11/humidity
- 温度:
アプリケーションは、devices/00:00:00:00:00:00/temperatureのような特定のトピックを購読して、対応するIoTデバイスからデータを受け取ることができます。
MQTTトピックでのワイルドカードの使用
MQTTは効率的なトピック管理のためにワイルドカードをサポートしています:
-
+ワイルドカードはトピック階層の単一レベルに一致します。例えば、devices/+/temperatureを購読すると、devices/1/temperatureのようなトピックをキャプチャしますが、devices/1/2/temperatureはキャプチャしません。 -
#ワイルドカードは複数のレベルに一致します。例えば、devices/#はdevices/1/temperature、devices/2/humidity、devices/1/2/somethingElseのようなトピックに一致します。