CoderTools

MQTTトピックテスター

MQTT購読パターンを検証し、トピックの一致をテストします

+ は単一レベルのワイルドカード、# はマルチレベルのワイルドカードとして使用します

パターンに対してテストするトピックを1行に1つずつ入力してください

クイック例

結果

パターンとテストするトピックを入力してください

一致しました
一致しませんでした

ワイルドカード参照

+ 単一レベルワイルドカード

その位置にある正確に1つのトピックレベルに一致します。

sensor/+/temp ✓ sensor/room1/temp
sensor/+/temp ✗ sensor/room1/sub/temp

# マルチレベルワイルドカード

任意の数のレベルに一致します。パターンの最後の文字でなければなりません。

sensor/# ✓ sensor/a/b/c
home/+/# ✓ home/room/temp/value

MQTTトピックパターンガイド

MQTTトピックとは?

MQTTトピックは、メッセージをフィルタリングするために使用されるUTF-8文字列です。階層的であり、レベルはスラッシュ (/) で区切られます。トピックは大文字と小文字を区別し、ほとんどすべての文字を含めることができます。

トピック構造

一般的なMQTTトピックは、'building/floor/room/sensor/type' のような階層構造に従います。これにより、ワイルドカードを使用した柔軟な購読パターンが可能になります。

ベストプラクティス

  • データの階層を反映する、意味のある説明的なトピック名を使用する
  • 空の第1レベルを作成するため、先頭のスラッシュは避ける
  • 帯域幅の使用量を減らすために、トピック名を適度に短く保つ
  • 一貫した命名のために小文字とハイフンを使用する

よくある質問

+ と # ワイルドカードの違いは何ですか?

+ ワイルドカードは正確に1つのトピックレベルに一致します (例: 'sensor/+/temp' は 'sensor/kitchen/temp' に一致)。一方、# は任意の数のレベルに一致し、最後の文字でなければなりません (例: 'home/#' は 'home'、'home/living'、'home/living/light' に一致)。

メッセージを発行するときにワイルドカードを使用できますか?

いいえ、ワイルドカード (+ および #) は購読トピックフィルターでのみ使用できます。メッセージを発行するときは、ワイルドカードを含まない正確なトピック名を指定する必要があります。

MQTTトピックは大文字と小文字を区別しますか?

はい、MQTTトピックは大文字と小文字を区別します。'Home/Temperature' と 'home/temperature' は完全に異なるトピックとして扱われます。トピックの命名規則では常に一貫した大文字と小文字の使用を心がけてください。

クイックメニュー

最近のツールはありません