最近リモートワークで自宅にこもる時間が増えました。
自宅で一日作業部屋にこもっていると、気がつくとなんとなくぼーっとしたり、眠くなったりすることはないでしょうか。
そういうときは窓を開けて部屋の換気をしましょう。
二酸化炭素濃度が高まると人は眠くなったり集中力が低下したりするようです。
とは言え、"なんとなく"ぼーっとするというのは一体どのくらいの二酸化炭素濃度でなるのでしょうか。
実は気づいていないだけで、ぼーっとしていることに気づかないまま非効率な作業を続けているのではないでしょうか。
私はこの"なんとなく"の判断が苦手です。数値化してその判断基準を機械にゆだねたいと常に思っています。
前置きが長くなりましたが今回は、
自宅で仕事に集中できるように、部屋の二酸化炭素濃度や温湿度をグラフ化し、
適切なタイミングで換気を行えるようにしたいとおもいます。
アイデア
I2C通信で簡単に環境測定を行えるセンサが数多く売られています。例えば今回使う下記のようなセンサがあります。
- Bosch BME280 (温度、湿度、気圧センサ)
- AMS CSS811 (二酸化炭素、総揮発性有機化合物センサ)
これらのセンサをRaspberry Piで制御してセンサの読み出しを行います。
Raspberry Piを使えばI2C通信なんかもPythonで簡単に記述できます。
また、今回はAmbientというサービスを使って、Webブラウザでグラフ表示ができるようにしたいと思います。
このAmbientを使うと、わずか2行のコードでデータのグラフ化ができてしまったので紹介しようと思いました。
事前準備
- Raspberry Pi 4
- Python 3.8.3
- 秋月 - BME280使用 温湿度・気圧センサモジュールキット
- CJMCU-811 (CSS811搭載)
pyenvでpythonのバージョンを3.8.3にしています。
回路図
環境設定
pythonで利用するライブラリのインストールを行います。
- CCS811, BME280ライブラリ
pip install adafruit-circuitpython-ccs811
pip install Adafruit-BME280
- Ambient
pip install git+https://github.com/AmbientDataInc/ambient-python-lib.git
ソースコード
使用したソースコードは下記のとおりです。予めAmbientに会員登録して、チャンネルIDとライトキーを取得しておいて下さい。
import time
import board
import digitalio
import busio
import adafruit_ccs811
import adafruit_bme280
import ambient
i2c = busio.I2C(board.SCL, board.SDA)
ccs811 = adafruit_ccs811.CCS811(i2c)
bme280 = adafruit_bme280.Adafruit_BME280_I2C(i2c)
bme280.sea_level_pressure = 1013.25
# Ambientと接続: チャンネルID, ライトキー
ambi = ambient.Ambient(123456, '0123456789abcdef')
# Wait for the sensor to be ready
while not ccs811.data_ready:
pass
while True:
co2 = ccs811.eco2
voc = ccs811.tvoc
temp = bme280.temperature
humid = bme280.humidity
press = bme280.pressure
# データを送信
r = ambi.send({"d1": co2, "d2": voc, "d3": temp, "d4": humid, "d5": press})
time.sleep(60)
動作画面
グラフが表示されました。
Ambientにスマホでログインすれば、家のどこにいても(外でも)グラフを見ることができます。
適切な環境
厚生労働省が公開している建築物環境衛生管理基準についてによると、
- 二酸化炭素濃度 1000ppm以下
- 温度 17~28℃
- 湿度 40~70%
が適切とされています。我が家ではこれを超えていたら換気するようにしました。
一晩寝ていると2000ppm程度まであがっていることもあるので、朝起きて作業する前にはしっかり換気をしないといけないなどの知見を得ました。
基準値を超えたら通知が来るようにするとより便利ですね(今回はやりませんが)
これで快適在宅ワークを送っていきたいと思います。
投稿者の人気記事
-
taltalp
さんが
2020/07/16
に
編集
をしました。
(メッセージ: 初版)
-
taltalp
さんが
2020/07/16
に
編集
をしました。
ログインしてコメントを投稿する