我有一个气象站,正在发布到AWS IoT。
通过发布以下格式的阴影服务消息来报告其状态以及环境测量值:
{
"state": {
"reported": {
"temperature" : 22,
"humidity" : 70,
....
"wind" : 234,
"air" : 345
}
}
该电台有一些互动属性,如_led1
和_led2
,我也可以通过设置"期望"来通过阴影服务进行报告和更新。州。为此,我可以发送到这样的设备消息:
{
"state": {
"desired": {
"_led1" : "on",
"_led2" : "off",
....
"_lock99" : "open"
}
}
感谢影子服务每当设备上线时,它将接收同步状态并将LED和锁定转到所需位置。
然而,有时我想实时操作设备:在对设备进行故障排除时 - 我想发送一个实时命令来重启它 - 如果设备是活的并且收到了消息我想重启它。如果设备处于脱机状态,则不会发生任何事情(reboot命令永远不会到达设备)。
那么实时控制设备的最佳方法是什么?仍然尝试使用阴影服务来实现这一目标?或者只是创建一个单独的主题,例如my-things/{thing_name}/real-time-commands
并强制设备订阅它?