スポンサーリンク
寒さが募るこの時期、部屋を開けずにエアコンを常時使用することが日常となってから、部屋の二酸化炭素濃度が気になりだしたので、ラズペリーパイで二酸化炭素を計測してみることにした。
用意したもの
$ sudo pip3 install mh-z19
$ sudo python3 -m mh_z19
{"co2":575}
上記のようにCO2濃度が出力されれば、二酸化炭素計測モジュールは動作したと確認できます。
//保存先のシートを取得
var spreadsheetId = 'XXXXXXXXXXXXXXXXXXQ68OcXXXX(手順3のスプレッドシートのID)'
//Postされたデータを受け取る
function doPost(e){
var data = [
e.parameter.Date_Master, // マスター日時
e.parameter.co2_room, // 部屋の二酸化炭素濃度
];
//取得したデータをログに記載
Logger.log(new Date());
//スプレッドシートへのデータ行書き込み
addData(e.parameter.DeviceName, data);
return ContentService.createTextOutput("ok");
}
//スプレッドシートへのデータ行書き込み
function addData(sheetName, data){
var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
sheet.appendRow(data);
}
$ curl -L https://script.google.com/macros/s/[current web app URL]/exec -F 'DeviceName=CO2' -F 'co2_room=500'
import mh_z19
import requests
import datetime
import csv
import pprint
dt_now = datetime.datetime.now()
co2_concentration = mh_z19.read()
print(co2_concentration)
deviceName = 'CO2'
data = {
'DeviceName': deviceName,
'Date_Master': str(dt_now),
'co2_room': str(co2_concentration['co2'])
}
url = 'http://script.google.com/macros/s/(current web app URL/exec'
response = requests.post(url, data = data)
$ sudo python3 co2.py
Python でGoogleスプレッドシートに二酸化炭素濃度を出力するスクリプトをcronで定期実行させます。
sudo crontab -e
* * * * * /usr/bin/python3 /[co2.pyが保存されているファイルパス]
* * * * * /usr/bin/python3 /home/user_a/co2/co2.py
*/15 * * * * /usr/bin/python3 /home/user_a/co2/co2.py