Mosquitto MQTT 公開エラー

Mosquitto MQTT 公開エラー

次のようなメッセージを公開してみます:

mosquitto_pub  -h 7.18.13.43 -t "Home/#" -m "test bulb1"  -v  -u user1
-P md

CError: Invalid publish topic 'Home/#', does it contain '+' or '#'?

mosquitto_pub  -h 7.18.13.43 -t # -m "test bulb1" -u user1 -P md

Error: Invalid publish topic '#', does it contain '+' or '#'?

なぜこのようなエラーが発生するのか分かりません...?

答え1

私は専門家ではありませんが、確かに「#」を実際のトピック名に置き換える必要があります。

私の理解が正しければ、# はワイルドカードであり、サブスクライブしているが公開していない場合に意味を持ちます。

これは、発生しているエラーとも一致しています。

答え2

私の経験から、# は MQTT ワイルドカードであり、それに続くすべてのトピック (トピック階層レベル) も含める必要があることがわかっています。実際、ワイルドカードはトピックのサブスクライブでサポートされており、公開ではサポートされていません。同じ問題があったとき、この解決策を思いついたのは非常に幸運でした。ですから、これがあなたにとって役立つことを心から願っています。とにかく、同じ問題にまだ遭遇している場合は、MQTT パブリッシュ サブスクライブ詳細については、返信をお待ちしています。

関連情報