製品IoT化パック

Webレシピ

IoTで実現する簡単な製品の動作情報の送信と可視化

本レシピでは、お客様の製品を模したIoTデバイスから、IoTプラットフォーム「Things Cloud」に製品の動作情報(イベント)を送信し、受信されたイベントをウェブ画⾯で可視化する⽅法についてご紹介します。動作情報とは、動作の正常完了通知やステータスの変化など緊急性がない動作ログのことを指します。このような動作情報を記録しておくことで、遠隔での動作状況の把握や異常発⽣時の原因分析などに役⽴てることが可能です。

難易度:★☆☆☆☆

レシピ公開日:2025年3月

IoTで実現する簡単な製品の動作情報の送信と可視化

1.概要

IoTは、⽇常⽣活からビジネスの現場まで幅広く活⽤されています。とくに産業機械やプラント設備の状態監視、建機やトラクターといった産業⽤⾞両の追跡監視など、「製品の遠隔監視」は有望な活⽤例です。IoTを⽤いた遠隔監視では、遠隔地や危険区域からもリアルタイムにデータを取得できるため、コスト削減、安全性向上、迅速な対応が可能となります。

1-1.本レシピで実現できること

本記事では、Raspberry PiをIoTデバイスに⾒⽴て、イベントをThings Cloudに送信します。さらに、Things Cloud側で受信したあと、可視化を⾏います。以下の構成図に⽰すように、Raspberry Piからイベントを送信し、Things Cloudで受信したイベントをダッシュボードで可視化します。

構成図

今回はIoTデバイスとしてRaspberry Piを使⽤しますが、お持ちのIoTデバイスからでもThings Cloudにデータを送ることが可能です。お⼿元のIoTデバイスにおいて本⼿順を応⽤することで、簡単にイベントとして製品の起動・停⽌や各種ステータスの変化、位置情報などの動作情報を送信/記録/管理することができるようになります。さまざまなIoTデバイスをThings Cloudと接続しイベントを⼀元管理することによって、複数のIoT製品の遠隔監視や保守などの負担を軽減し、より効率的な運⽤を実現しコストの削減等に貢献します。

イベント機能の活⽤例

Things Cloudのイベント機能は、⼀般的なデバイスやシステムの状態や動作に関する情報を扱います。Things Cloudには似たような機能としてアラームがありますが、⼈の対応を必要とするような異常や問題を報告するアラームと異なり、イベントは基本的に⼈による対応を必要としない状態の変化や情報の通知を⽬的としています。イベントで扱う情報は⼀般的に緊急性が低いものになりますが、遠隔から正常に動作してることの把握や異常発⽣時の原因追跡など、IoTデバイスの状況を常に把握することに役⽴ちます。具体的な活⽤例を1つご紹介します。
昨今の商業施設においては、AIや5Gなどの新しい技術を⽤いて、警備員の代わりにロボットを導⼊しているケースがあります。ロボットが巡回業務を⾏うことで安⼼・安全のみならず、⼤幅な業務の効率化を実現しています。このようなデバイスでは、異常検知のみならず正常動作時も常に動作状況(作業開始/完了、デバイスのON/OFF状況など)を把握する必要があります。Things Cloudで提供している機能により、このようなロボットの遠隔監視を⽀援し、ロボットから送信される動作情報をイベントとして⼀元管理することが可能です。簡単な図を以下に⽰します。

監視・通知、事象調査、対処
イベント機能の活⽤例

巡回しているロボットは、起動ステータスや巡回の状況、充電の状態などのさまざまな情報をイベントとしてThings Cloudに送信します。このイベントの情報について、本記事で紹介する機能を利⽤することで、ダッシュボード上での動作情報の可視化をすることが可能です。たとえば電池残量が少なくなっていることを確認した際には、Things Cloud側から遠隔制御で充電のリクエストを⾏ったり、過去のイベント情報を参照することで、ロボットが正常に動作していたかなど状況をいつでも確認/追跡することが可能です。 このソリューションでは、⼀例として以下のような画⾯を作成し、ロボットの状態をリアルタイムに把握できるようにします。1つの画⾯で⾒たい情報を⼀覧で表⽰することができるため、運⽤者はロボットの状況を⼀⽬で把握することが可能です。本レシピでは、画像に⽰したダッシュボード画⾯のうち、イベントリストの部分を作成します。

ダッシュボード画⾯

1-2.所要時間

約90分(デバイスセットアップ50分を含む)

1-3.所要費用

約13,500円(デバイス購⼊の初期費⽤+サービス利⽤料⾦)

1-4.使用するサービス

Things Cloudとは

多様なセンサーやデバイス接続からのデータ収集・可視化・分析、デバイスの管理などIoTに必要な機能をパッケージ化したIoTプラットフォームサービスです。IoTシステムに必要な機能の9割が組み込まれており、IoTを簡単に導⼊するのに適しています。また、直感的にUIをカスタマイズ可能で⽤途に合った可視化画⾯を簡単に作成でき、さらにAPIファースト設計で柔軟なシステム連携も実現しており、幅広い使い⽅が可能なサービスとなっています。

Things Cloudとは

1-5.準備する物

ハードウェア

品名 数量 価格 備考
Raspberry Pi (3以降のModel B) 1 約 10,000円 今回はRaspberry Pi 4 Model Bを使⽤
microSDカード 1 約 1,000円 16GB以上のものを推奨
microSDカードリーダー 1 約 500円
Raspberry Pi ⽤電源アダプター 1 約 1,000円 5V 2A以上のものを推奨
PC 1 Windows PC もしくは Macを推奨
  • ⾦額はレシピ作成の参考価格となります。
準備物

その他準備するもの

アイテム 費用 備考
Things Cloudのテナント 製品IoT化パックをご契約頂くことで、Things Cloudを利⽤することが可能です。
利⽤料⾦の詳細はこちらをご参照ください。

2.作業の流れ

2-1.ハードウェア構築⼿順

Raspberry PiのセットアップとNode-RED導⼊

Raspberry PiをIoTデバイスとして利⽤するために、OSのインストールとNode-REDの導⼊を⾏います。以下のレシピを参考に、Raspberry Piのセットアップとデバイス認証情報の作成を⾏ってください。

すでにセットアップ済みのRaspberry Piがある場合は、Node-REDのインストールとデバイス認証情報の作成のみを⾏ってください。

デバイスからイベントを送信するための設定

ここからは、Raspberry Piに導⼊したNode-REDを使ってデバイスからThings Cloudにイベントを送信するための事前設定を⾏います。

Node-REDのサンプルフロー読み込み

セットアップ済のRaspberry Piを起動し、インストールしたNode-REDの画⾯を開きます。⾃⾝のPCのブラウザから以下のURLにアクセスして、Node-REDにログインしてください。

http://things-raspi.local:1880
  • Raspberry PiとPCが同じネットワークに接続されていることを確認してください。
  • things-raspiの部分は、⾃⾝のRaspberry Piのホスト名に置き換えてください。
  • ログイン画⾯が表⽰されたら、Node-REDインストール時に指定したユーザー名とパスワードを⼊⼒してログインします。

こちらからサンプルフローをダウンロードし、Node-REDにインポートします。

インポートの手順:

1. Node-REDの画⾯右上のメニューから「読み込み」を選択

Node-REDの画⾯

2. 「読み込むファイルを選択」からダウンロードしたファイルを選択し、「読み込み」をクリックする

読み込むファイルを選択

3. 「イベント送信(サンプル)」というフローが追加されるので、追加されたフロー(上部タブをクリック)に切り替えます。以下のような画⾯(フロー)が表⽰されれば成功です。

イベント送信(サンプル)
MQTT接続設定

デバイスからThings Cloudにデータを送信するために、今回はMQTTを利⽤します。以下の⼿順でNode-RED上のMQTTの設定を変更していきます。

MQTTとは

MQTT(Message Queuing Telemetry Transport)は、IoTデバイス間でメッセージをやり取りするためのプロトコルです。軽量で通信速度が速く、低消費電⼒で動作するため、IoTデバイス間の通信に適しています。
Things CloudにおけるMQTT接続については、こちら をご参照ください。また、Things Cloudは、より⼀般的なHTTPを利⽤したREST API (API仕様書) にも対応しています。

1) ⾃⾝のPCのブラウザから以下のURLにアクセスしてNode-REDにログインし、フローエディタ画⾯を開きます。

http://things-raspi.local:1880
  • Raspberry PiとPCが同じネットワークに接続されていることを確認してください。
  • things-raspiの部分は、⾃⾝のRaspberry Piのホスト名に置き換えてください。
  • ログイン時のユーザー名とパスワードは、Node-REDのインストール時に設定したものを⼊⼒して下さい。

2) フロー画⾯で、「MQTT送信ノード」をダブルクリックして設定画⾯を開きます。次に、"サーバー"の右側にある鉛筆アイコンをクリックして、MQTTサーバーの設定を⾏います。

MQTT設定

3) MQTTサーバーの設定画⾯が表⽰されたら、以下の設定を変更します。

  • その他の項⽬は変更不要です。
接続タブ
項⽬ 説明 備考
サーバー [テナントのドメイン]/mqtt ログイン時のURLのドメイン部分を入力
例: test-tenant.je1.thingscloud.ntt.com/mqtt
注:"https://"の部分は不要
ポート 8883
TLSを使用 チェックを入れる
クライアント デバイスを一意に示す任意のID 独自のデバイス固有のIDを設定可能(シリアル番号、社内の管理番号など)
例: Raspberry_Pi001
セキュリティタブ
項⽬ 説明 備考
ユーザー名 [テナントID]/[デバイスユーザー名] テナントIDと先ほど作成したデバイスユーザー名を入力
例: t12345678/username
パスワード [デバイスユーザーのパスワード]
MQTT設定(接続)
MQTT設定(セキュリティ)

テナントIDの確認方法
Things CloudのテナントIDは、ログイン後に右上のユーザーアイコンをクリックした時に表⽰されるプラットフォーム情報の中に記載されています。⼀般的に"t"から始まる英数字の⽂字列です。

  • テナントのサブドメイン部分とは異なることに注意してください。
テナントID

デバイスユーザー(デバイス認証情報)について
Things Cloudでは、デバイスが利用するための専用ユーザー(=デバイスユーザー)の利用を推奨しています。デバイスユーザーをまだ作成していない場合は、Raspberry Pi とノーコードツール「Node-RED」を利用したIoTデバイスのセットアップの「デバイス用の認証情報を作成」セクションを参照して下さい。

4) 設定が完了したら、画⾯右上の「更新」をクリックして設定を保存します。そのままmqtt outノードの編集画⾯も「完了」をクリックして閉じます。

5)最後に、フロー画⾯右上の「デプロイ」をクリックして設定を反映さます。デプロイが完了したら、"MQTT送信"ノード部分が接続済(緑⾊)になっていれば成功です。

  • 接続済になっていない場合は、ノードをクリックして設定を確認してください。
MQTT接続済

以上で、デバイスからThings Cloudにアラームを送信するための設定は完了です。

イベント送信の実⾏⽅法

サンプルフローには、すでにイベントを送信するためのノードが設定されています。例としてデバイスの巡回開始を⽰すイベントが設定されています。「巡回開始イベント送信」ノードの左にあるボタンをクリックすることで、イベントを送信することが可能です。
Things Cloudにデバイスを登録するために、1度ボタンを押してイベントを送信してみましょう。

デバイスからMQTTでデータを送信することで、Things Cloudのデバイス⼀覧に本デバイスが⾃動的に追加されます。次の⼿順で必要なため、必ず1回以上イベントを送信してください。

イベント送信

2-2. イベント⼀覧の⾒⽅

デバイスからThings Cloudに向けて送信したイベントは、すぐにダッシュボードで可視化し、どのようなイベントが発⽣したか確認できます。イベントを可視化する設定を⾏い、実際にイベントを表⽰させる⽅法について紹介します。

コックピットアプリへのログイン

ご⾃⾝のThings Cloudのテナントにアクセスし、ユーザー名とパスワードを⼊⼒してログインを⾏います。

コックピットアプリへのログイン

ログインに成功すると、以下の画⾯が表⽰されます。
以下のアプリケーションを「コックピット」と呼び、さまざまなデータの可視化や設定を⾏う機能があります。

コックピット

すでにThings Cloudにログインしている場合は、画面右上のアプリケーションスイッチャー をクリックし、「コックピット」アプリを開いてください。

グループへのデバイス割り当て

グループとは

コックピットアプリでは、作成したデバイスを「グループ」というアセットに割り当てることにより、デバイスのデータをグループ単位で管理できます。以下の⼿順で、作成したデバイスをグループに割り当てます。

デバイスの割り当て

コックピットアプリの画⾯左に表⽰されているナビゲーターの中から、「グループ」メニューを選択すると、以下の画⾯が表⽰されます。
まだグループを作成していないので、何も表⽰されません。
画⾯右上の「グループを追加」を選択し、新しいグループを作成します。

グループメニュー

グループの名前と、付随する説明を記載し、次へを押下します。

グループ作成

テナントにある全てのデバイスが表⽰されるため、先ほどNode-REDのMQTT設定時⼊⼒したクライアント(デバイスを⼀意に⽰すID)と⼀致するデバイスを選択してください。
クライアントに Raspberry_Pi001 を設定した場合、デバイス名は MQTT Device Raspberry_Pi001になります

グループ作成

この操作により、作成した⾃⾝のデバイスのデータを扱うためのグループが作成されました。

グループ作成

ダッシュボードの追加

ダッシュボードとは

ダッシュボードとは、グラフやテーブルなどを配置して、データを可視化したり、分析するためのツールの1つです。コックピットアプリでは、⽐較的簡単にダッシュボードを作成し、直感的な画⾯を作成することが可能です。ダッシュボードの作成⽅法について、以下で説明します。

ダッシュボードを追加

さっそく、ダッシュボードを追加してみましょう。先ほど作成したグループの名前(例ではEvent-Group)をクリックし、グループの詳細画⾯に遷移すると、グループに割り当てたデバイスの⼀覧が表⽰されます。このグループのダッシュボードを作成します。⾚枠のを押下し、ダッシュボード追加画⾯に遷移します。

グループ詳細画面

ダッシュボードを作成するための設定画⾯が現れます。今回はとくに設定を⾏う必要はありませんので、そのまま保存を押下します。

ダッシュボード追加

画⾯上部に「ダッシュボード」タブが追加され、ダッシュボードが作成されました。

ダッシュボード作成完了

イベントウィジェットの追加

ウィジェットについて

ウィジェットとは、ダッシュボード上に配置することができる、データを可視化するための部品のことです。Things Cloudでは、今回扱うイベントウィジェットの他にも、グラフやテーブルなどさまざまな種類のウィジェットが標準で組み込まれており、⾃由にダッシュボードをカスタマイズすることが可能です。この章では、今回設定するイベントウィジェットの追加⽅法について説明します。

イベントウィジェットを追加

グループに紐づくダッシュボードを作成したので、ダッシュボードにイベントウィジェットを追加します。イベントウィジェットは、デバイスから送信されたイベントを可視化するためのウィジェットです。
さっそく、先ほど作成したダッシュボードの画⾯の中央にある「ウィジェットを追加」を押下すると、ダッシュボードに追加可能なウィジェットの⼀覧が表⽰されます。
「イベント リスト」を探してください。これがイベントウィジェットを指します。このウィジェットを選択してください。

イベントウィジェットを追加

どのようなデータを表示させるかといった設定の画面が表示されます。
以下の表に、設定項目の一覧を示します。

設定項目 内容 詳細
アセットの選択 イベントを表⽰させたいデバイス 今回は、作成したグループ全体を指定します。これにより、グループに複数のデバイスが割り当てられていた場合でも、すべてのデバイスのイベントを⼀覧で表⽰することが可能です。
タイトル ウィジェットのタイトル 任意のタイトルを入力します。
日付の範囲 ⽇時設定の⽅法 ダッシュボード全体で同じ⽇時を設定できる機能の設定です。今回は、デフォルトの「ウィジェット」のままにしてください。
Type 表⽰するイベントの種類 ⼊⼒欄を空欄に設定することで、全タイプのイベントが表⽰されます。

設定できたら、保存を押下します。

ウィジェット設定

これで、ダッシュボードにイベントウィジェットが追加されました。

ウィジェット作成完了

イベントウィジェットでイベントを可視化

今作成したイベントウィジェットでイベントが可視化できるかどうかを確認するために、まずはデバイスからイベントを送信してみましょう。
先ほど作成したNode-REDのフロー画⾯に戻り、イベントを送信するノード「巡回開始イベント送信」があることを確認します。ノードの左側にあるボタンをクリックし、イベントを送信します。

イベントを送信すると、先ほど作成したウィジェットの中にデバイスから受信したイベントが表⽰されます。ウィジェットの中には、デバイスから送信されたイベントの⼀覧が表⽰されています。イベントを選択すると、イベントの詳細情報を表⽰できます。

イベントウィジェットでは、過去のイベントを含めて表⽰されます。デバイスからイベントを送信するたびに、ウィジェットに新しいイベントがリアルタイムに追加されます。

イベントウィジェット

以上で、デバイスから発⽣したイベントの⼀覧をダッシュボードで可視化することができました。

2-3. 【応⽤編】 独⾃のイベント内容を送信

最初のイベントが送信できThings Cloud上で確認ができたら、次はイベントの内容を変更してみましょう。送信する際のデータ内容を変更することで、イベントの種類や通知するテキストを⾃由に設定することが可能です。

イベントの内容を変更

別のイベントを送信するための⼿順:

1. Node-REDのフロー画⾯に戻り、イベントを送信するノード「巡回開始イベント送信」を右クリックし、「ノードをコピー」を選択します。

2. 次にフロー上で右クリックをして「ノードを貼り付け」を選択し、新たにイベントを送信するノードを配置します。配置できたら、そのノードをダブルクリックして設定画⾯を開きます。

イベントノードのコピー

3. 設定画⾯で、イベントの内容を変更します。msg.paylodの右に設定されているのが送信されるデータの内容です。以下の表にデータの仕様を⽰しているので、⾃由に変更してみましょう。

  • Things CloudのMQTT通信では、通常SmartRESTというプロトコルを⽤いてデータを送信します。
    SmartRESTでは、あらかじめ定義されたカンマ区切りのフォーマットに合わせてデータを送信します。

データ例:

400,com_patrolStartEvent,巡回を開始します

# データ項目 内容 詳細
1 SmartRESTのテンプレートID 400(イベント送信) SmartRESTのテンプレートを示す番号
標準のテンプレートがあらかじめ定義されており、汎⽤のイベント送信の場合は[400]を指定します
※ 独自のテンプレートを作成することも可能
2 イベントタイプ com_patrolRestartEvent
com_chargeStartEvent
など
イベントの種類を⽰す⽂字列
任意の⽂字列を設定可能
3 イベントテキスト イベントの詳細情報 イベントの内容を示す文字列(可視化画面に表示される)
任意の文字列を設定可能

変更例:

400,com_chargeStartEvent,充電を開始します

イベントノードの設定

4. 設定が完了したら、画⾯右上の「完了」をクリックして設定を保存します。次に、編集した新しいノードを「MQTT送信」ノードに接続してください。

イベントノードの接続

5. 新しいノードが追加できMQTT送信ノードに接続されたら、画⾯右上の「デプロイ」をクリックして設定を反映させて完了です。

SmartRESTとは
SmartRESTは、IoTデバイスからThings Cloudにデータを送信するためのプロトコルの⼀つです。REST APIのようにThings Cloudに対して各種データを送信することができますが、データの形式や送信⽅法がREST APIとは異なります。SmartRESTでは、あらかじめ定義されたテンプレート(ユーザーが定義することも可能)に基づいてカンマ区切り (CSV) のデータを送信することで、イベントやアラーム、計測値など様々なIoTデータを簡単に送信することできます。詳しくはこちらをご参照ください。

追加したイベントを送信

新しいイベントの送信設定ができたので、再度デバイスからイベントを送信してみましょう。先ほど作成したノードの左のボタンをクリックしてイベントを送信します。

イベントを送信したら、再びThings Cloudのダッシュボードに戻ります。先ほど送信したイベントとは異なるテキストのイベントがウィジェットに表⽰されることが確認できるはずです。このようにデバイスから任意のイベント内容を送信することができ、Things Cloud上でイベントの可視化を⾏うことが可能です。

イベントを送信

3.最後に

3-1. 次のステップ

本記事では、Raspberry PiをIoTデバイスとして利⽤し、Things Cloudを⽤いてデバイスからの動作情報をイベントとして受信し可視化する⽅法について解説しました。
Things Cloudを利⽤することで、デバイスの監視や運⽤を効率化することができるということが少しだけ実感できたのではないでしょうか。
今回はIoTデバイスから送信される「イベント」について扱いましたが、デバイスからは他にも「アラーム(デバイスからの異常な状態を知らせる要素)」「メジャーメント(計測値)」などが送信されています。次のステップとして、イベント以外のデータをThings Cloud上で扱う⽅法についてチャレンジしてみましょう。

3-2. Things Cloudの詳細情報とお申し込みについて

ここまで読んでいただき、誠にありがとうございました。
Things Cloudのさらなる詳細情報については、Things Cloud紹介ページをご覧ください。

資料請求に関しては、資料請求ページからお願いいたします。

こちらのWebレシピの
PDF版ダウンロードはこちら

ダウンロードする
(PDF形式/12.7MB)

製品IoT化パックの
ウェビナー視聴&資料ダウンロードはこちら

  • お問い合わせ

    製品IoT化パッケージに関するお問い合わせはこちら

関連コンテンツ

  • Things Cloud®

    Things Cloud®

    NTT ComのIoTプラットフォーム「Things Cloud®」は、 センサーデバイス、ネットワーク、クラウド、アプリケーションといった多岐に渡る分野をIoT Platformとしてトータルで提供します。

  • IoT Connect Gateway

    IoT Connect Gateway

    クラウド側のインターフェース仕様に合わせて簡単・セキュアに接続いただけるゲートウェイサービスです。セキュアなIoT通信をスモールスタートから実現できます。

  • IoT Connect Mobile® Type S

    IoT Connect Mobile® Type S

    1枚のSIMで世界196の国と地域で利用可能。日本でもグローバルでも最適なデータ通信料金を実現。フルMVNOならではの柔軟性・拡張性。

  • ドコモビジネスのIoT総合サイト

    ドコモビジネスのIoT総合サイト

    ドコモビジネスのIoTサービス&ソリューションや導入事例をご紹介しています。IoTにドコモビジネスのアセットを組み合わせて、お客さまのビジネスに無限大の可能性を提供します。

このページのトップへ