- 印刷する
- PDF
Cloud IoT Coreの概念
- 印刷する
- PDF
Classic/VPC環境で利用できます。
Cloud IoT Coreの円滑な利用のために、サービス構造および IoT機器の作動方式に関する基本概念を説明します。
サービスの構造
ユーザーの機器から Cloud IoT Coreにメッセージを送信すると、Cloud IoT Coreでは信頼できるユーザーであることを確認し、メッセージを受信します。メッセージはリアルタイムで確認した後、すぐに他の機器に送信(発行)できます。また、Cloud IoT Coreのルールを使用してユーザーが定義した条件に合ったメッセージを送信すると NAVERクラウドプラットフォームの Cloud Functionsのようなコードレスサービスを連携して使用することもできます。
図1.Cloud IoT Coreサービスの構造
サービスの動作方式
Cloud IoT Coreを通じて IoT機器が動作する方式は次の通りです。
図2.IoT機器の動作方式
IoT機器から収集したセンサー情報を MQTTプロトコルを使用して、JSON形式のデータ Cloud IoT Coreに送信します。Cloud IoT Coreでデータをリアルタイムで処理し、連携したサービスでデータを送信したり、ユーザーがあらかじめ設定したアクションを実行します。
Cloud IoT Coreのサーバ構成は次の通りです。
- 認証サーバ: ユーザーの機器にインストールする X.509形式の証明書を発行して管理する役割と、ユーザー機器を認証してセキュリティ通信をサポートする役割を果たします。
- メッセージサーバ: MQTTプロトコルをサポートし、ユーザーが送信した MQTTメッセージを受信して、リアルタイム処理サーバにメッセージを送信する機能を実行します。メッセージは、セキュリティのために、ユーザー別に区分された独立した領域で管理されます。
- リアルタイム処理サーバ: 送信されたメッセージがユーザーの定義した動作に合致するメッセージであるかをリアルタイムで検査した後、条件に合ったメッセージである場合、ユーザーが定義した動作を実行します。
MQTTプロトコル
Message Queue Telemetry Transport(MQTT)プロトコルは、性能が不足している機器でも動作し、IoTシステム構築時によく使われる軽量型メッセージプロトコルです。メッセージ構造は、メッセージを分類できるトピック(Topic)とデータを送信できるペイロード(Payload)で構成されます。ユーザーはトピックに基づいてメッセージを送信する発行(Publish)機能とメッセージを受信する購読(Subscribe)動作を実行します。トピックのための別途の登録プロセスは不要で、ユーザーが任意で指定したトピックデータを転送できます。例えば、ユーザー Aが mynews
というトピックでメッセージサーバにデータを送信すると、mynewsトピックを購読している購読者(Subscriber)は、ユーザー Aが送信したメッセージを受信します。 mynews/sport
, mynews/media
, mynews/weather
などのように 「/(スラッシュ)」を使って階層的構造のトピックを使用することもできます。
仮想デバイスミラー
仮想デバイスミラーは、クラウド上で IoT機器を便利に管理および動作させるための概念です。仮想デバイスのミラー機能を用いると、仮想デバイスの状態情報をクラウドから読み取ったり、保存することができます。IoT機器のデータをクラウドに転送して保存するには、別のストレージスペースが必要です。仮想デバイスミラーを使用すると、仮想デバイスごとに提供されるデフォルトの基本ストレージスペースに IoTメッセージを保存し、読み込むことができます。例えば、「温度センサー」という仮想デバイスを作成し、温度センサー機器で Cloud IoT Coreの温度センサー仮想デバイスミラーに MQTTメッセージを送信してデータを保存するように設定すると、保存されたデータを管制システムやスマートフォンのアプリケーションでも確認できます。
また、ネットワークエラーや電力不安定により IoT機器の接続が終了しても、IoT機器が再び接続された時に仮想デバイスミラーに保存されたデータを読み込むことができるので、IoT機器の最終状態値を簡単に復旧できます。例えば、電球がオンになった状態(On)を仮想デバイスミラーに保存すると、IoT機器とクラウドの接続が切れてから再び接続されると、仮想デバイスミラーに最後に保存された電球の状態情報(On)を読み込み、電球をオンにした状態で復旧できます。
仮想デバイスミラー MQTT専用のトピック
仮想デバイスミラーを MQTTメッセージで制御する場合は、MQTT専用トピックを使用します。
- 「DefaultMirror」トピック: ユーザーが別途ミラー名を指定する必要がないミラーです。NAVERクラウドプラットフォームコンソールでは、自動的に「DefaultMirror」と表示されます仮想デバイスごとに1つだけ作成できます。
- 発行トピック:
$ncp/device/{仮想デバイス名}/mirror/{アクション名}
- ミラー発行後に購読すべきトピック:
$ncp/device/{仮想デバイス名}/mirror/{アクション名}/accepted または rejected
- 発行トピック:
- 名前のあるミラートピック: 「DefaultMirror」を除くすべての仮想デバイスミラーを意味します。仮想デバイスで複数のミラーを使用したり、ミラーを特定の名前で管理するために使用します。仮想デバイスごとに最大10個のミラーを作成でき、各ミラーは独立して動作します。
- 発行トピック:
$ncp/device/{仮想デバイス名}/mirror/name/{ミラー名}/{アクション名}
- ミラー発行後に購読すべきトピック:
$ncp/device/{仮想デバイス名}/mirror/name/{ミラー名}/{アクション名}/accepted または rejected
- アクション名: get(内容の確認)、update(作成とアップデート)、delete(削除)があります。
- 発行トピック:
仮想デバイスミラー専用トピックではない場合、一般的な MQTTメッセージとして動作し、ミラー機能として動作しません。このガイドでは、DefaultMirrorトピックを基準に説明します。