Bau einer Funksensoranlage zur Messung und Auswertung von Innenraumluft
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Frankfurt University of Applied Sciences Fachbereich 2 Informatik und Ingenieurwissenschaften Informatik – Mobile Anwendungen Bau einer Funksensoranlage zur Messung und Auswertung von Innenraumluft Bachelor Thesis von Alexander Ochs E-Mail: ochs@outlook.com Matrikelnummer: 1054990 Studiengang Informatik – Mobile Anwendungen (Bachelor of Science) Erstbetreuer: Prof. Dr. Jens Liebehenschel Zweitbetreuer: Prof. Dr. Robin Müller-Bady Bearbeitungszeit: 05. Juni 2020 – 08. September 2020 Abgabedatum: 08. September 2020
Eidesstattliche Erklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit, selbstständig und ohne fremde Hilfe verfasst und keine anderen als die angegebenen Hilfsmittel benutzt habe. Die Stellen der Arbeit, die dem Wortlaut oder dem Sinn nach anderen Werken entnommen wurden, sind in jedem Fall unter der Angabe der Quelle kenntlich gemacht. Die Arbeit ist noch nicht veröffentlicht oder in anderer Form an irgendeiner Stelle als Prüfungsleistung vorgelegt worden. Die Anmeldung beim Prüfungsamt der Frankfurt University of Applied Sciences für die Prüfung ist erfolgt. Frankfurt am Main, 08. September 2020 Unterschrift: __________ (Alexander Ochs) i
Danksagung Ich möchte mich bei all denjenigen bedanken, die mich bei der Anfertigung dieser Bachelorarbeit unterstützt haben. Prof. Dr. Liebehenschel, der die Grundidee für diese Bachelorarbeit hatte und die notwendigen Technik bereitstellen konnte. David Merkl, der mit seiner Bachelor Thesis diese Arbeit inspiriert hat. Der Firma ABK-Systeme Gesellschaft für Ausbildung, Beratung und Kommunikationssysteme mbH, bei der ich meine Bachelorarbeit schreiben und die verwendeten Sensoren aufhängen konnte. ii
Zusammenfassung Diese Arbeit befasst sich mit dem Aufbau, dem Betrieb und der Auswertung von Innenraumluft mit dem Aspekt einer Datenübertragung über mehrere Kilometer. Zunächst wird erläutert welche Bauteile dafür geeignet sind. Danach wird der Aufbau der Hardware für die Messstationen und den Empfänger dargestellt. Anschließend wird die notwendige Software und deren Implementierung gezeigt. Letztlich gibt es eine Auswertung der gewonnen Messwerte. iii
Inhaltsverzeichnis Eidesstattliche Erklärung...........................................................................................i Danksagung...............................................................................................................ii Zusammenfassung.....................................................................................................iii Inhaltsverzeichnis......................................................................................................iv Abbildungsverzeichnis...............................................................................................vi 1 Einführung..............................................................................................................1 1.1 Motivation.......................................................................................................1 1.2 Planung............................................................................................................1 1.3 Ziel der Arbeit.................................................................................................2 2 Messwerte finden und Hardware auswählen...........................................................3 2.1 Festlegung der Messparameter........................................................................3 2.2 Aufstellung der groben Infrastruktur..............................................................4 2.3 Hardware finden..............................................................................................5 2.3.1 Auswahl der Messeinheit-Hardware.........................................................5 2.3.2 Auswahl der Sensoren...............................................................................6 2.3.3 Auswahl der Server-Hardware..................................................................6 2.4 Eingesetzte Entwicklungsumgebung und Programmiersprachen.....................7 3 Entwicklung der Messeinheiten...............................................................................8 3.1 Aufbau der Hardware......................................................................................8 3.1.1 Herstellung des Gehäuses.........................................................................8 3.1.2 Probleme bei der der Planungsumsetzung...............................................9 3.1.3 Finale Umsetzung...................................................................................11 3.2 Implementierung der Software.......................................................................13 3.2.1 Verwendete Bibliotheken........................................................................13 3.2.2 Programmierung des Arduinos...............................................................14 4 Entwicklung des Servers und Verwendung des „The Things Network“.................18 4.1 Das Gateway aufbauen und verbinden..........................................................18 4.2 Das „The Things Network“ einrichten............................................................19 5 Messdaten sammeln und auswerten......................................................................21 5.1 Transfer der Daten vom TTN auf den Server...............................................21 5.2 Messdaten visualisieren..................................................................................22 5.3 Standorte der Messstationen.........................................................................23 5.4 Vergleich der Messdaten mit der VDI-Richtlinie 6022-3...............................26 5.4.1 Ausgewählte Vorgaben und ihre Werte..................................................26 5.4.2 Einhaltung der Grenzwerte in ausgewählten Zeiträumen.......................27 6 Endbetrachtung....................................................................................................32 6.1 Zusammenfassung..........................................................................................32 6.2 Fazit...............................................................................................................32 iv
6.3 Ausblick.........................................................................................................32 Glossar.....................................................................................................................34 Quellen- und Literaturverzeichnis............................................................................36 CD............................................................................................................................38 Siehe Errata am Ende der Arbeit v
Abbildungsverzeichnis Ein Arduino MKR WAN 1310...................................................................................5 Ein LoRa Gateway HAT von Pi Supply....................................................................7 Benutzeroberfläche von Tinkercad mit 3D Modell des Messeinheit-Gehäuses..........9 Schaltbild des ursprünglich Aufbaus........................................................................10 Versuchsaufbau mit 3 Sensoren, Relais und Step-Down-Converter.........................11 Fertiggestellte Messeinheit.......................................................................................12 Schaltbild des verwendeten Aufbaus........................................................................13 Arduino Software beim Hochladen des Programmcodes.........................................15 Verfügbare CayenneLPP Datentypen und deren Aufbau........................................16 Server bestehend aus Raspberry Pi und LoRaWAN Gateway................................18 Übersicht der Gateway-Statusseite im TTN............................................................19 Die Gateway-Statusseite des Raspberry Pi Servers.................................................20 Zuweisung der Messwert-Namen im Python Programm..........................................21 Ausschnitt Python Programm zum Download der Daten.......................................22 Visualisierung der Messdaten in LibreOffice Calc...................................................23 Umgebung der Messstationen..................................................................................25 Vorgabe der Schadstoffwerte....................................................................................26 Bosch iAQ Index......................................................................................................27 Ausgewählte eCO2 und iAQ Werte von Messstation Alpha....................................28 Ausgewählte eCO2 und iAQ Werte von Messstation Beta......................................30 Ausgewählte eCO2 und iAQ Werte von Messstation Gamma.................................31 vi
1 Einführung Atemluft ist essenziell für nahezu jedes Lebewesen auf unserem Planeten. Die Qualität der Atemluft kann sich jedoch durch verschiedene Faktoren verschlechtern. Manche künstlich hergestellten Materialien setzen durch Ausgasung chemische Verbindungen frei, doch auch die Atmung verändert die Zusammensetzung der Luft. Einige dieser dadurch entstandenen Luftschadstoffe haben negative Auswirkungen auf den Menschen. [Schulz-2019] In dieser Arbeit soll eine technische Möglichkeit dargestellt werden, Luftschadstoffe in Innenräumen zu messen und zu visualisieren. Anschließend werden beispielhaft die Messungen mehrerer Tage mit einer Richtlinie für Innenraumluft verglichen. 1.1 Motivation Bereits zu Beginn meines Studiums waren hardwarenahe Aufgaben eines der interessantesten Themengebiete. Durch den Aspekt der mobilen Anwendungen meines Studienganges, gab es mehrere Vorlesungen, welche sich mit der Architektur von Computern und deren Programmierung in Assembler und C befassten. Meine Bachelorarbeit sollte daher in diesem Bereich liegen. Zusammen mit meinem Betreuer, Prof. Dr. Liebehenschel, hat sich eine Aufgabenstellung gefunden, welche die hardwarenahen Aspekte in Form von Mikrocontrollern und Sensoren mit dem wissenschaftlichen Ansatz der Messung und Auswertung von Innenraumluft verbindet. Diese Arbeit wurde auch von der Bachelorthesis David Merkls an der Frankfurt University of Applied Sciences inspiriert, welche ein ähnliches Grundthema hat. 1.2 Planung Während der Vorbereitung sollte die Luftqualität in Kursräumen der Hochschule ausgewertet werden. Aufgrund von Vorschriften durfte dafür zwischen den Sensoren und einem zentralen Server kein eigenes WLAN-Netz aufgebaut werden. Auch die Nutzung des vorhandenen Funknetzes war nicht möglich. Diese Erschwernisse erforderten eine Lösung in Form eines eigenen Funknetzes mit hoher Reichweite, weshalb die Datenübertragung letztlich mit dem freien Standard 1
LoRaWAN realisiert wurde. Die hierfür bestellte Hardware hatte jedoch eine Lieferzeit von mehreren Wochen. Während des Wartens auf die Hardware breitete sich die COVID-19-Pandemie in Europa aus. Das Messen in der Hochschule wurde dadurch unmöglich. Als Alternative konnten die Messungen in der Firma ABK-Systeme Gesellschaft für Ausbildung, Beratung und Kommunikationssysteme mbH ausgeführt werden. 1.3 Ziel der Arbeit Diese Arbeit soll darstellen, wie man die Qualität der Innenraumluft messen und auswerten kann. Die zulässigen Luftwerte sind aus der VDI-Richtlinie „VDI 6022 Blatt 3 – Beurteilung der Raumluftqualität (Juli 2011)“ [VDI 6022-3] entnommen, welche die Basis für die Beurteilung darstellt. Mit dem in der Arbeit vorgestellten Zusammenspiel aus Hard- und Software soll es möglich sein, eventuell schädliche Konzentrationen bestimmter Gase festzustellen und durch zielgerichtetes Lüften eine Belastung für Menschen in diesen Räumen zu minimieren. 2
2 Messwerte finden und Hardware auswählen Um Untersuchungen von Innenraumluft durchführen und mit Normen vergleichen zu können, müssen bestimmte Merkmale der Luft und eine technische Infrastruktur ausgewählt werden. Dieses Kapitel beschäftigt sich mit diesen Aspekten. Für die Untersuchung werden Messstationen installiert, welche sowohl Mikrocontroller als auch Sensoren enthalten, um gemessene Daten zu übertragen und einen Server, welcher die Daten empfängt und speichert. 2.1 Festlegung der Messparameter Da Schadstoffe in der Raumluft untersucht werden, benötigt die Messung Luft- beziehungsweise Gassensoren, welche bestimmte Kriterien erfüllen müssen. Die erste Eingrenzung für die zu wählenden Sensoren war der Preis. Der maximale Preis je Sensor sollte 10 Euro nicht überschreiten, um mehrere Messstationen in der gleichen Konfiguration zu ermöglichen. Die zu untersuchenden Gase sollen eine gewisse Relevanz für den Menschen haben. Ein typisches Beispiel hierfür ist ein CO2 Sensor, da dieses Gas ausgeatmet wird und bei zu hoher Konzentration in der Atemluft schädlich ist. Auch wichtig ist, dass eine Verbindung zwischen dem Sensor und dem Controller, welcher die Daten an den Server weiterleitet, möglich ist. Der Sensor musste die Messdaten analog oder digital, zum Beispiel über die Bussysteme I2C oder SPI, ausgeben. Außerdem sollte der Sensor möglichst stromsparend sein. Parallel dazu musste eine passende Norm für Innenraumluft gefunden werden. Es gibt mehrere DIN-Normen und VDI-Richtlinien, welche sich ganz oder in Teilen mit Innenraumluft beschäftigen. [DIN-IRL] Als passend hat sich die Richtlinie „VDI 6022 Blatt 3 – Beurteilung der Raumluftqualität (Juli 2011)“ herausgestellt. Durch die Auswahl von Sensoren und der VDI-Richtlinie konnten folgende Messparameter festgelegt werden: • Temperatur • relative Luftfeuchtigkeit • TVOC (Flüchtige organische Verbindungen) • eCO2 (Geschätzter CO2 Wert) 3
Zusätzlich werden folgende Parameter gemessen, aber nicht in dieser Arbeit ausgewertet: • Luftdruck • technische Sensordaten Die ursprüngliche Planung sah noch das Messen von CO vor, welches jedoch aufgrund technischer Schwierigkeiten beim Aufbau verworfen wurde (siehe Kapitel 3.1.1). 2.2 Aufstellung der groben Infrastruktur Die Messungen sollen in mehreren Räumen stattfinden. Dafür wird für jeden Raum der gleiche Satz Sensoren zusammen mit einem Mikrocontroller und einer Funkeinheit benötigt. Etwa 2 bis 3 unterschiedliche Sensoren sollen in jeder Messeinheit verbaut sein. Die Messeinheiten sollten zu Beginn der Planung durch die Verwendung von Akkus unabhängig von einer Steckdose sein. Durch Probleme in der Umsetzung (siehe Kapitel 3.1.1) wurden sie auf eine Stromversorgung per Netzteil umgerüstet. Als Server wird ein einfacher Linux Rechner verwendet. Dieser benötigt eine Funkeinheit zum Empfang von Daten der Messeinheiten und Internetzugang. Die Daten müssen gespeichert und grafisch aufbereiten werden können. Die Funkübertragung soll über den LoRaWAN Standard und das weltweit kostenlos verfügbare „The Things Network“ (TTN) ablaufen. Dadurch können die Messeinheiten nicht nur direkt an den Server, sondern auch über jeden anderen Empfänger nahezu weltweit senden. Das TTN versendet die Daten nach dem Empfang durch einen LoRaWAN Empfänger über das Internet, so dass es unabhängig von dem Standort genutzt werden kann. Der LoRaWAN Funk ist speziell auf eine hohe Reichweite von mehreren Kilometern und einen niedrigen Stromverbrauch ausgelegt. Batterie- oder akkubetriebene Geräte können im optimalen Fall mehrere Jahre funken. Die Bandbreite beträgt maximal 11 kBit/s und kann unter ungünstigen Bedingungen auf bis zu 250 Bit/s sinken. [TTN-1] Unabhängig von der erreichten Bandbreite darf in Europa nur 1-Prozent der Zeit gesendet werden. In einem Zeitfenster von 60 Minuten dürfen somit maximal für 36 Sekunden Daten gesendet werden. 4
2.3 Hardware finden Für die Messungen werden mehrere Hardwarekomponenten benötigt. Die Messeinheiten brauchen einen Mikrocontroller, Sensoren und ein Funkmodul. Für den Server muss zudem ein Computer, sowie ein Funkmodul für den Empfang der Daten, ausgewählt werden. 2.3.1 Auswahl der Messeinheit-Hardware Um die Messeinheiten steuern zu können, sind grundlegend Einplatinencomputer wie Raspberry Pi und Arduino-Mikrocontroller geeignet. Der Raspberry Pi ist weit verbreitet, bietet eine gute Softwareunterstützung und läuft als vollständiger Computer mit einem eigenen Betriebssystem. Der Stromverbrauch ist mit etwa 2,5 Watt aber zu hoch, um für längere Zeit über einen Akku laufen zu können. [RPi- Power] Ein Arduino ist deutlich sparsamer, hat dafür jedoch kein Betriebssystem und ist etwa um den Faktor 100 langsamer. [Mkr-1310] Da eine Messung nur alle 5 Minuten stattfinden soll, ist ein Arduino für diesen Zweck ausreichend performant. Der Hersteller der Arduino Mikrocontroller bietet verschiedene Versionen an, wovon eine direkt mit LoRaWAN ausgestattet ist. Dieses Modell heißt „Arduino MKR WAN 1310“ und wird für die Messeinheiten verwendet (siehe Abbildung 1). Der Mikrocontroller hat einen ARM Cortex-M0+ Prozessor mit einem Takt von 48 MHz, 256 KB internen Speicher und 32 KB Arbeitsspeicher. Abbildung 1: Ein Arduino MKR WAN 1310. Bildquelle: https://store.arduino.cc/mkr-wan-1310 5
2.3.2 Auswahl der Sensoren Die Auswahl geeigneter Sensoren ist aufwendiger, da es viele verschiedene Luft- und Gassensoren auf dem Markt gibt. Mit den festgelegten Messparametern (siehe Kapitel 2.1) war eine Einschränkung möglich. Der erste ausgewählte Sensor ist „Bosch BME680“. Der Sensor misst die relative Luftfeuchtigkeit, den Luftdruck, die Temperatur, den TVOC und einen davon abgeleiteten eCO2 Wert. Außerdem kann mit den Daten des Sensors und einer properitären Software-Bibliothek ein „indoor Air Quality“ (iAQ) Wert berechnet werden. [BME680] Die Software-Bibliothek „Bosch Software Environmental Cluster“ (BSEC) kalibriert die Ausgabewerte automatisch über mehrere Messungen. Die berechneten Werte werden mit einer Angabe für die Genauigkeit angegeben. Es ist der einzige in dieser Arbeit verwendete Sensor mit automatischer Kalibrierung. Um den CO-Wert zu messen, wurde der Sensor MQ-7 des Herstellers DFRobot ausgewählt. Dies ist ein analoger Sensor, welcher keine integrierte Logik hat und eine wechselnde Spannungsversorgung benötigt. Wie in Kapitel 3.1.1 erläutert, wurde dieser Sensor letztlich nicht in den Messungen verwendet. Der letzte Sensor ist ein „ams iAQ-Core C“. Dieser Sensor wurde bereits in der Bachelor Thesis von David Merkl genutzt und war in mehrfacher Stückzahl in der Hochschule vorhanden. Dieser Sensortyp misst ebenfalls TVOC und daraus abgeleitet eCO2. 2.3.3 Auswahl der Server-Hardware Für Empfang, Speichern und Verarbeiten der Messwerte wird ein Raspberry Pi 3B verwendet. Dieser Einplatinencomputer ist mit seinem 1,2 GHz ARM Cortex-A Vierkernprozessor für die Aufgabe ausreichend dimensioniert. Um LoRaWAN Signale mit dem Raspberry Pi empfangen zu können, muss er mit einer Erweiterung ausgestattet werden. Dies funktioniert mit einem LoRaWAN Gateway, welches alle Frequenzen dieses Funkstandards gleichzeitig überwachen und Daten empfangen kann. Diese Gateways kosten oft mehrere hundert Euro. Das zum Zeitpunkt der Recherche günstigste Gateway für einen Raspberry Pi war das „IoT LoRa Gateway HAT for Raspberry Pi“ des Herstellers „Pi Supply“ (siehe Abbildung 2). Durch eine bereitgestellte Software läuft die Erweiterung mit dem Betriebssystem „Raspberry Pi OS“ und fungiert als Vermittler im TTN (siehe Kapitel 4). Das Gateway Sendet und Empfängt Daten im 868 MHz Frequenzbereich und arbeitet auf allen für LoRaWAN eingesetzten 8 Kanäle 6
gleichzeitig. Das Gateway basiert dabei auf dem RAKWireless RAK833 oder RAK2247 Modul, welche wiederum auf einem Semtech SX1301 Chip basieren, der speziell für die Steuerung von LoRaWAN Gateways entwickelt wurde. Abbildung 2: Ein LoRa Gateway HAT von Pi Supply. Bildquelle: https://uk.pi-supply.com/products/iot- lora-gateway-hat-for-raspberry-pi 2.4 Eingesetzte Entwicklungsumgebung und Programmiersprachen Die Messstationen werden mit Arduino Mikrocontrollern gesteuert. Für diese wird das Steuerungsprogramm in der Programmiersprache C++ geschrieben. Hierfür ist das Programm „Arduino Software“ die standardmäßige Integrierte Entwicklungsumgebung (IDE). In der Software sind Treiber für eine Kommunikation zwischen Mikrocontroller und Computer, eine Verwaltung von zusätzlichen Software-Bibliotheken und ein Kompiler enthalten. Zusammen mit der zusätzlichen Bosch BSEC Bibliothek stellt dies das Grundgerüst für die Programmierung der Messstationen dar. Da auf dem Server ein vollständiges GNU/Linux-Betriebssystem läuft, ist die Programmierung in jeder kompatiblen Programmiersprache möglich. Für eine möglichst komfortable Programmierung wird hier Python 3 verwendet. Das LoRaWAN Gateway wird mit der vom Hersteller mitgelieferten Software genutzt. Die Visualisierung der Messdaten wird mit LibreOffice Calc aus zuvor auf dem Server erstellten CSV-Dateien angefertigt. 7
3 Entwicklung der Messeinheiten Die Messeinheiten sind einer der beiden zentralen Bestandteile für die Raumluftmessung. In ihnen sind die Sensoren mit dem Mikrocontroller elektrisch verbunden. Die Sensoren werden ausgelesen, verarbeitet und die Messwerte anschließend an den Server gefunkt. 3.1 Aufbau der Hardware Alle Bauteile der Messeinheiten sind einzelne Elemente und müssen zu einer funktionierenden Einheit zusammengebaut werden. Jede Messeinheit besteht dabei aus den Sensoren, einem Arduino, einer Stromversorgung, einer Steckplatine (Breadboard), einem Gehäuse und entsprechenden Kabeln. Neben den elektrischen Verbindungen muss auch eine mechanische Stabilität gewährleistet sein. Die Verwendung eines Breadboards ermöglicht schnelle Änderungen im Aufbau und ist für den mittelfristigen Einsatz ausreichend. 3.1.1 Herstellung des Gehäuses Für ein passendes Gehäuse, welches an der Wand befestigt werden kann und alle Komponenten vor äußerer Einwirkung schützt, mussten die Teile prototypisch zusammengefügt werden. Nach einer Messung kann die ungefähre Größe für das Gehäuse bestimmt werden. Das Gehäuse wird im 3D-Druck hergestellt. Die Vorlage für den 3D-Druck wird zunächst mit dem Programm Tinkercad1 erstellt. Dieses Programm kann nach Registrierung kostenlos über einen Browser verwendet werden. Um dreidimensionale Objekte zu erstellen, werden einfache geometrische Formen addiert oder subtrahiert, wodurch auch komplexe Objekte erstellt werden können (siehe Abbildung 3). 1 https://www.tinkercad.com/ 8
Abbildung 3: Benutzeroberfläche von Tinkercad mit 3D Modell des Messeinheit-Gehäuses. Bildquelle: Eigene Darstellung. Sobald das Gehäuse erstellt ist, kann es als STL-Datei heruntergeladen und an den 3D-Drucker übermittelt werden. In diesem Fall wurde ein Ultimaker S3 für den Druck benutzt. Dieser ist für Drucke mit hoher Qualität im industriellen Bereich ausgelegt. Für den Druck wird PLA-Kunststoff verwendet. Über mehrere Iterationen wurde das Gehäuse verbessert. Der Fokus für die Verbesserungen lag auf einem schnellen Druck, einem Berührungsschutz, hohem Luftdurchlass und geringer optischer Auffälligkeit bei möglichst hoher Stabilität. Ein unauffälliges Aussehen war wichtig, da die Messeinheiten auch in Fluren mit Publikumsverkehr über mehrere Wochen verbleiben sollen. 3.1.2 Probleme bei der der Planungsumsetzung Bei dem Zusammenbau der Messeinheiten zeigte sich, dass die Integration des analogen MQ-7 Sensors deutlich aufwendiger als die der beiden anderen Sensoren war. Dies ist sowohl dem höheren Stromverbrauch als auch der für ihn notwendigen wechselnden Spannungsversorgung geschuldet. Der Sensor benötigt zum Aufheizen eine Spannung von 5 Volt, während für den Betrieb 1,4 Volt benötigt werden. Die Stromversorgung für den Arduino liefert 5 Volt, der Arduino selbst stellt außerdem eine Spannung von 3,3 Volt bereit. Für die notwendige Betriebsspannung des Sensors dient ein Spannungsteiler aus 2 Widerständen, für den Wechsel zwischen beiden Spannungen dient ein Relais mit Wechselkontakten (siehe Abbildung 4). Der Spannungsteiler lieferte im Leerlauf 9
eine Spannung von 1,4 Volt, mit angeschlossenem Sensor war die Spannung jedoch nicht mehr stabil. Abbildung 4: Schaltbild des ursprünglich Aufbaus. Bildquelle: Eigene Darstellung. Um die Spannung auch unter Last stabil zu halten, wurde der Spannungsteiler mit einem Abwärtswandler (Step-Down-Converter) getauscht. Dieser lieferte auch mit angeschlossenem Sensor stabile 1,4 Volt (siehe Abbildung 5). Ein weiteres Problem kam durch die benötigte Stromstärke des MQ-7 Sensors und des Relais zustande. Mit 350 mW während der Aufheizphase [MQ7-Spec] wird mehr Strom benötigt, als der Arduino über den 5V Ausgang liefern konnte. Durch die Überlastung startete der Mikrocontroller nicht mehr. Zur Umgehung davon 10
wurde der Strom direkt von dem USB-Netzteil bezogen, welches für dessen Betrieb genug Leistung hat. Auch hierdurch entstand ein Problem. Das Relais bekam Steuersignale aus dem Arduino Stromkreis, die Stromversorgung des Relais kam direkt von dem USB- Netzteil. In dieser Konfiguration lies sich das Relais nicht mehr steuern und wechselte den Zustand selbstständig mehrmals pro Sekunde. Um nicht noch mehr Zeit für den MQ-7 Sensor aufzuwenden, wurde er ab dieser Stelle ausgelassen. Abbildung 5: Versuchsaufbau mit 3 Sensoren, Relais und Step-Down- Converter. Bildquelle: Eigene Darstellung. 3.1.3 Finale Umsetzung In dem Gehäuse jeder Messeinheit befinden sich sowohl die beiden VOC Sensoren Bosch BME680 und ams iAQ-Core C als auch der Mikrocontroller Arduino MKR WAN 1310. Der Arduino ist auf einem Stück Schaumstoff befestigt, da die GPIO- Pins etwa 1 Zentimeter auf der Unterseite der Platine herauskommen. Die Sensoren sind in ein Breadboard gesteckt. Der Arduino ist über ein Micro-USB Kabel mit einem 5V Netzteil verbunden, welches in einer 230 Volt Steckdose steckt. Die Sensoren werden über den 3,3 Volt Pin des Arduinos mit Strom versorgt. Die Kommunikation zwischen Sensoren und Arduino erfolgt über den Kommunikationsbus I2C. Dafür sind 2 Kabel- Verbindungen notwendig, wobei ein Kabel den Takt (SCL, Serial Clock) und das 11
andere die Daten (SDA, Serial Data) überträgt. Da I 2C ein Master/Slave-Kommunikationsbus ist, können beide Sensoren an dieselben Pins des Mikrocontrollers angeschlossen werden. Der Arduino fungiert als Master und steuert die Kommunikation, die Sensoren sind die Slaves. Beide haben eine eigene Adresse, um eine eindeutige Kommunikation gewährleisten zu können. Das Schaltbild sieht man in Abbildung 7. Für die Funkübertragung ist außerdem eine Antenne notwendig. Diese ist in den dafür vorgesehenen Anschluss am Mikrocontroller gesteckt (U.FL Stecker). Die Antenne ist an der Außenseite des Gehäuses befestigt, das Breadboard und der Schaumstoff mit Mikrocontroller an der Innenseite. Es gibt insgesamt 3 Messeinheiten. Zur Unterscheidung wurden folgende Namen vergeben: Alpha, Beta und Gamma. Diese Namen sind sowohl auf der Hardware angebracht als auch in der Software gespeichert. In Abbildung 6 sieht man eine Messeinheit von innen und an der Wand befestigt. Abbildung 6: Fertiggestellte Messeinheit. Bildquelle: Eigene Darstellung. 12
Abbildung 7: Schaltbild des verwendeten Aufbaus. Bildquelle: Eigene Darstellung. 3.2 Implementierung der Software Die Software der Messeinheiten ist in der Programmiersprache C++ mithilfe der IDE Arduino Software geschrieben. Um alle Funktionen der Hardware nutzen zu können, müssen Software-Bibliotheken benutzt werden. Schließlich muss die Steuerungslogik aufgebaut und das Programm getestet werden. 3.2.1 Verwendete Bibliotheken Die verwendeten Software Bibliotheken sind über den in der IDE integrierten Bibliotheksverwalter installiert. In diesem stellen Hersteller oder freie 13
Programmierer zusätzliche Software zur Benutzung mit den Arduino Mikrocontrollern oder deren Zubehör zur Verfügung. Folgende Bibliotheken wurden verwendet: • BSEC Software Library: Diese Bibliothek stammt von der Bosch Sensortec GmbH und ist als einzige hier verwendete Bibliothek nicht als freier Quellcode verfügbar. Mit ihr wird der Sensor BME680 gesteuert und ausgelesen. Außerdem ermöglicht diese Bibliothek die automatische Kalibrierung des Sensors. Die grundlegende Steuerung des Sensors ist auch mit anderen Bibliotheken möglich, die Kalibrierung und die Berechnung des iAQ Wertes ist jedoch nur über diese properitäre Software möglich. [BSEC] • CayenneLPP: Für eine möglichst effiziente Übertragung der Daten über das LoRaWAN Netz werden die Sensorwerte mit dieser Bibliothek in Binärform übermittelt. Durch die vorgegebene Formatierung werden die Werte im TTN automatisch erkannt und benötigen dort keinen Code zum Identifizieren der einzelnen Sensorwerte in den binär übertragenen Daten. [C-LPP] LPP steht für Low Power Payload. • iAQ-CoreMI: Diese Bibliothek vereinfacht den Zugriff auf die Daten des iAQ-Core C Sensors. Mit ihr wird der Sensor gesteuert und die Daten ausgelesen. [Christandl-2019] • MKRWAN: Diese Bibliothek ermöglicht die Verwendung des LoRaWAN Tranceivers auf dem Arduino. Mit ihr kann die grundlegende Konfiguration des Tranceivers vorgenommen werden. Außerdem stellt sie die Funktionen zum Senden und Empfangen von Daten bereit. [MKRWAN] 3.2.2 Programmierung des Arduinos Nach der Installation und Aktualisierung der IDE kann ein erster Funktionstest des Arduinos mit den eingebauten Beispielprogrammen durchgeführt werden. Das Beispielprogramm zum Blinkenlassen der eingebauten LED stellt sicher, dass der Mikrocontroller und die USB-Verbindung zum Computer funktionieren. Die benutzten Bibliotheken bringen alle eigene Beispielprogramme mit, mit denen man die jeweiligen Funktionen testen kann und in die Verwendung eingeführt wird. Um das Programm auf den Arduino zu übertragen, wird es von der IDE kompiliert und anschließend auf den Speicher des Mikrocontrollers geschrieben (siehe Abbildung 8). 14
Abbildung 8: Arduino Software beim Hochladen des Programmcodes. Bildquelle: Eigene Darstellung. Als erstes wurde die LoRaWAN-Unterstützung programmiert. Hierfür musste eine korrekte Initialisierung, das sogenannte Setup, für die Hardware durchgeführt werden. Wichtige Punkte sind hierbei die Wahl der richtigen Frequenz für Europa (868 MHz) und die Wahl eines geeigneten Spreading-Faktors. Der Spreading-Faktor (SF) beeinflusst die Reichweite und Übertragungslänge. Dies funktioniert, indem das eigentliche Signal mit einem Spreizcode multipliziert wird. Je höher der gewählte Spreading-Faktor ist, desto länger dauert die Übertragung. Die maximale Reichweite für die Übertragung wird dadurch erhöht. [Semtech] Der niedrigste SF ist die Standardeinstellung, um Übertragungszeit und Stromverbrauch gering zu halten. Um eine Verbindung zum TTN herstellen zu können, muss das Gerät einmalig angemeldet werden. Dafür muss ein Konto und eine eigene Anwendung (Application) auf der Webseite des TTN erstellt werden. 2 Für die Kommunikation wird eine eindeutige Application ID und ein geheimer Zugangsschlüssel (Access Key) generiert. Mit ihnen wird die Kommunikation sichergestellt. Anschließend generiert das TTN eigene Schlüssel für das jeweilige Endgerät, wodurch eine beliebige Anzahl an Geräten mit derselben TTN-Anwendung zusammenarbeiten kann. Eine ausführliche Anleitung für diesen Vorgang findet sich hier3. 2 https://www.thethingsnetwork.org/ 3 https://create.arduino.cc/projecthub/146376/mkr-wan-1310-meets-the-things-network-fff013 15
Damit die empfangenen Daten aus dem TTN genutzt werden können, wird unter „Integrations“ ein Datenspeicher eingerichtet. Dieser speichert sämtliche von der Anwendung empfangenen Daten für 7 Tage und stellt eine API für den Abruf dieser Daten aus dem Internet bereit. Um Daten in die Anwendung im TTN senden zu können, wird in dieser Arbeit das CayenneLPP Format benutzt. Für jeden Sensorwert kann ein passender Datentyp gewählt werden. Einige Datentypen sind einer direkten Datenart zugeordnet, beispielhaft Temperatur in einer Auflösung von 0,1° Celsius. Da die maximale Größe der Datentypen sich unterscheiden und es nur eine begrenzte Vorgabe an Typen gibt, wird sich in dieser Arbeit nur teilweise daran gehalten. Der Datentyp luminosity (Helligkeit) ist ein 2 Byte großer unsigned Integer Wert (uint16_t), welcher mit einem Wertebereich von 0 bis 65535 für viele verschiedene Sensorwerte geeignet ist. Der ebenfalls vorhandene allgemeine Datentyp „Digital Input“ hat mit einer Größe von 1 Byte nur einen Wertebereich von 0 bis 255 (uint8_t), wodurch die Auflösung für viele Sensorwerte zu gering ist. Zur Zuordnung besitzt jeder übertragene Wert, unabhängig vom Datentyp, eine eindeutige Kanalnummer. Eine Übersicht zu den vorhandenen Datentypen findet sich in Abbildung 9. Abbildung 9: Verfügbare CayenneLPP Datentypen und deren Aufbau. Bildquelle: https://developers.mydevices.com/cayenne/docs/lora/ #lora-cayenne-low-power-payload-reference- implementation-cayenne-lpp-c-payload-builder 16
Um den BME680 Sensor zu starten, muss dieser zunächst korrekt in der Anwendung initialisiert werden. Hier muss beispielsweise die korrekte I 2C-Adresse des Sensors eingetragen sein (hier: 0x77). Zu beachten ist die Angabe, wie oft der Sensor neue Werte bereitstellen soll. Die eingestellte Zeit darf beim Abruf der Sensordaten um maximal 50% überzogen werden, da sich der Sensor mit dem regelmäßigen Abruf kalibriert. In dieser Arbeit wird eine Abfragezeit von 0,33 Hertz (etwa 3 Sekunden) verwendet. Dies bedeutet, dass frühstens 3 Sekunden nach der letzten Abfrage ein neuer Messwert bereit steht. Außerdem dürfen die Werte nicht später als 4,5 Sekunden nach der letzten Abfrage abgerufen werden, da sonst die Kalibrierung verloren geht. Eine niedrige Abfragezeit ermöglicht eine schnellere automatische Kalibrierung. [BSEC] Dies ist von Vorteil, da die Kalibrierung nach einem Neustart des Sensors, beziehungsweise der Messstation, verloren geht. Da die Messwerte nur alle 5 Minuten übertragen werden sollen, hat das Programm eine Hilfsschleife, in der alle 5 Sekunden der Sensor abgefragt wird, das Hauptprogramm jedoch nur alle 5 Minuten durchlaufen wird. Der iAQ-Core C benötigt keine Initialisierung. Sobald er mit Strom versorgt wird startet er und ist bereit. Das minimale Abfrageinterval beträgt 1 Sekunde. Wird dieses nicht eingehalten, liefert der Sensor einen Fehlercode anstelle eines Messwertes. [ams] 17
4 Entwicklung des Servers und Verwendung des „The Things Network“ Um die Daten der Messstationen empfangen und verarbeiten zu können, wird ein Server mit LoRaWAN Gateway benötigt. Das Gateway empfängt die Daten der Messstationen und leitet diese an das TTN weiter. Jedes Gateway im TTN ist dabei öffentlich nutzbar. [TTN-Gateway] Ein eigenes Gateway ist somit nicht zwingend notwendig, solange die Messstationen ein anderes in Empfangsreichweite haben. Das TTN ist weltweites Netzwerk zur Datenübermittlung. 4.1 Das Gateway aufbauen und verbinden Um das Gateway mit dem Raspberry Pi zu verbinden, muss es zunächst auf die GPIO-Pins aufgesteckt und verschraubt werden. Die Antenne sollte möglichst barrierefrei platziert sein, damit ein guter Empfang gewährleistet ist. In dieser Arbeit sind die Sensoren jedoch innerhalb desselben Gebäudes wie der Server aufgestellt, daher reicht auch die Platzierung direkt an einer Mauer aus (siehe Abbildung 10). Abbildung 10: Server bestehend aus Raspberry Pi und LoRaWAN Gateway. Bildquelle: Eigene Darstellung. 18
Um die Software für die Steuerung des Gateways verwenden zu können, wird ein vom Hersteller bereitgestelltes Image für den Raspberry Pi verwendet 4. Das Image basiert auf Raspberry Pi OS und ist mit den Treibern für das Gateway ausgestattet. Von der Software für das Gateway abgesehen, unterscheidet es sich nicht von dem Original. Der Raspberry Pi kann daher weiterhin als normaler Linux Computer benutzt werden. Das Image wird auf die microSD-Karte des Raspberry Pi überspielt, anschließend kann dieser gestartet werden. Für die erste Einrichtung empfiehlt sich die Verbindung per Ethernet-Kabel mit dem lokalen Netzwerk. 4.2 Das „The Things Network“ einrichten Um das Gateway mit dem TTN zu verbinden, muss über die TTN Webseite ein Eintrag für ein neues Gateway erstellt werden. Dort wählt man die passende Konfiguration aus (Standort und Frequenz für Europa) und wählt einen eindeutigen Namen (Gateway ID) für das Gateway. Eine ausführliche Anleitung für diesen Vorgang findet sich hier5. Sobald die Einstellungen abgeschlossen sind, bekommt man einen geheimen Gateway-Schlüssel, der die Kommunikation zum TTN absichert (siehe Abbildung 11). Abbildung 11: Die Gateway-Statusseite im TTN. Bildquelle: Eigene Darstellung. 4 Download unter https://pisupp.ly/iotsd 5 https://learn.pi-supply.com/make/iot-lora-gateway-sd-card-image-setup/ 19
Um das Gateway zu konfigurieren muss ein IP-fähiger Client im Netzwerk des Servers verwendet werden. Über den Browser am Computer ruft man nun die Adresse iotloragateway.local auf. Im Bereich „System Controls“ wird jetzt die zuvor festgelegte Gateway ID und der geheime Schlüssel eingetragen. Nach einem Neustart des Raspberry Pi wird auf der Statusseite angezeigt, dass das Gateway korrekt konfiguriert wurde (siehe Abbildung 12). Das Gateway empfängt jetzt alle LoRaWAN Übertragungen und leitet sie über das Internet an das TTN weiter. Dabei ist es öffentlich verfügbar und kann es von jedem LoRaWAN Gerät in Reichweite verwendet werden. Abbildung 12: Die Gateway-Statusseite des Raspberry Pi Servers. Bildquelle: Eigene Darstellung. 20
5 Messdaten sammeln und auswerten Die gemessenen Daten müssen dauerhaft gespeichert, bearbeitet und visualisiert werden. Mithilfe der erzeugten Diagramme wird eine Auswertung der Innenraumluft erstellt. Das Sammeln der Daten und die Analyse wird in diesem Kapitel beschrieben. 5.1 Transfer der Daten vom TTN auf den Server Die Messdaten sind bisher nur im TTN gespeichert und werden nach 7 Tagen gelöscht (siehe Kapitel 3.2.2). Um die Messdaten dauerhaft auf dem Server speichern zu können, wurde ein Python Programm implementiert, welches die Daten über die im TTN bereitgestellte API abruft. Die heruntergeladenen Dateien sind im JSON Format gespeichert und beinhalten die Datensätze der letzten 7 Tage. Es werden je die Werte eines einzelnen Sensors heruntergeladen. Die API ist durch einen Schlüssel gesichert, welcher wiederum im Programm gespeichert wird. Die in der Arduino-Anwendung der Messstation formatierten CayenneLPP-Werte bekommen nun den endgültigen Namen, der auch in den später erstellten Diagrammen genutzt wird (siehe Abbildung 13). Manche Felder der JSON-Datei werden hierbei ignoriert. Die Binärdaten, welche der Arduino übermittelt hat, waren bis zu diesem Schritt noch komplett erhalten. Abbildung 13: Zuweisung der Messwert-Namen im Python Programm. Bildquelle: Eigene Darstellung. 21
Für jeden Tag und jeden Sensor wird eine eigene CSV-Datei erstellt, um die Daten übersichtlich und geordnet zu speichern. Das Python Programm wird über ein Bash-Skript mehrmals aufgerufen. Dabei werden je Aufruf die Daten eines einzelnen Sensors abgefragt. Um diesen Vorgang mehrmals am Tag automatisch auszuführen, wurde ein cronjob auf dem Server eingerichtet. Ein Ausschnitt des Python Programms wird in Abbildung 14 gezeigt. Abbildung 14: Ausschnitt Python Programm zum Download der Daten. Bildquelle: Eigene Darstellung. 5.2 Messdaten visualisieren Die im CSV-Format vorliegenden Messdaten können nun grafisch dargestellt werden (Plotten). In dieser Arbeit wird dies mit LibreOffice Calc durchgeführt, da nur einzelne Tage ausgewertet werden. Eine ausgewählte CSV-Datei wird dafür in Calc importiert. Dabei ist darauf zu achten, dass als Import-Sprache „Englisch (USA)“ gewählt ist, da die Messdaten englische Dezimaltrennzeichen verwenden. Die nun vorliegende Tabelle enthält knapp 300 Einträge. Zum Plotten werden alle Spalten markiert, die dargestellt werden sollen. Hier wird die Zeit (time), die eCO2 Werte beider Sensoren (eCO2_BME, eCO2_IAQ) und der iAQ Wert (sIAQ_BME) ausgewählt und damit das Diagramm erstellt (siehe Abbildung 15). 22
Abbildung 15: Visualisierung der Messdaten in LibreOffice Calc. Bildquelle: Eigene Darstellung. Für diese Arbeit wird das Diagramm mit folgenden Einstellungen generiert: Der Diagrammtyp ist Liniendiagram, nur Linien. Die X-Achse stellt die Zeit dar. Die primäre Y-Achse zeigt den eCO2 Wert in ppm, die sekundäre Y-Achse zeigt den iAQ Wert. Die Kurve des iAQ Wertes wird auf die sekundäre Y-Achse gelegt. Anschließend wird beiden Y-Achsen ein manueller Maximalwert zugewiesen, um die Diagramme vergleichen zu können. Das eCO 2 bekommt den Maximalwert 20.000 (je nach Vergleichswerten eventuell abweichend), iAQ bekommt den Maximalwert 500. Das fertige Diagramm kann nun als Bild exportiert werden. 5.3 Standorte der Messstationen Die Messstationen sind an 3 verschiedenen Orten aufgestellt, um unterschiedliche Daten zu erhalten. Messstation Alpha steht in einem Flur mit 3 Laserdruckern. Diese werden regelmäßig genutzt und drucken mehrere hundert Seiten täglich. Laserdrucker erzeugen bei ihrem Betrieb zahlreiche Partikel, die in die Umgebung abgegeben werden. Neben Feinstaub, welcher in dieser Arbeit nicht gemessen wird, werden auch VOCs ausgestoßen. [Stelting-2016] Die angenommene Hypothese für diese 23
Messstation ist, dass die Luftqualität an Werktagen schlechter ist, als nachts oder am Wochenende. Beta befindet sich in einem Büroraum von etwa 24 qm Größe, in dem bis zu 5 Personen sitzen. Dieser Raum wird vergleichsweise selten gelüftet. Außerdem enthält der Raum mehrere kleine Server, die permanent in Betrieb sind. Die Hypothese für diese Messstation ist, dass die Luftqualität an Werktagen schlechter ist als am Wochenende und sich nur langsam erholt. Gamma befindet sich im Eingangsflur. Dieser Bereich ist weiträumig und wird häufig von Personen durchquert. Gleichzeitig wird die Eingangstür regelmäßig geöffnet. Die Hypothese für diese Messstation ist, dass die Luftqualität meist gut ist und sich schnell erholt. In Abbildung 16 sieht man die Messstationen mit ihrer Umgebung. 24
Abbildung 16: Umgebung der Messstationen Alpha, Beta und Gamma (von oben nach unten). Teilweise aus Datenschutzgründen verpixelt. Bildquelle: Eigene Darstellung. 25
5.4 Vergleich der Messdaten mit der VDI-Richtlinie 6022-3 Damit die Messwerte einen Bezug bekommen, werden sie mit der VDI-Richtlinie 6022-3 in Verbindung gebracht. Die Umgebung der Messstationen kann dadurch einer bestimmten Raumluftqualität zugeordnet werden. 5.4.1 Ausgewählte Vorgaben und ihre Werte Die VDI-Richtlinie teilt die Raumluft in 4 mögliche Raumluftqualitäten (RAL) ein. RAL 1 hat die höchste Raumluftqualität und soll in Räumen mit besonderen Anforderungen, beispielsweise Pflegeräume, vorherrschen. RAL 2 hat eine noch gute Qualität und sollte in Räumen mit installierter Raumlufttechnik vorherrschen. RAL 3 soll in normalen Räumen ohne Raumlufttechnik vorherrschen. RAL 4 ist nicht mehr für Räume mit dauerhaftem Aufenthalt geeignet. [VDI 6022-3] Die Innenraumluft in Büroräumen sollte mindestens RAL 3 betragen. Jede RAL-Stufe hat Vorgaben zu verschiedenen Stoffen und deren maximal erlaubte Konzentration. In Abbildung 17 sind die vorgegebenen Werte für CO 2, CO und TVOC dargestellt. Abbildung 17: Vorgabe der Schadstoffwerte. Bildquelle: Eigene Darstellung, nach [VDI 6022-3]. Zusätzlich wird der berechnete iAQ-Wert des Bosch BME680 mit angegeben. Die Werte reichen von 0 bis 500, wobei 0 für eine gute und 500 eine sehr schlechte Innenraumluftqualität steht (siehe Abbildung 18). 26
Abbildung 18: Bosch iAQ Index. Bildquelle: [BME680] 5.4.2 Einhaltung der Grenzwerte in ausgewählten Zeiträumen Für die Auswertung in dieser Arbeit ist exemplarisch ein Zeitraum von 2 oder 3 Tagen ausgewählt worden. Anhand dieser Diagramme wird der RAL Wert der Umgebung bestimmt. Außerdem wird versucht die jeweilige Hypothese bei der Standortwahl zu verifizieren (siehe Kapitel 5.3). Zu beachten ist hierbei, dass beide Sensoren unterschiedliche Werte für die eCO 2 Konzentration ausgeben, da die Sensoren nicht kalibriert sind. Messstation Alpha Der ams Sensor zeigt für den ausgewählten Sonntag, 30. August 2020, durchgehend eCO2 Werte von maximal 2000 ppm, der Bosch Sensor von maximal 1000 ppm an. Je nach Sensor würde damit RAL 1 oder nur RAL 3 erreicht werden. Der iAQ Wert wechselt von etwa 80 in der Nacht auf 50 ab mittags für den Rest des Tages. Damit liegt es in einem mittleren bis guten Bereich (siehe Abbildung 19). Donnerstags schwanken die Werte vermehrt. Der CO2 Wert steigt gegen 23:00 Uhr auf über 20.000 ppm (iAQ-Core) / 4000 ppm (BME680). Über den gesamten Tag wird der Wert von 2000 ppm / 1000 ppm6 nur selten unterschritten. Nach dem iAQ-Core wird somit nur RAL 4 erreicht, nach dem BME680 schwankte die eCO 2 Wert tagsüber zwischen RAL 2 und RAL 3, ab 18:00 Uhr wird nur noch RAL 4 erreicht. Auch der iAQ Wert schwankt vermehrt. Morgens und abends wird ein „guter“ Wert erreicht, während früh morgens und vormittags der Wert zwischen durchschnittlich und leicht schlecht liegt. Ab dem Abend wird schlecht und sehr schlecht erreicht. Die Hypothese, dass die Werte werktags schlechter sind, scheint tendenziell bestätigt. Langfristig muss dies durch zusätzliche Auswertungen verifiziert werden. 6 Bei Angabe von 2 mit Schrägstrich getrennten Werten bezieht sich der erste Wert auf den ams iAQ-Core Sensor und der zweite auf den Bosch BME680 Sensor. 27
Abbildung 19: Ausgewählte eCO2 und iAQ Werte von Messstation Alpha. Bildquelle: Eigene Darstellung. Messstation Beta Für Messstation Beta werden 3 Tage nebeneinander gestellt. Die Werte von Sonntag und Mittwoch haben einen ähnlichen Verlauf und zeigen eine eCO 2 Konzentration von etwa 500 bis 1000 ppm nach BME680 und 1000 bis 1500 ppm nach iAQ-Core. Dadurch liegt die Luftqualität bei RAL 1 / RAL 2, was einer guten bis sehr guten Luftqualität entspricht. Der iAQ Wert liegt an beiden Tagen durchgehend zwischen 50 und 100, was mittelmäßig ist (siehe Abbildung 20). Am Freitag sind die Luftwerte nicht mehr so gut und schwanken stärker. Von Tagesbeginn bis spät nachmittags liegt der iAQ-Core eCO2 Anteil zwischen 500 und 1000 ppm mit einem größeren Ausbruch gegen 8:00 Uhr auf über 3500 ppm. Ab dem späten Nachmittag steigt der Wert auf 1500 ppm und verbleibt dort. Der BME680 zeigt zum großen Teil beinahe dieselben Werte an, der Ausbruch um 8:00 28
Uhr ist jedoch nicht vorhanden. Ab dem späten Nachmittag steigt der Wert auf 2500 ppm und sinkt bis Mitternacht auf etwa 2000 ppm. Die Luftreinheit liegt an diesem Tag bei nahezu durchgehend RAL 1 mit beiden Sensoren, ab dem späten Nachmittag stinkt die Qualität auf RAL 2 / RAL 4. Der iAQ Wert zeigt bis zum späten Nachmittag gute Werte an, ab dann sinkt die Qualität jedoch auf schlecht. Die Hypothese, dass der Raum Werktags eine schlechtere Raumluft als am Wochenende hat, kann hier nicht bestätigt werden. Für ein genaueres Verständnis werden mehr Daten gebraucht, welche möglicherweise mit dem Zustand des Fensters (geschlossen oder gekippt) in Verbindung gebracht werden können. Messstation Gamma Für diese Messstation sind 3 aufeinanderfolgende Tage dargestellt. Mittwochs liegt der eCO2 Wert meist um 2000 ppm / 1000 bis 2000 ppm, hat jedoch einige Spitzen mit 7000, 12.000 und 20.000 ppm nach dem iAQ-Core. Diese Spitzen sind auch mit dem BME680 zu erkennen, liegen jedoch nur bei etwa 3000, 2200 und 4000 ppm. Die Raumluftqualität liegt die meiste Zeit bei RAL 4 / RAL 2 bis 3, während der iAQ Wert Mittags im durchschnittlichen Bereich und den Rest des Tages schlecht bis sehr schlecht ist (siehe Abbildung 21). Der darauffolgende Donnerstag liegt fast durchgehend um 2000 / 1000 ppm und hat über den Tag verteilt kleinere Ausbrüche. Ab der Nacht gibt es größere Ausschläge mit bis zu 11.000 / 3000 ppm und über 20.000 / 5000 ppm. An dem Tag liegt die Luftqualität bei RAL 3 bis 4 / RAL 2, während beide Sensoren durch Ausschläge in der Nacht RAL 4 anzeigen. Der iAQ Wert liegt tagsüber im mittleren Bereich und geht in der Nacht in den sehr schlechten Bereich über. Der folgende Freitag hat schwankende eCO 2 Werte zwischen 1500 / 1000 ppm und 5000 / 2000 ppm, aber keine größeren Spitzen. Die Raumluft ist nahezu durchgehend bei RAL 4 / RAL 3. Der iAQ Wert liegt bei Tagesbeginn und ab dem Nachmittag im leicht schlechten Bereich, Mittags ist er mittelmäßig. Die Hypothese, dass die Raumluftqualität bei dieser Messstation eher gut ist, wird an allen 3 Tagen nicht bestätigt. Die Luft ist hier deutlich schlechter als vermutet. 29
Abbildung 20: Ausgewählte eCO2 und iAQ Werte von Messstation Beta. Bildquelle: Eigene Darstellung. 30
Abbildung 21: Ausgewählte eCO2 und iAQ Werte von Messstation Gamma. Bildquelle: Eigene Darstellung. 31
6 Endbetrachtung 6.1 Zusammenfassung Mit moderatem technischen Aufwand ist eine Innenraumluftmessung durchführbar. Der Aspekt der Datenübertragung über eine hohe Entfernung erhöht den Aufwand für den Aufbau, kann mit besonderen Anforderungen aber die einzige Möglichkeit zur Gewinnung regelmäßiger Messdaten über einen hohen Zeitraum sein. Sobald die Messstationen und der Server fertig aufgestellt sind, ist der Betrieb zur langfristigen Messung zu einem großen Teil automatisiert. Lediglich die Auswertung der Messdaten erfordert wieder einen manuellen Eingriff. 6.2 Fazit Die ausgewerteten Messdaten zeigen eine oftmals nur mittlere Raumluftqualität. Die für den jeweiligen Standort aufgestellten Hypothesen wurden in 2 von 3 Fällen nicht bestätigt. Die Qualität der Innenraumluft hängt möglicherweise von Faktoren ab, die nicht durch einfache Beobachtung erkennbar sind. Dies zeigt die Wichtigkeit solcher Messungen, um Personen in Innenräumen vor schlechter Luftqualität zu schützen. Lediglich die Luftqualität von Messstation Alpha, in unmittelbarer Umgebung von 3 Laserdruckern, zeigt in dem geprüften Zeitraum einen möglichen Zusammenhang von ausgestoßenen Partikeln, die zu einer schlechteren Luftqualität führen. 6.3 Ausblick Es gibt vielfältige Möglichkeiten, diese Arbeit weiterzuführen. Nachstehend 7 von mir angeführte Punkte: 1. Das Sammeln der Messwerte könnte zuverlässiger aufgebaut werden, indem die Daten nicht über das TTN geleitet, sondern direkt auf dem Server gespeichert werden. Auch ein kleiner Speicher in den Mikrocontrollern der Messstationen wäre hilfreich, wenn der Server oder das TTN einen Ausfall hat. 2. Die Verwendung von Fenster- und Türsensoren, sowie Sensoren zur Anwesenheitserkennung von Personen, würde den Auswertungen eine 32
weitere Dimension geben. Auch fremde Daten, wie die Einbindung des lokalen Wetterberichts, könnten bei der Auswertung hilfreich sein. 3. Eine automatische Visualisierung der Messwerte mit geeigneter Software (zum Beispiel Gnuplot7 oder RRDtool8) würde eine große Zeitersparnis bei der Auswertung bringen. Auch ein Einzeichnen der Schwellwerte direkt in die Diagramme würde bei der Auswertung hilfreich sein. 4. Gerade bei langfristigen Messungen ist ein Speichern und Verwalten der Messdaten in einer Datenbank, anstatt in einzelnen Dateien, sinnvoll. 5. Das Anbringen eines Displays oder einer anderen Form der Visualisierung direkt an der Messstation könnte Personen in der Nähe Echtzeitinformationen über die Luftqualität geben. Bei zeitversetzter Auswertung könnte ein Programm erhöhte Werte erkennen und diese beispielsweise per E-Mail mit dem genauen Zeitpunkt versenden. 6. Mit dem Einbinden weiterer Sensoren könnten noch mehr Informationen gewonnen werden. Eine Ergänzung mit einem echten CO2 NDIR-Sensor würde die Messdaten deutlich genauer machen, da der eCO 2 Wert nicht immer mit den wirklichen CO2 Werten übereinstimmt. [Riffi-2018] 7. Zuletzt wäre eine Kalibrierung der Sensoren mit geeichter Hardware ein gutes Mittel, um die Aussagekraft und Genauigkeit der Messungen weiter zu stärken. 7 http://www.gnuplot.info/ 8 https://oss.oetiker.ch/rrdtool/ 33
Glossar Begriff Definition / Erklärung ams ams AG, Hersteller von Sensoren und elektronischen Bauteilen API Application Programming Interface, Programmierschnittstelle Assembler Eine hardwarenahe Programmiersprache Bash Bourne-again shell, ein Unix/Linux Programm Breadboard Steckplatine, zur Verbindung elektronischer Bauteile C Eine hardwarenahe Programmiersprache C++ Eine hardwarenahe Programmiersprache CO Kohlenstoffmonoxid CO2 Kohlenstoffdioxid cronjob Teil von Linux zum regelmäßigen Ausführen von Programmen CSV Comma-separated values, Dateiformat DIN Deutsches Institut für Normung e. V. eCO2 Estimated CO2, geschätzter CO2 Wert GPIO General Purpose Input/Output, elektrische Kontaktstellen I2C Inter-Integrated Circuit, Datenbus Standard iAQ Indoor Air Quality, Qualität der Innenraumluft IDE Integrated development environment, Integrierte Entwicklungsumgebung Image Speicherabbild, beispielsweise zur Datensicherung JSON JavaScript Object Notation, Datenformat Kompilieren Ein Programm in Maschinencode übersetzen LoRaWAN Long Range Wide Area Network NDIR Nichtdispersiver Infrarotsensor Proprietär Nicht frei[e Software] Python Eine höhere, nicht kompilierte Programmiersprache RAL Raumluftqualität 34
Sie können auch lesen