Редактирование на основе поясняющего комментария ниже:
У нас есть бета-функция, которую мы называем «Команды», которая выполнит перезагрузку, о которой вы говорите.Таким образом, комбинация сообщений конфигурации (для постоянной конфигурации, которую вы хотите отправить на устройство при запуске / подключении к 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.Особенно, если вы что-то делаете в ответ на отчет о состоянии устройства.