0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Gravio 4でCO2データをCSVに出力する

Posted at

はじめに

CO2センサーのデータを格納し始めて約2週間経過。そろそろデータも溜まって来たのでCSVにでも出力してみることにする。
出力にはSensorDataDBコンポーネントを使う。これがいろいろ細かいところまで行き届いてるので便利。

使用環境

  • Raspberry Pi 4 Model B w/4GB RAM
  • Ubuntu Server 20.04.1 LTS
  • Gravio HubKit v4.1.0-6380
  • Gravio Studio v4.1.5432.0
  • Gravio CO2センサー

事前準備

手順

アクションの作成

いつものようにアクションを作成して、[Sensor Data DB] → [Join] → [CSV Write]とコンポーネントをつなげる。
image.png

Sensor Data DBコンポーネントの設定

まずはSensor Data DBコンポーネントで取得するデータの設定。
エリアとレイヤーを指定し、とりあえず全データを取得してみるので、「全てのレコード」をチェックする。

image.png

Joinコンポーネントの設定

Joinコンポーネントはそのままでよい。とりあえずデフォルトのまま。
Sensor Data DBのままCSV Writeにわたすと、1レコードずつファイルに出力されるので、Joinで全てのレコードをまとめると考えればよいです。

image.png

CSV Writeコンポーネントの設定

最後にCSV Writeコンポーネントの設定。
ファイル名だけ指定しておきましょう。ここで指定したファイルはHubKitのデータフォルダに作成されます。

image.png

実行

実行してみます。
データが多いと結構時間がかかりますのでご注意を。ちなみに、私の場合は約2週間、11万件くらいをラズパイで実行して30秒くらいかかりました。

image.png

ダウンロード

アクション一覧の画面に戻って、データフォルダを開き、ファイルができてることを確認したら、ダウンロードしてみましょう。
image.png

image.png

CSVができました。

上級編

上級編というほどではないですが、いろいろパラメータを弄ってみます。

過去1日のデータを取得

From Previousに 1 を、タイムスケールに を指定します。前からの流れだと、「全てのレコード」のチェックを外すのも忘れずに。
これで、実行した時刻から遡って1日分のデータが取得できます。これなら3秒くらい。

image.png

昨日のデータを取得

上と同じでいいですが、「時間を丸める」をチェックします。
すると、ちょうど昨日の分のデータを取ってきてくれます。自分で時刻を丸める必要がありません。

image.png

過去1000件取得

時間で区切るのではなく、件数で区切ることもできます。
image.png

まとめ

Sensor Data DBコンポーネントを使うと、過去に受信したデータをまとめて処理することができます。
Sensor Data DBコンポーネントでは、取得する範囲を時間で指定したり、件数で指定することができ、さらに時間を丸めることで、いい感じの時間範囲のデータを取得することができます。
CSVへの出力は、CSV Writeコンポーネントを使います。ただし、Sensor Data DBコンポーネントからの出力はレコード単位になっているので、間にJoinコンポーネントを挟むことでレコードをまとめてCSVに書き出すことができます。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?