これなに
Google Form, Spreadsheet, DataPortalで車の燃費をメモ、可視化できる仕組みを作りました。
今回は非常に簡単な手順だけで作ることができ、コードは全く書きませんでした。(spreadsheetの関数は1つ使いました)
完成品は下記
燃費(DataPortal)
動機
DataPortal使えるようになりたいなーの第2弾です。
日頃から満タン法で自分の車の燃費はチェックしていて、ガソリン入れた時にスマホに走行距離とかメモってました。それを可視化してしまえばいいじゃないかと。
DataPortal使えるようになりたいなーの第一弾は下記
Qiita: ラズパイ + Google Data Portalで自宅の気温・湿度をグラフ化
※満タン法とは:
ガソリンを給油するとき、毎回満タンに入れます。
前回給油の時から何km走って何リットル給油したか計算することで、自分の車の実際の燃費を計算します。
例)前回給油時累積走行距離1000km、今回累積走行距離1500km、ガソリン購入量50リットル
→ ガソリン50リットルで500km走った
→ 燃費10km/L
概要
作るもの
- Google Form: スマホでの入力を受け取り、Spreadsheetにデータを自動的に追記
- Google Spreadsheet: データの受け皿。手を加えるのは燃費計算の関数くらい。
- Google DataPortal: spreadsheetに溜まったデータをグラフ化。スマホでの閲覧を前提にレイアウトを検討。
使ったもの
無料のGoogleアカウントで使えるサービスのみ。
手順
Google Form
スマホからのデータ入力を受け取るフォームを作成。
回答シートに切り替えて、回答データを保存するspreadsheetを作成
Google Spreadsheet
ここでFormに戻って試しに適当にデータを送ってみます。
Formのプレビューに切り替えて
適当なデータが自動的にspreadsheetに反映されました
反映されたデータを下の行にコピーし、数字を適当に変えて燃費計算のサンプルとして使います。
燃費はspreadsheet上で関数を使って計算する必要があるので手で追加します。
G1:燃費(km/L)
G3:=iferror((C3-C2)/D3,0)
Formからのデータが追加されたら燃費も自動的に計算したいので、計算式を表の一番下までコピー。
この辺り、もっといいやり方があるような気がするんですがわかりません。
データ追加されたら計算式の範囲も自動的に拡大されるみたいな。
もし知っている方いましたら教えていただけるとありがたいです。
適当に入れたデータを消して、spreadsheetの準備は完成
ちなみに今回使った自分のデータをサンプルデータとして晒しときます。
サンプルデータ(spreadsheetへリンク)
DataPortal
テキスト挿入で「燃費の推移(km/L)」を追加
グラフの追加で時系列グラフを追加
スタイルで欠落データを「ゼロとして扱う」から「線形補間」にするのがミソ
上記と同様の手順でガソリン単価の推移のグラフを追加
内訳ディメンションにガソリンスタンド名を指定
元データを表示。
スマホむけのレイアウトにしたので横幅が狭いため、テーブル2つに分割して表示する。
テキスト挿入でテーブル名を入力。
グラフを追加で表を挿入する
完成
あとはガソリンを入れた時にスマホでFormの画面を開いて入力してやれば、自動的にチャートに反映されます。
元データはspreadsheetで確認や編集も可能。
まとめ
だんだんDataPortalの使い方に慣れてきました。
今回はpythonやGASを全然使わなかったので、プログラミングしたことない人でも作れるものができました。
これと同じようなものをdjangoやFlask使って作ろうと思うと結構覚えることが多くて大変だと思うけど、それを一切コード書かずに作れてしまうGoogleのサービスすごいなと思います。これ無料でいいんすかと。
便利なものはどんどん学ぶべきですね。
あと、車そろそろ買い替えた方が良さそう。