Отправка измерения из красного узла в Cumulocity с использованием MQTT
Я настоящий новичок в Cumulocity и в настоящее время на пробной версии. Я смог использовать настройку REST в Postman для создания устройств, отправки измерений, уведомлений и сигналов тревоги.
Я также попробовал пример Hello MQTT, используя MQTTBox.
Однако я хотел бы использовать Node-Red для отправки сообщений MQTT новому или существующему идентификатору устройства с помощью API SmartRest поверх MQTT.
Я попробовал наши шаги "100, Мое первое MQTT,c8y_MQTTdevice", "200,myCustomTemperaMeasurement,fahrenheit,75.2,F" и другие, используя MQTTBox, и это, кажется, прекрасно работает.
Когда я пытаюсь найти способ отправки данных измерений с Node-Red, я не могу думать об умном отдыхе. Я не хочу каждый раз создавать новое устройство для подключения, а скорее отправлять сообщения на существующий идентификатор устройства.
Исходя из того, что я собираю, клиент должен каким-то образом отслеживать себя, но не требует ли я автоматического создания нового сгенерированного идентификатора устройства для каждого соединения?
Проще говоря, как мне повторно отправлять данные измерений с Node-Red через MQTT, вводя назначенный идентификатор устройства, который должен быть достигнут?
1 ответ
В MQTT с Cumulocity это на самом деле довольно просто. Отображение MQTT-соединения с устройством в Cumulocity выполняется через MQTT ClientId и идентификатор c8y_Serial на стороне Cumulocity.
Если объект устройства существует, и вы отправляете сообщение "создать устройство" через MQTT, просто ничего не произойдет. Таким образом, вы можете просто отправлять его каждый раз при запуске, чтобы убедиться, что объект устройства находится там.
Поэтому в узле MQTT в узле красного цвета обязательно установите фиксированный clientId и не позволяйте ему генерироваться. В противном случае вы всегда получите новое устройство.