1

我有一个发布到 AWS IoT 的气象站。

它通过发布以下格式的影子服务消息来报告其状态以及环境测量值:

{
 "state": {
   "reported": {
      "temperature" : 22,
      "humidity" : 70,
       ....
      "wind" : 234,
      "air" : 345
   }
 }

该站具有一些交互式属性,例如_led1_led2我还可以通过设置“所需”状态通过 Shadows 服务报告和更新这些属性。为此,我可以向设备发送这样的消息:

{
 "state": {
   "desired": {
      "_led1" : "on",
      "_led2" : "off",
       ....
      "_lock99" : "open"
   }
 }

感谢影子服务每当设备上线时,它都会收到同步状态,并将 LED 和锁转到所需位置。

但是,有时我想实时操作设备:在对设备进行故障排除时 - 我想发送实时命令以重新启动它 - 如果设备处于活动状态并收到我想重新启动它的消息。如果设备离线,则什么也不会发生(重启命令永远不会到达设备)。

那么实时控制设备的最佳方式是什么?仍然尝试使用影子服务来实现这一目标吗?或者只是创建一个单独的主题,例如。my-things/{thing_name}/real-time-commands并强制设备订阅它?

4

0 回答 0