• IoT機器で検出したデータをNEQTO Flowで転送する方法

本記事のポイント

IoT-CoreエンジンNEQTOでは、お客様のバックエンド環境の開発を最小限にするため、「NEQTO Apps」というデータを保存、監視、操作することができるアプリケーションを提供しています。NEQTO Appsを利用することで、IoTデプロイメントを簡単に管理・制御することができます。

本ブログでは、NEQTO Apps の一つである「NEQTO Flow」を使用して、IoT機器で検出したデータを転送する方法についてご紹介します。



1. はじめに

IoTシステムの中には、デバイスで取得したデータをリアルタイムで分析するサービスも少なくありません。

NEQTOとは別の領域にデータを保存したい場合やリアルタイムでのデータ取得を行う場合は「NEQTO Flow」を利用することができます。

本記事では、NEQTOで提供しているデータ転送機能の「NEQTO Flow」をご紹介します。

2. NEQTO Flowとは?

まず、NEQTO Flowの概要についてお伝えします。

NEQTO Flowとは、NEQTO Appsと呼ばれるNEQTOが提供しているオプションサービスの1つです。

NEQTO FlowではNEQTOが搭載されているIoTデバイスからNEQTO Consoleに送信したデータを指定したエンドポイントに転送することができます。 NEQTO Flowを利用する場合、データは下記のようなフローでエンドポイントに送信されます。

データのフロー

NEQTO Flowのご利用にあたり費用が発生しますので、詳しくはNEQTO 料金体系をご確認ください。

同じオプションサービスの「NEQTO Infinitypool」でもデータを取得することができますが、Infinitypoolの場合リアルタイムでのデータ取り出しには対応していないことにご注意ください。

参考サイト
NEQTO Docs: NEQTO Flow
https://docs.neqto.com/docs/ja/console/apps/flow

NEQTO Docs: NEQTO Infinitypool
https://docs.neqto.com/docs/ja/console/apps/infinitypool

3. 構成

  • NEQTO対応ハードウェア
  • ターミナルソフトがインストールされたPC
  • NEQTO対応ハードウェアとPCを接続する通信用USBケーブル
  • データを取得するセンサー(ダミーデータを利用する場合は不要)

デバイスの設定ついてはNEQTO Docsの以下リンクをご覧ください。
Tutorial Step 2. デバイス設定とサービスの開始 (STM32 Discovery)
Tutorial Step 2. デバイス設定とサービスの開始 (SPRESENSE)

4. 設定方法

NEQTO Flowを利用するためにはNEQTO Consoleのグループ設定で「Flow」を有効にする必要があります。

Flowの設定フィールドは下記のように設定してください。

*は必須項目

  • URL* : データを転送するエンドポイント
  • Status Code : エンドポイントにデータが送信された際に返されるステータスコード
  • Custom Header : カスタムヘッダー

今回は簡単にデータ転送のテストを行うために「Webhook.site」を利用します。 Webhook.siteにアクセスすると固有のランダムなURLが表示され、HTTPリクエストのテストなどに利用することができます。

今回はこのURLをNEQTO Flowのデータ転送先として指定します。

URLをNEQTO Flowのデータ転送先として指定

NEQTO Flow設定の保存時にURLの存在確認を行います。5秒以内に設定されたステータスコードが受け取れない場合は失敗です。失敗になってしまった場合はエンドポイントとエンドポイントのセキュリティ設定などを確認してください。

設定完了後デバイス設定を行ったグループ内のノードを動作させます。 今回はデータ転送を確認するために、スクリプトはチュートリアルのダミーデータ送信 を使用しています。

デバイスを起動したことでダミーデータ送信スクリプトが実行され、Webhook.siteにデータが転送されました。

Webhook.siteにデータが転送された結果

データ送信が失敗した場合のみノードの最近のイベントでログを確認することが可能です。

この場合はFlowの設定画面で「Status Code」に「400」を指定しました。そのため、NEQTO Flow側ではデータ送信後にStatus Code 400が返却されるのが正しい挙動と設定されています。

実際はStatus Code 200 が返却されるので、NEQTO Flowはイベントでエラーを出力しています。

イベントでエラーを出力

またこのイベントによって設定されているアクションをトリガーすることも可能です。 設定の際には「テンプレート」の通知登録ボタンより「Flow」を設定してください。また、転送の成功時はイベントが発生しないためトリガーできないことにご注意ください。

5. まとめ

今回は、IoT機器で検出したデータをNEQTO Flowで転送する方法をご紹介しました。 NEQTO Flowを利用することで簡単にリアルタイムデータを転送することができます。転送に失敗した時でもアクションによって通知をすることができるため安心です。

NEQTO Flowはオプションサービスのため利用する際は下記の2点にご注意ください。

- NEQTO Appsはオプションサービスであり、無料枠を超過した場合に料金が発生する
- オプションサービスNEQTO Flowはグループページの設定で有効にする必要がある


リンク


NEQTO : 料金体系 https://neqto.jig-saw.com/ja/pricing

今回使用したデバイス
STM32L4+ Discovery kit IoT node [B-L4S5I-IOT01A]: STマイクロエレクトロニクス
SPRESENSEメインボード[CXD5602PWBMAIN1]:ソニーセミコンダクタソリューションズ