Laut Alterung der Kohlendioxidkonzentration durch die Meteorologische Agentur wird die durchschnittliche CO2-Konzentration in der Welt im Jahr 2018 mit dem Vorjahr verglichen. Es scheint, dass es um 2,3 ppm auf 407,8 ppm gestiegen ist.
Es ist besorgniserregend, dass die CO2-Konzentration aufgrund der globalen Erwärmung weiter zunimmt, aber die derzeitige Besorgnis über die neue Koronavirus-Epidemie ist "besiegelt", "dicht" und "nahe". Die Frage ist, ob der Raum richtig belüftet ist, um das Risiko einer "Abdichtung" in der Dichte zu vermeiden.
Über die CO2-Konzentration im Raum [Https://www.mhlw.go.jp/bunya/kenkou/seikatsu-eisei10/) zeigt 1.000 ppm oder weniger Ministerium für Bildung, Kultur, Sport, Wissenschaft und Technologie, Umwelthygienestandards für Schulen zeigt 1.500 ppm oder weniger Ist der Managementstandard. Auch diese von CHC GROUP zusammengestellte Zahl kann hilfreich sein. (Quelle: http://group.chcsys.net/jp/chcgroup/)
Ich wollte korrekte Daten über die CO2-Konzentration meines Ortes im Vergleich zum Standard haben, deshalb habe ich beschlossen, sie mit einem Sensor zu messen.
Raspberry Pi 3 Model B CO2-Sensor MH-Z19B
OS Debian GNU/Linux Linux raspberrypi 4.19.97-v7+ #1294 SMP Thu Jan 30 13:15:58 GMT 2020 armv7l
Aktivieren Sie die serielle Schnittstelle in der Raspberry Pi-Einstellungsschnittstelle.
Starten Sie den Raspberry Pi neu, nachdem Sie die serielle Schnittstelle aktiviert haben.
Das Drahtlöten wird für GND, Vin, TxD und RxD durchgeführt. (Aus dem Schaltplan https://pypi.org/project/mh-z19/)
Verbinden Sie den Raspberry Pi und den CO2-Sensor gemäß Schaltplan.
Basierend auf den Informationen unter https://pypi.org/project/mh-z19/. Paketinstallation
$ sudo pip3 install mh-z19
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting mh-z19
Downloading https://www.piwheels.org/simple/mh-z19/mh_z19-0.4.1-py3-none-any.whl
Collecting argparse (from mh-z19)
Downloading https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl
Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from mh-z19) (3.4)
Collecting getrpimodel (from mh-z19)
Downloading https://www.piwheels.org/simple/getrpimodel/getrpimodel-0.1.15-py3-none-any.whl
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from mh-z19) (2.21.0)
Installing collected packages: argparse, getrpimodel, mh-z19
Successfully installed argparse-1.4.0 getrpimodel-0.1.15 mh-z19-0.4.1
~~ Das Modul mh_z19 scheint das Ergebnis im Wörterbuchtyp auszugeben. ~~ Das Modul mh_z19 scheint das Ergebnis in JSON auszugeben. (Wir haben eine Bearbeitungsanfrage von @UedaTakeyuki erhalten. Danke.)
$ sudo python3 -m mh_z19
{"co2": 1456}
Der Messwert wird zusammen mit Datum und Uhrzeit ausgegeben.
import datetime
import mh_z19
now = datetime.datetime.now()
now = "{0:%Y-%m-%d %H:%M:%S}".format(now)
value = mh_z19.read().get("co2") # ex: {"co2": 1456}
out = now + ',' + str(value)
print(out) #Ausgabe an die Konsole
Ausgabeergebnis
2020-04-15 19:34:01,1950
Leitet das Ergebnis der Standardausgabe in eine Protokolldatei um. do.sh
#!/bin/sh
cd /home/pi/mh-z19
sudo python3 MeasureAndOutput.py >> ./log/logfile.csv
Versetzen Sie das Shell-Skript in den ausführbaren Modus.
$ chmod +x do.sh
$ crontab -e
Der Editor wird gestartet. Stellen Sie ihn so ein, dass er jede Minute misst und das Protokoll ausgibt.
# m h dom mon dow command
* * * * * mh-z19/do.sh
Starten Sie cron neu, damit die Einstellungen wirksam werden.
$ sudo /etc/init.d/cron restart
[ ok ] Restarting cron (via systemctl): cron.service.
Als ich es einige Minuten später überprüfte, wurde das Protokoll gemäß dem Szenario ausgegeben.
$ cat logfile.csv
2020-04-15 19:34:01,1950
2020-04-15 19:35:02,1957
2020-04-15 19:36:01,1965
2020-04-15 19:37:01,1976
2020-04-15 19:38:02,1983
2020-04-15 19:39:01,1996
2020-04-15 19:40:01,2032
Basierend auf der Ausgabeprotokolldatei habe ich vorerst versucht, ein Diagramm manuell zu erstellen.
・ Benachrichtigen Sie den LINE Bot, wenn die Konzentration ein bestimmtes Niveau überschreitet ・ Sprachalarm über Smart Speaker
@revsystem https://qiita.com/revsystem/items/76ab1e21d386c5977892 @tororu https://qiita.com/tororu/items/20e8625d3fb24f3e06da @UedaTakeyuki https://qiita.com/UedaTakeyuki/items/c5226960a7328155635f
Recommended Posts