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