방에 CO2 센서 기록하기.

두루뭉술하게 말하다


· 방의 CO2 농도가 올라가면 집중력이 떨어져 졸음이 온다.
・CO2-mini 제품을 사용하면 라즈베리 파이에서 간단하게 CO2 농도를 얻을 수 있다.
• USB 연결로 용접과 팔찌가 필요 없어 편리합니다.

배경


• 혼자 살기 시작하자마자 졸려서 눈치챘을 때 아무것도 하지 않고 지나가는 일이 늘었다.
・ CO2 농도가 높으면 집중력이 떨어지고 졸릴 것 같아서 측정해 보려고 합니다.

쓰던 물건


Raspberry Pi
CO2-mini(상품 링크)

CO2 농도 읽기


USB로 Raspberry Pi를 연결하면 이 Python 모듈을 사용하면 간단하게 읽을 수 있습니다.
  Github heinemml/CO2Meter
 
일단 pip로 설치할게요.
sudo pip3 install git+https://github.com/heinemml/CO2Meter
샘플 스크립트 가져오기
왜 샘플처럼 2초를 기다리는 시간이 순조롭지 않은지 10초를 기다렸다.
show_CO2.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from CO2Meter import *
from time import sleep

# CO2meterが認識されているデバイスを設定
# 他にUSBデバイス挿してると末尾が1とか2とかになってるかもしれません。
sensor = CO2Meter("/dev/hidraw0")
# ちょっと待つ
sleep(10)
# CO2濃度を取得(単位はppm)
data = sensor.get_co2()
# 表示
print("CO2: {}ppm".format(data["co2"]))
실행 결과
$ sudo python3 show_CO2.py
CO2: 936ppm

정기적으로 CO2 농도 측정


위에 있는 디스플레이 프로그램을 살짝 수정해 주세요.
CO2_logger.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from CO2Meter import *
from time import sleep
from datetime import datetime
import csv


# CO2meterが認識されているデバイスを設定
sensor = CO2Meter("/dev/hidraw0")
# ちょっと待つ
sleep(10)
# CO2濃度を取得(単位はppm)
data = sensor.get_co2()
# 現在日時と時刻を取得
time = datetime.now()
# ファイル名を作成
filename = time.strftime('%y%m%d.csv')
# ファイルに結果を追記
with open(filename, 'a') as f:
    writer = csv.writer(f, lineterminator='\n')
    row = [time.strftime('%H:%M:%S'),data["co2"]]
    writer.writerow(row)

1분 주기로crontab 설정
* * * * * sudo python3 ~/CO2_logger.py

결과


마감일이면 한 시간 정도 1200ppm까지 올라간다.
창문을 열지 않으면 어쩔 수 없다.이사 가고 싶어요.

지원


Windows용 CO2 mini는 데이터 로깅 소프트웨어여기(링크 있음)에 있으므로 먼저 이동하려는 사람은 여기서부터 시작하십시오.

참고 자료


팀 실험실의 공기 환경(CO2) 측정이 개선되면
CO2 모니터링을 위해 센서를 해킹했다면.
Reverse-Engineering a low-cost USB CO₂ monitor
Github heinemml/CO2Meter

좋은 웹페이지 즐겨찾기