IoT Offline Device Cloud Control Command Message Reaching Solution
はじめに
不安定なネットワークと限られたバッテリー容量のため、多くの IoT デバイスは 24 時間オンライン状態を維持できません。デバイスは頻繁にオンラインとオフラインを切り替え、定期的にスリープ状態に入りオフラインになります。これにより新たな課題が生じます。デバイスがオフライン時にクラウド制御コマンドを送信した場合、デバイスがオンラインに復帰した際に新しい指示に従ってビジネスロジックを実行できるでしょうか。
アーキテクチャプラン
上記の要件に基づき、主に 2 つの解決策があります。
クラウドから MQTT プロトコルの QoS=1 メッセージを送信する
IoT のデバイスシャドウ機能を使用する
解決策 1:QoS=1 メッセージの送信
オフラインメッセージを受信するには、デバイス側とクラウド側の連携が必要です。
デバイス側設定
デバイス側で MQTT 接続を確立する際、CONNECT パラメーターを設定する必要があります。CleanSession フラグを 0 に設定すると、以前に確立されたセッション状態が保持されます。保持される内容:
クライアントの購読情報
応答確認が未完了の QoS=1 メッセージ
クライアントに未送信の QoS=1 メッセージ
クラウド側の操作
クラウドから制御コマンドを送信する API ドキュメント https://help.aliyun.com/document_detail/69793.html
image.png
解決策 2:デバイスシャドウ機能
クラウドプリンターの実行中の設定パラメーターを更新する例を用いて、デバイスシャドウ機能を通じた設定パラメーターの更新プロセスを説明します。
image.png
デバイス側設定
デバイス側は、/shadow/get/${YourProductKey}/${YourDeviceName} を購読して、クラウド制御コマンドメッセージをリアルタイムで取得する必要があります。
デバイス側の CONNECT 成功後、デバイスシャドウを積極的に取得します。/shadow/update/${YourProductKey}/${YourDeviceName} に Pub メッセージを送信し、ペイロード構造は以下の通りです。
{
"method": "get"
}
クラウド側の操作
クラウドはデバイスシャドウインターフェイス UpdateDeviceShadow を使用して制御コマンドを送信します:https://help.aliyun.com/document_detail/69954.html
不安定なネットワークと限られたバッテリー容量のため、多くの IoT デバイスは 24 時間オンライン状態を維持できません。デバイスは頻繁にオンラインとオフラインを切り替え、定期的にスリープ状態に入りオフラインになります。これにより新たな課題が生じます。デバイスがオフライン時にクラウド制御コマンドを送信した場合、デバイスがオンラインに復帰した際に新しい指示に従ってビジネスロジックを実行できるでしょうか。
アーキテクチャプラン
上記の要件に基づき、主に 2 つの解決策があります。
クラウドから MQTT プロトコルの QoS=1 メッセージを送信する
IoT のデバイスシャドウ機能を使用する
解決策 1:QoS=1 メッセージの送信
オフラインメッセージを受信するには、デバイス側とクラウド側の連携が必要です。
デバイス側設定
デバイス側で MQTT 接続を確立する際、CONNECT パラメーターを設定する必要があります。CleanSession フラグを 0 に設定すると、以前に確立されたセッション状態が保持されます。保持される内容:
クライアントの購読情報
応答確認が未完了の QoS=1 メッセージ
クライアントに未送信の QoS=1 メッセージ
クラウド側の操作
クラウドから制御コマンドを送信する API ドキュメント https://help.aliyun.com/document_detail/69793.html
image.png
解決策 2:デバイスシャドウ機能
クラウドプリンターの実行中の設定パラメーターを更新する例を用いて、デバイスシャドウ機能を通じた設定パラメーターの更新プロセスを説明します。
image.png
デバイス側設定
デバイス側は、/shadow/get/${YourProductKey}/${YourDeviceName} を購読して、クラウド制御コマンドメッセージをリアルタイムで取得する必要があります。
デバイス側の CONNECT 成功後、デバイスシャドウを積極的に取得します。/shadow/update/${YourProductKey}/${YourDeviceName} に Pub メッセージを送信し、ペイロード構造は以下の通りです。
{
"method": "get"
}
クラウド側の操作
クラウドはデバイスシャドウインターフェイス UpdateDeviceShadow を使用して制御コマンドを送信します:https://help.aliyun.com/document_detail/69954.html
Related Articles
-
A detailed explanation of Hadoop core architecture HDFS
Knowledge Base Team
-
What Does IOT Mean
Knowledge Base Team
-
6 Optional Technologies for Data Storage
Knowledge Base Team
-
What Is Blockchain Technology
Knowledge Base Team
Explore More Special Offers
-
Short Message Service(SMS) & Mail Service
50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00
