
Я пытаюсь опубликовать сообщение следующего вида:
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 публикация подпискадля получения дополнительной информации. Я буду ждать твоего ответа, приятель.