aptpod Tech Blog

株式会社アプトポッドのテクノロジーブログです

Raspberry Piでオンデマンドデータ収集してみた

限られたネットワークを効率的に使ってデータ収集したいみなさん、

こんにちは。ソリューションアーキテクトの伊勢です。

昨今、モビリティの遠隔監視ニーズはさらに高まっていますが、取得データは多岐に渡り、データ量は増える一方です。

データサイズや優先度に応じて、取り扱いを分けたいご要望をいただいています。

  • GPSや死活監視データは常時取りたい。

  • 映像など重たいデータは緊急時/分析時に取得したい。

そこで今回はintdashのオンデマンドデータ収集機能をご紹介します。

はじめに

オンデマンドデータ収集とは

必要なときに、その都度データを収集する方式です。

収集するデータを選別できるため、ストリーミング方式に比べてトラフィックを抑えられます。

蓄積データを要求・収集

これまでのintdashは主にストリーミングでデータを収集していました。

Terminal System 2の2024年6月リリース版より、オンデマンド方式も実現できるようになりました。

Terminal System 2とは

intdashに接続可能なゲートウェイアプライアンスで、組込Linuxにより構築されたシステムの最新版です。

これまでも、ストリーム送信しなかったデータをバッグクラウンドでアップロードできましたが、設定によりアップロードを保留できるようになりました。

これにより、OTAアップデート機能のDevice Management Consoleとあわせて、保留/保留解除を遠隔で指示できるようになっています。

tech.aptpod.co.jp

tech.aptpod.co.jp

また、エッジコンピュータとして新たにRaspberry Pi 4 Model Bをサポートしましたので、今回はそちらを使ってみます。

今回やること

データ種類によってストリーミングとオンデマンドにわけて収集します。

ざっくり全体構成

収集方式をTerminal System 2のストリームとして設定します。

  • 常時見たいデータとしてデバイスのステータス情報であるDevice Inventoryをリアルタイムにストリーム収集します。
  • 緊急時/分析時に見たいデータとしてカメラ映像をオンデマンドで収集します。

オンデマンド用ストリームに渡されたデータは、サーバーへの送信が保留され、保留解除の指示を受けると送信されます。

手順

準備したもの

準備物一式

  • Raspberry Pi 4 Model Bと電源アダプタ
  • microSDカードとmicroSDカードリーダー
  • LANケーブル
  • USBカメラ
  • ディスプレイデバイス(Terminal System用)

こちらも利用しています。

  • セットアップ用PC(Macbook)

  • モニタとmicroHDMI-HDMI変換ケーブル

  • USBキーボード

構成準備

intdashでは各種ドキュメントを公開しています。

今回はTerminal System 2のマニュアルに従っています。

Raspberry Piのセットアップ

まずはセットアップ担当者向けの手順を実施します。

microSDカードリーダーをセットアップ用PCに接続

microSDにTerminal System OS 2イメージを書き込む

Raspberry PiをLANケーブルに接続して起動

Device Management Consoleで認証要求を承認

Device Management Consoleで計測開始

初期設定で計測中

サーバー側で計測データを確認

Device Inventoryを10秒ごとに受信

カメラ映像の送信設定

ここにデータ送信設定を追加してみます。

カメラ映像をストリーミング収集

遠隔でカメラの送信設定を追加

USBカメラをRaspberry Piに接続

Device Management Consoleで設定追加してデプロイ

Device Management Consoleから計測開始

左中央が映像/他はDevice Inventory

ここまではマニュアル通りです。

保留設定

カメラ映像だけ送信が保留されるよう設定します。

カメラ映像はエッジに留まる

Device Management Consoleでストリーム設定を追加

保留ストリームを追加

以下の3項目を指定しています。

  • skip_realtime: true
    • リアルタイム送信を試みることなく遅延アップロード用データとして保存
  • deferred_upload: true
    • 帯域不足や回線切断によりリアルタイム送信できなかったデータは遅延アップロードによりサーバーに送信
  • suspend_deferred_upload: true
    • 遅延アップロード用データとして保存したのち、遅延アップロードを保留

カメラ映像が保留ストリームに流れるように設定変更

Device Management Consoleから計測開始

Device Inventoryのみが表示される

データ回収

保留されたカメラ映像を回収します。

サーバーにすべての計測データがそろう

Device Management Consoleのインベントリタブで保留中のデータを確認します。

約13MBが保留中

保留されている計測を指定して遅延アップロードの保留を解除します。

保留解除を指定してデプロイ

映像データが回収され、過去計測の再生では、リアルタイムで表示されなかったカメラ映像を含むすべてのデータを可視化できます。

一番いいところでカメラがズレてしまった

おわりに

Terminal System 2の新機能により任意タイミングでデータ収集できました。

常時収集するデータの例としては温度湿度/位置情報/ガス漏れ検知/ハートビート/CANなど多岐に渡ると想定されます。

異常を検知したら、カメラ映像/LiDAR点群/ROSトピックなど大容量データを回収して状況を把握します。

あるいは、通常時はモバイルで計測、分析用のデータはあとから有線LANで回収というユースケースも考えられます。


実現には充実した製品ドキュメント・チュートリアルが大いに参考になりました。

閲覧を希望される方はお問い合わせフォームよりご連絡ください。

豊富で丁寧なドキュメント群