ノーコードで独自のIoT処理ロジックを構築できる - Things Cloud の「Analytics Builder」とは

わかること

  • IoTプラットフォームにおける独自のイベント処理ロジックの構築について
  • Things Cloudのノーコードツール「Analytics Builder」でできること

※本記事は、Things Cloud バージョン10.14(8月以降リリース予定)の利用を想定しています。

はじめに

こんにちは、Things Cloud のカスタマーサクセスチーム 井上です。 私たちは、5G&IoTサービス部で IoTプラットフォーム「Things Cloud」のサービス開発やお客さまへの技術支援を担当しています。

早速ですが、皆さんは「IoT化」という言葉を聞いて何を思い浮かべるでしょうか。データの収集から可視化、分析、異常検知、通知、自動制御などIoTで実現できることは幅広く、適用可能なビジネス領域や業界も多様です。特に最近では、専門的なスキルを必要とせず手軽にIoT化を実現できるIoTサービスが多く登場しています。

本記事では、IoTプラットフォームThings Cloudに搭載されているデータ処理機能の1つである「Analytics Builder」を利用して、ノーコードで独自の分析処理を構築する方法ご紹介します。

Analytics Builderとは

Things Cloudの紹介

Analytics Builderを紹介する前に、Things Cloudのサービスについて、概要をご紹介します。

Things Cloudは、NTT CommunicationsのSmart Data Platform(略称SDPF)の中で、データ収集機能を提供するプラットフォームの1つです。 製品やセンサーなどのIoTデバイスからデータを収集し蓄積できるクラウドサービスで、簡単な操作でデータの可視化やアラート通知を実現でき、デバイス接続/ユーザー管理/デバイス管理などIoT導入に必要な機能一式が揃ったIoTプラットフォームです。

Things Cloudには、データをリアルタイムで処理し、データに基づいて通知や制御などのアクションを実行するためのデータ処理機能がいくつか搭載されています。 Things Cloudのデータ処理では、リアルタイムに流れているイベント(データ)をトリガーとして処理を行い、処理結果としてデータベースへの書き込みやメール送信、通知、制御を行います。

データ処理機能の1つとして、今回紹介するAnalytics Builder1があります。 Analytics Builderを活用することで、テンプレートベースの標準機能だけでは実現できない独自のデータ処理機能をノーコードで簡単に構築できます。

Analytics Builderの概要

Analytics Builderは、ブラウザ上でグラフィカルに、データ処理モデルを構築できる機能です。 下図のように、事前定義された処理ブロックを線でつなぐことで処理モデルを構築できます。 ブロックは処理内容、ブロック間をつなぐ矢印はデータの入出力を表しています。

Analytics Builderの技術的観点や利用方法などの詳細を知りたい方は、開発者ドキュメント 〜 Analytics Builder をはじめる〜 をご参照下さい。

ノーコードとは

アプリケーションやシステムの開発において、昨今新たな手法として広まっているのが 「ノーコード」 や「ローコード」と呼ばれる開発手法です。 「ノーコード」は、一般的なプログラミングにおいて必要となるソースコードの記述が不要なため、特別なスキルが不要で手軽にアプリケーションを構築できます。

Things Cloudでは、IoTデバイスからのデータを処理するための処理ロジックをノーコードで構築できる「Analytics Builder」をプラットフォーム内に備えています。

参考サイト: DXを加速する「ノーコード ローコード」による開発とは?

Analytics Builderの特徴

Analytics Builderには、以下のような特徴があります。

  • ユースケースに応じた独自処理の実現が可能
    • Analytics Builderは、テンプレートベースの標準機能では実現できない独自の処理を、ノーコードで簡単に実現できます。
  • グラフィカルなUIでわかりやすい
    • Analytics Builderは、Things Cloud上のアプリケーションの一部であり、直感的に操作できるグラフィカルなUIを備えています。また、実装時は必要なブロックを選択しUI上で線を使ってつなげていくだけなので、すぐに分析モデルを構築できます。
  • すぐに始められる
    • Analytics Builderでは、カテゴリ分けされたブロック群から必要なブロック(機能)を選択し、あらかじめ定義されたパラメータ設定するだけで必要な処理を実現できます。一般的なプログラミングのようにさまざまな文法や関数を学習する必要がなく、短時間で手軽に分析モデルを構築できます。

適用ユースケース/処理の例

ここまで、Analytics Builderの強みを説明してきました。 これまでに述べたように、Analytics Builderでは用意された複数の処理ブロックを簡単に組み合わせることができ、それによって個別の要件に応じたさまざまな処理モデルの構築が可能です。

ここでは、代表的な適用例を一部ご紹介します。

  • 温度センサ等を利用したユースケースの場合
    • 温度が3分継続して40℃以上になった時、アラームを生成
    • デバイスごとの計測値の10分平均を算出し、計測値として登録
    • 特定のデバイスグループ全体の計測値の10分平均を算出
  • 電力使用量を計測するユースケースの場合
    • 日次の総電力使用量の集計
    • 拠点ごとに総電力使用量を集計
  • その他
    • デバイスからの通信が途絶した後、復旧した際に通知メールを送信
    • イベントやアラームをトリガーとしたデバイスデータの更新 (例:機器の動作開始/終了イベントから、デバイス情報の"動作ステータス値"を更新)

より簡単な標準機能 「スマートルール」

Things Cloudのデータ処理機能には、より簡単に設定/利用が可能な「スマートルール」が標準搭載されています。 スマートルールは、あらかじめ定義されているテンプレートからUI上でデータにもとづくアクションを簡単に設定できる機能です。

スマートルールのテンプレートでは「しきい値超過時にアラームを発生させる」「アラーム発生時に通知メールを送る」など頻繁に利用される機能が定義されており、操作も非常にわかりやすいため、Things Cloudのデータ処理ではまずスマートルールの利用を考えます。 スマートルールで定義されていないような独自の処理を行いたい場合には、Analytics Builderの活用が有効です。

※スマートルールの詳細については、開発者ドキュメントをご参照ください。

Analytics Builder 実装例

ここでは、温度値の集計を題材として、実際にAnalytics Builderを利用して1つの処理モデルを構築した例をご紹介します。

処理内容

  • 入力する計測値: 温度センサで計測した温度値 (20秒おきに送信)
  • 出力する結果: 5分間の平均値がしきい値を上回った場合に、アラームを発生させる
  • 処理内容:
    1. デバイスの温度値を取得
    2. 5分間の平均値を算出
    3. 平均値がしきい値を超過しているか判定
    4. アラーム通知用の文章を作成
    5. アラームを送信

実装/動作例

Analytics Builderで作成したモデルの例

ブロックの設定例(平均値ブロック)

しきい値超過時のアラーム発生画面

他の実装例や具体的な実装方法について知りたい方は、開発者ドキュメントの例題をご覧下さい。

応用例:Slackに通知内容を送信

Analytics Builder には、入力/出力/集約など便利で豊富なブロックが標準で搭載されていますが、入出力/パラメータ/処理内容を自身で設定/構築するカスタムブロック2というものを作成することも可能です。 以下は、Slackに通知するカスタムブロックを開発し、先ほど紹介したモデルに対して追加した例になります。

※SlackのIncoming Webhook機能を利用しています。

Slack通知のカスタムブロック(開発例)

Slackに通知される様子

おわりに

いかがでしたか?

今回は、Things Cloudのノーコードツール「Analytics Builder」についてご紹介しました。 Things Cloudでは、スマートルールやAnalytics Builderを活用することで、さまざまなユースケースに対応したデータ処理をコーディング不要で簡単に実現可能です。また、より高度で複雑な処理を実現したい場合やプログラミングに慣れている方向けには、コーディングによってデータ処理を構築するApama EPL機能 3 も備えています。

Things Cloud カスタマーサクセスチームでは、ますます広がっていくIoTユースケースにおいて、より便利な使い方を開拓すべく機能検証や内製開発をしています。今後もIoTに関連する開発ネタを発信していきたいと思います!

Things Cloud 関連ブログ:

問い合わせ先

お手数ですが@を半角文字に置き換えてください。

  • Things Cloud サービスについて:iot-info@ntt.com
  • Things Cloud カスタマーサクセスチーム:iot-app@ntt.com

  1. Analytics Builderの利用には「カスタムストリーミング処理機能」のオプション申し込みが必要です。
  2. カスタムブロックの作成には、開発環境の準備および専用の言語によるコーディングが必要です。
  3. Apama EPL機能の利用には「カスタムストリーミング処理機能」のオプション申し込みが必要です。Apama EPL機能について詳しく知りたい方は、開発者ドキュメント 〜Apama EPLをはじめる〜をご覧下さい。
© NTT Communications Corporation All Rights Reserved.