Soracom

Users

スタートガイド

3. 仲介サーバーパターン

命令の仲介役となるサーバーを介すことで、多数の IoT デバイスに対応できる仕組みです。 IoT デバイスからサーバーに向かって接続を常時確立します。命令者は遠隔の端末からサーバーに命令を送信し、その命令をサーバーが IoT デバイスに転送することで IoT デバイスを操作します。

IoT デバイスではサーバーからの命令を待ち受けるほか、稼働情報やイベント情報をサーバーに送信します。通信は IoT デバイスからサーバーへの方向になるため、 Push アクセスパターンのような通信到達性の要件やセキュリティリスクはありません。

仲介サーバーとの通信形式 

Pull アクセスパターンに比べると通信内容が複雑になるため、 IoT デバイスとサーバー間の通信は Publish-Subscribe モデルや Obsever パターンと呼ばれる方式をベースに標準化された通信プロトコルを利用します。例えば、シンプルに命令を転送するサーバーの場合は MQTT (Message Queue Telemetry Transport)、デバイス管理を主目的とする場合は LwM2M (Lightweight Machine to Machine) があります。これらには IoT デバイスの増加にも対応できるスケーラビリティや要件に合わせたメッセージ到達性 (QoS : Quality of Service) の機能があるため、 IoT システムの要件に見合う設定を検討します。

通信の留意点 

一方で、 IoT デバイスでスリープなどの省電力機能を組み込んでいる場合は、常時接続の設定に注意します。常時接続の設定には、接続を維持するための KeepAlive と呼ばれる定期通信が含まれるため、定期通信の間隔が短いと IoT デバイスがスリープにならずに意図せず稼働状態を続けてしまう場合があります。また MQTT の QoS は IoT デバイスと MQTT ブローカー (仲介サーバー) 間の到達性を示す設定であり、命令者から IoT デバイスへのメッセージ自体の到達性を示すものでは無い点にも注意が必要です。

SORACOM サービスでの構成例 

仲介サーバーパターンを SORACOM サービスで実現する構成を示します。

SORACOM Beam + MQTT ブローカーサービス 

SORACOM Beam は IoT デバイスとサーバーとの通信を中継するサービスです。 IoT デバイスからの MQTT 接続を受け付け、 MQTTS (MQTT over TLS) の形式に暗号化して安全に MQTT ブローカーサービスと連携します。具体的な利用手順は以下を参照してください。

SORACOM Inventory 

SORACOM Inventory は LwM2M に対応するデバイス管理のサービスです。利用するための具体的な手順は以下を参照してください。