Основные настройки и команды Google Cloud IoT - PullRequest
0 голосов
/ 29 сентября 2018

При использовании платформы Google Cloud IoT Core, похоже, она строится вокруг идеи отправки конфигураций на устройство и получения от него состояний.

В собственной документации Google предлагается использовать этот подход вместо построениявокруг отправки команд вниз (как конфиг) и получения ответов обратно (как состояние).

Однако в самом конце документации они показывают пример именно этого.

Я борюсьпонять, как поддерживать оба подхода?Я вижу выгоду от того, как он был спроектирован, но я также изо всех сил пытаюсь понять, как можно было бы общаться с устройством, используя такую ​​идиому значений и результатов, как конфигурация.

Кто-нибудь реализовал команду/ поток ответов?Можно ли подписаться на тему состояния для получения состояния устройства в моем собственном приложении?

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Отправить команду на устройство

Чтобы отправить команду на устройство, вам необходимо использовать API-вызов sendCommandToDevice .

Получение команды от устройства

Чтобы получить команду от устройства, подпишитесь на тему /devices/<your-device-d>/commands/#.

Полные примеры в конечном итоге будут опубликованы в Google Cloud IoT CoreПримеры репозиториев:

0 голосов
/ 02 октября 2018

Редактирование на основе поясняющего комментария ниже:

У нас есть бета-функция, которую мы называем «Команды», которая выполнит перезагрузку, о которой вы говорите.Таким образом, комбинация сообщений конфигурации (для постоянной конфигурации, которую вы хотите отправить на устройство при запуске / подключении к IoT Core) и команд для запуска и забытия, как сообщения о перезагрузке, могут сделать то, о чем вы говорите.Текущее состояние немного сложнее, так как у вас может быть механизм обратного вызова, в котором вы отправляете команду для запроса и прослушиваете события / канал для получения ответа, или есть состояние отчета об устройстве (тема / state / MQTT) и простоспросите административный SDK IoT Core, а не устройство.

Команды только что открыли бета-версию, теперь у вас должен быть к ней доступ.Если вы используете gcloud SDK из командной строки, вам нужно будет ввести gcloud components update, а затем gcloud beta iot devices --help покажет группу команд.Если вы используете консоль, при переходе к одному устройству теперь вы должны увидеть «Отправить команду» рядом с «Обновить конфигурацию» на верхней панели.

Старый ответ: как ответ на вопросПохоже, вместо использования темы состояния вы можете / должны просто использовать стандартную / events / topic и подписаться на тему Pub / Sub, в которую вместо этого идут устройства?

Это действительно зависит от громкости иколичество устройств, о которых мы говорим с точки зрения поддержания этого конечного автомата в синхронизации.

Не зная, что конкретно вы реализуете, я бы, вероятно, сделал что-то вроде отправки конфигурации вниз, ответа с устройства на /events / topic, и имеют облачную функцию, которая отслеживает тему Pub / Sub и обновляет что-то вроде экземпляра Firestore с состоянием устройств, а не с помощью / state / topic.Особенно, если вы что-то делаете в ответ на отчет о состоянии устройства.

...