IBM - IOT - MQTT - NODE RED - невозможно опубликовать тему, на которую подписано устройство (для получения команд) - PullRequest
0 голосов
/ 22 января 2019

IBM IOT - приложение Node RED не связывается с устройством MCU узла ESP8266 через MQTT.

Привет, я работаю над проектом IOT и наткнулся на проблему. В моем проекте я имею в виду приведенную ниже документацию

https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt

https://console.bluemix.net/docs/services/IoT/devices/mqtt.html#mqtt

Я успешно зарегистрировал устройство в IBM IOT с помощью MQTT. Устройство подписывается на тему iot-2/cmd/on/fmt/txt для команд. При регистрации устройства нет ошибок, и я получаю сообщение о том, что устройство "Подключено" на консоли "IBM Watson IOT Platform". Мой первый вопрос: как мы узнаем, что вышеуказанная тема действительно создана? Это отображается где-то на консоли?

На втором этапе я создал небольшое приложение с MQTT Node RED, которое должно публиковать команды для устройства в теме iot-2/cmd/on/fmt/txt. Этот процесс не происходит. Я получаю сообщение об ошибке «Тема не соответствует разрешенному правилу». Я попытался изменить название темы на iot-2/type/*******/id/********/cmd/******/fmt/******* (в соответствии с https://console.bluemix.net/docs/services/IoT/applications/mqtt.html#mqtt). Однако, я продолжаю получать ту же ошибку. Можете ли вы сообщить мне действительный формат темы, когда приложение публикует команды по теме ( для устройства)?

Общий вопрос : Я обнаружил, что когда приложение публикует команду для устройства, формат темы должен быть iot- /type/device_type/id/device_id/cmd/command_id/fmt/format_string AND Когда устройство подписывается на ту же команду, формат темы должен быть iot-2/cmd/command_id/fmt/format_string. Не кажется ли, что есть разрыв? Когда я сравниваю его с сообщениями Kafka или JMS, мы подписываемся на «то же имя темы», которое публикуем, но в IBM IOT имена тем для публикации и подписки кажутся разными. Зачем?

...