4
4

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.

Raspberry Pi Pico で測定したCo2濃度をGoogleスプレットシートで簡単見える化しました

Last updated at Posted at 2021-06-29

###以前、Raspコストを抑えてCo2濃度が測定できるようになったところで、さらにGoogleスプレットシートで見える化しました!

image.png
今回はGatewayにビズライト・テクノロジー社のBH3を使います。

###システム構成
image.png

###主な作業手順
1)Co2センサーユニット(Raspberry Pi Pico + MH-19B)での作業
・Co2濃度をシリアルデータとして送信
2)Googleスプレットシートでの作業①
・GAS(Google Apps Script)プログラミング
・ウェブアプリのURL取得(デプロイID)
3)BH3での作業
・センサーユニットからのデータの取り出し
・ウェブアプリのURLを送る仕組みを作る
4)Googleスプレットシートでの作業②
・グラフの作成
・ウェブ公開用をインタラクティブなURLを取得

###1)Co2センサーユニット
こちらをご覧ください。

###2) Googleスプレットシートでの作業①
まずスプレットシートを開いて、ツール→スクリプトエディタを選択してGASエディタを開きます。
image.png

下記のようにプログラミングし、”新しいデプロイ”でデプロイし表示されたウェブアプリのURLを取得します。

function doPost(e) {
 // パラメータCO2の値を取得
 var co2 = e.parameter.co2;
 var date = new Date(); 
 // 保存先のシートを取得:シート名:log
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('log');
 // シートにデータを追記
 sheet.appendRow([date.getHours()+":"+date.getMinutes()+":"+date.getSeconds(), co2]);
}

###3)BH3での作業
Co2センサーのデータを取得するためのpythonスクリプトとCo2センサーのデータをPOSTするためのシェルスクリプトを作成します。
####pythonスクリプト

#!/usr/bin/python3import serial
import timedef main():
   con=serial.Serial('/dev/ttyACM0', 9600)
   print (int(str))
if __name__ == '__main__':
   main()

####シェルスクリプト

#/bin/bsah -f
while true
do
 result=`./[上記pythonスクリプト]`
 curl -X POST -d "co2=${result}" -o /dev/null [ウェブアプリのURL]
 sleep 10
done

###4)Googleスプレットシートでの作業②
もう一度、スプレットシートで今度は取得したデータのグラフを作成します。[挿入]→[グラフ]からグラフを作成し、お好みでタイトルや凡例、目盛りなどを設定します。グラフを公開するために右上で[個別シートに移動]を選択します。
image.png

最後に[グラフを公開]ボタンを押してインタラクティブなリンク情報を取得すれば完了です!
image.png

###最後に
今後は、Co2センサーとBH3間の有線シリアル通信を無線化したいと思います。そのときセンサー側は電池駆動になるので、消費電流を考えたり、複数のセンサーに対応したり、ハードルは一気に上がります。

4
4
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
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?