Mosquitto: MQTTトピックの理解
このドキュメントははじめにガイドの一部です。完全なガイドはこちらからご覧いただけます:Mosquittoの始め方。
👋 Stackhero ドキュメントへようこそ!
Stackhero では、信頼性と柔軟性を重視したフルマネージドの Mosquitto MQTT クラウド 環境をご提供しています:
- 無制限のメッセージスループットとデータ転送により、ワークフローが人工的な制限に達することはありません。
- 独自の外部 API を利用した 無制限のデバイス認証で、オンボーディングやアクセス管理もシームレスに行えます。
- トピック、ユーザー、アクションごとに細かく制御できる 高度な ACL。
- HTTPS 対応の カスタムドメイン名で、セキュアかつブランド化されたエンドポイントを提供します(例:https://mqtt.your-company.com)。
- ワンクリックで適用できるアップデートにより、改善やセキュリティパッチも手間なく実施可能です。
- すべてのインスタンスが プライベートかつ専用インフラ上で稼働し、安定した パフォーマンスと強固な セキュリティを実現します。
IoT プロジェクトを加速し、運用負荷を大幅に削減しましょう。セキュアで本番運用に対応した Mosquitto MQTT クラウドホスティング インスタンスを、わずか数分で立ち上げることができます。
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のようなトピックに一致します。