Soracom

Users

スタートガイド
Home スタートガイド IoT デザインパターン デバイスを遠隔操作する デザインパターン

2. Pull アクセスパターン

IoT デバイスが命令者に向かって通信する (命令を取りに行く) 形態をここでは Pull アクセスパターン と呼びます。IoT デバイスから命令内容を保持する命令者に一定の周期でアクセスし、操作命令を取得して IoT デバイスで実行します。命令者は IoT デバイスからのアクセスをいつでも対応できるよう、サーバーやクラウドサービスなど常時稼働できるコンピューター装置を用います。

命令を取りに行くという操作は一見すると回りくどい印象を持つかもしれませんが、様々なメリットを享受できます。

Pull アクセスパターンのメリット

IoT デバイスでスリープなどの省電力機能を構成する場合、スリープから起きたタイミングで取りに行けば良いので IoT デバイスでのソフトウェア実装が簡潔で済むメリットがあります。命令者は常時稼働しているので、回線不調などで IoT デバイスからの接続が失敗するときも IoT デバイスからリトライするだけで済みます。また、アクセスログや IoT デバイスからの処理結果のデータを命令者で蓄積することで、IoT デバイスでの処理成功ないし失敗の状態管理をやりやすいというメリットもあります。

一方のデメリットとしては、仕組み上、命令者が IoT デバイスに命令したいときにすぐに実行させられない (タイムラグをゼロにできない) 点があります。また、特に命令が無いときも IoT デバイスから一定のアクセスがありますので、タイムラグを最小化するために確認頻度を多くする場合、命令の頻度が相対的に少ないと命令の無いアクセスが空振りとして通信量がかさんで見える点もデメリットです。

往路にデータを含める

Pull アクセスパターンの往復の通信のうち、IoT デバイスへの命令は復路 (リクエスト/レスポンスのレスポンス) で IoT デバイスに伝わります。一方の往路に、IoT デバイスから任意のデータを含めて命令者に伝えることもできます。たとえば IoT デバイスから稼働データを送ることで、IoT デバイスの運用に役立つデータを命令者に蓄積する用途に活用するのも良いでしょう。通信回数が制限される LPWA などの場合は、前回の処理結果を往路に含めて通信回数を節約する工夫も考えられます。

SORACOM サービスとの組み合わせ例

SORACOM Air for セルラーのセルラー通信で IoT デバイスからサーバーやクラウドにアクセスし、Pull アクセスパターンに利用できます。また、以下の SORACOM サービスを組み合わせることでより容易に Pull アクセスパターンを構成することもできます。

SORACOM Air for セルラー メタデータサービス

SORACOM Air for セルラー メタデータサービスは、IoT デバイスからの HTTP アクセスに応答し IoT SIM に紐付くメタ情報やユーザーが設定する任意のタグ情報を提供するサービスです。Pull アクセスパターンの命令者として利用できます。具体的な手順は以下を参照してください。

SORACOM Funk + クラウドサービスの Function

IoT デバイスからアクセスする通信形式をシンプルに、かつクラウドで条件分岐などの命令に関する処理を行いたいときは SORACOM Funk が便利です。SORACOM Funk はデバイスからの様々な通信をクラウドサービスの Function の呼び出しと紐付け、その処理結果を IoT デバイスに返す連携サービスです。具体的な手順は以下を参照してください。