Aufgrund der Coronapandemie wurde die Luftqualität ein relevantes Thema. Ab einem Schadstoffwert von 2000ppm in der Luft kann sich der Erreger vermehrt verbreiten. Daher sollte man darauf achten, dass ein Raum regelmäßig gelüftet wird und der CO2-Wert diesen Grenzwert nicht überschreitet. Mithilfe einiger Sensoren kann man diese Werte messen und sich einen Überblick über die Luftqualität eines Raumes schaffen. Damit die Werte für den Anwender ersichtlich sind, wurde eine Handyapplikation erstellt. Die Sensoren können in jeglichen Innenräumen aufgestellt werden. Für unseren Auftraggeber hat das Projekt einen zusätzlichen Anwendungszweck, da wir mithilfe unserer Sensoren die Qualität der Luftreiniger des Unternehmens messen.
Ziel des Projektes ist ein funktionierendes System, welches die Schadstoffwerte misst, diese mithilfe eines Servers an eine Datenbank weiterleitet und dann in der Handyapp angezeigt werden. Die Benutzer sollen einen guten Überblick über die Lage der Luftqualität haben und diese jederzeit abrufen können.
Generell wollen wir mit unserer Arbeit auf Probleme einer unreinen Luft hinweisen. Durch unsere Handyalarmapp können unsere Benutzer leicht verstehen, wann die Luftqualität in den Innenräumen schädlich für ihre Gesundheit ist. Damit wir dieses Ziel erreichen, ist ein benutzerfreundliches Design des Frontend genauso unerlässlich, wie eine korrekte Verbindung zwischen aller Komponenten und der Datenbank. Auch richtig kalibrierte Sensoren sind wichtige Bestandteile der Diplomarbeit.
Inhaltsverzeichnis
1. Anforderungsanalyse
2. Einleitung
3. Hardware
3.1. ESP8266
3.2. Probleme mit dem ESP8266
3.3. ESP32
3.4. CCS811
3.5. I²C-Protokoll
3.6. MH-Z19b
3.7. MQ-131
3.8. MQ-135
3.9. Hilfskomponenten
4. Software
4.1. Inbetriebnahme
4.2. CCS811
4.2.1. Deklarationen & Includes
4.2.2. Sensor in Betrieb nehmen
4.2.3. Messen & mögliche Fehler
4.3. Probleme CCS811
4.3.1. CCS811_ERRSTAT_NOTOK
4.3.2. CSS811_ERRSTAT_I2CFAIL
4.3.3. CSS811_ERSTAT_OK_NODATA
4.3.4. Recherche neuer CO2-Sensor
4.4. MH-Z19b
4.4.1. Onlineschnittstelle
4.4.2. Includes und Deklarationen
4.4.3. Messung von CO2- und Temperaturdaten
4.4.4. Probleme MH-Z19b
4.5. MQ-131
4.5.1. 1.2.5.1 GitHub-Bibliothek MQ-131
4.5.2. Umsetzung und Programmierung
4.6. MQ-135
4.6.1. GitHub-Bibliothek MQ-135
4.6.2. Umsetzung und Programmierung
4.7. OTA
5. Probleme beim Kauf
5.1. Begründung Themenauswahl
5.2. Mangelhafte Ware
5.2.1. Umgang mit Mängeln
5.2.2. Arten von Mängeln
5.2.3. Gewährleistung
5.2.4. Garantie und Produkthaftung
5.3. Anwendung des Themas auf unsere Diplomarbeit
6. Reflexion Andreas Rieger
7. Forschungsfrage
7.1. Wie wirkt sich schlechte Luft auf die menschliche Gesundheit aus?
7.1.1. Grundlagen:
7.1.2. CO2 Konzentration in Schulen:
7.1.3. Allgemeine Wirkungen auf den Menschen
7.1.4. Bewertung der CO2 Konzentration
7.1.5. Innenraumluftqualität und Virenausbreitung
7.1.6. Das richtige Lüften!
8. Beschreibung der verwendeten Software und Funktionen
8.1. Vorwort
8.2. Grundlagen von Datenbanken
8.2.1. Probleme die Datenbanken beseitigt haben
8.2.2. Relationale Datenbanken
8.3. MySQL-Datenbank
8.3.1. Was ist MySQL?
8.3.2. Definition
8.3.3. Funktion
8.3.4. Anwendungsgebiete von MySQL
8.4. Hypertext Transfer Protocol
8.4.1. Http-Request
8.4.2. Welche Methoden kann ein HTTP Request haben?
8.4.3. Welche Vorteile/Nachteile kann ein HTTP-Request haben?
8.5. Wie sieht eine SQLite-Datenbank aus?
8.6. REST API
8.7. Arduino
8.8. Ionic
8.9. IONOS
9. Entwicklungsprozess
9.1. SQLite
9.2. REST-Webservice (Beispieldaten)
9.3. Überarbeitung unseres Projekts
9.4. Erstellung einer MySQL Datenbank
9.5. Createjsonfile.php
9.6. Arduino
9.7. Index.php
9.8. IONOS
10. Aufgetretene Schwierigkeiten bei der Erstellung beschreiben und Lösungswege aufzeigen
11. Cyber Law
11.1. Begründung Themenauswahl
11.2. Rechtmäßige Datenverarbeitung
11.3. Rechtmäßige Verarbeitung sensibler Daten
11.4. Rechte auf Datenschutz
11.5. Datenschutz in sozialen Netzwerken
11.6. E-Commerce-Gesetz
11.7. Elektronische Signatur:
11.8. Spezifische Anwendung (Datenbank)
12. Reflexion Raphael Suppan
13. Software
13.1. IONIC/FRAMEWORKS
13.2. Angular
13.3. Node.js
13.4. Installation von IONIC
13.5. Erste Schritte in IONIC
14. Registerkartenauswahl
14.1. Ion-icon
15. Registerseite 1
15.1. Ion-Content
15.2. Ion-Header
15.3. Http-Request
15.4. Async
15.5. Daten sortieren
15.6. Beispiel
15.7. Liste von Räumen
15.8. Ion-List
15.9. Ion-Item
15.10. Ion-Label
16. Registerkarte 2
16.1. Chart.js
16.2. Liste
16.3. Ion-Select
16.4. Ion-Select-Option
16.5. Action-sheet
16.6. Aktualisieren
16.7. Ion-Refresher
17. Registerseite 3
17.1. Ion-Img
17.2. Impressum
17.3. Design/Logo
17.4. Logo
17.5. Konzepte
18. Marketing, USP und Corporate Identity unserer Diplomarbeit
18.1. Marketing
18.1.1. 4-Ps
18.1.2. Ziele
18.2. USP (Unique Selling Proposition)
18.3. Corporate Identity
18.4. Unsere Diplomarbeit
19. Reflexion Julian Rainer
20. Zusammenfassung
21. Literaturverzeichnis
24. Begleitprotokolle
24.1. Begleitprotokoll Andreas Rieger
24.2. Begleitprotokoll Raphael Suppan
24.3. Begleitprotokoll Julian Rainer
25. Projektdokumentation
25.1. Diplomarbeitsantrag
25.2. Projektstrukturplan
25.3. Meilensteinplan
Zielsetzung & Forschungsthemen
Das Hauptziel dieser Arbeit ist die Entwicklung eines funktionsfähigen Systems zur Überwachung der Luftqualität in Innenräumen durch die Erfassung von Schadstoffwerten (CO2, Ozon, Mischwerte). Die Forschungsfrage konzentriert sich darauf, wie mithilfe eines Mikrocontrollers und verschiedener Sensoren eine zuverlässige Datenmessung realisiert, über einen Server verwaltet und abschließend auf einer benutzerfreundlichen Handyapplikation visualisiert werden kann.
- Hardwareentwicklung zur präzisen Erfassung von Luftschadstoffen mittels Mikrocontrollern.
- Aufbau einer effizienten Datenbankstruktur und REST-API zur Datenverarbeitung.
- Entwicklung einer mobilen Applikation zur grafischen Darstellung der Messergebnisse.
- Auseinandersetzung mit rechtlichen Aspekten der Datenverarbeitung und Datenschutzbestimmungen.
- Reflexion des Entwicklungsprozesses und Analyse der Problemlösungsstrategien.
Auszug aus dem Buch
3.1. ESP8266
Damit ein Sensor Daten messen kann und diese Daten weiterleiten kann, benötigt es einen Mikrocontroller. Da unser Projekt keinen High-End-Mikrocontroller braucht, sondern bei unserem Projekt eher ein geringer Stromverbrauch im Vordergrund steht, ist die Entscheidung auf den ESP8266 NodeMCU gefallen.
Dieser Mikrocontroller vom chinesischen Hersteller Espressif vereint eine gute Benutzerfreundlichkeit mit einer ordentlichen Handhabung. Um den Mikrocontroller mit Strom zu versorgen, wird er mittels eines USB-Kabels an den Laptop angeschlossen.
Nach der Installation der ArduinoIDE zum Programmieren des Codes und der zugehörigen Bibliotheken der einzelnen Projektteile ist es an der Zeit, den Mikrocontroller mit den Sensoren zu verbinden. Zum Verbinden des ESP8266 mit den Sensoren ist ein Breadboard hilfreich. Auf dieses Breadboard wird der ESP gesteckt. Danach wird der Mikrocontroller über seine Anschlüsse, auch PINs genannt, mit Jumperkabeln zu den Sensoren verbunden.
Zusätzlich verfügt der ESP8266 über eine WLAN-Schnittstelle, um die gemessenen Daten vom Sensor über den Mikrocontroller auf eine Datenbank zu übertragen. Dazu verwendet der ESP8266 ein Peer-to-Peer-Netzwerk.
Das NodeMCU-Board ist eine Erweiterung des ESP8266 mit einer USB-Schnittstelle und einer Spannungsstabilisierung. Der Vorteil dieses Boards besteht darin, dass eine Verbindung zum Laptop direkt mithilfe des USB-Anschlusses umgesetzt werden kann. Außerdem weist das Board in der Programmierung Erleichterungen auf, da der Mikrocontroller über die ArduinoIDE jederzeit programmiert werden kann.
Zusammenfassung der Kapitel
1. Anforderungsanalyse: Dieses Kapitel definiert die Zielsetzung des Projekts, die Hardwarekomponenten sowie die Anforderungen an die Datenverarbeitung und Benutzerfreundlichkeit der App.
2. Einleitung: Hier wird der Hintergrund des Projekts beleuchtet, insbesondere die Relevanz der Luftqualität während der Pandemie sowie die Motivation zur Entwicklung des Überwachungssystems.
3. Hardware: Es werden die eingesetzten Mikrocontroller (ESP8266, ESP32) und Sensoren (CCS811, MH-Z19b, MQ-131, MQ-135) sowie deren Anbindung und technische Grundlagen detailliert beschrieben.
4. Software: Dieses Kapitel erläutert die Implementierung der Sensoren, die Fehlerbehandlung während der Programmierung und die Integration der Software in die ArduinoIDE.
5. Probleme beim Kauf: Hier werden Herausforderungen bei beschädigter Hardware thematisiert und praxisnahe Einblicke in Gewährleistungsrechte im Rahmen der Diplomarbeit gegeben.
6. Reflexion Andreas Rieger: Der Autor schildert seinen persönlichen Lernprozess beim Umgang mit Mikrocontrollern und die Erfahrungen bei der Fehlersuche.
7. Forschungsfrage: Ein Sachteil, der die gesundheitlichen Auswirkungen von schlechter Raumluft, insbesondere durch CO2-Konzentrationen, wissenschaftlich fundiert darlegt.
8. Beschreibung der verwendeten Software und Funktionen: Dieses Kapitel bietet eine Übersicht über Datenbanksysteme, das HTTP-Protokoll und die genutzten Frameworks zur Programmierung.
9. Entwicklungsprozess: Hier wird der Weg von der ersten SQLite-Implementierung bis zur funktionierenden MySQL-Lösung auf dem IONOS-Server beschrieben.
10. Aufgetretene Schwierigkeiten bei der Erstellung beschreiben und Lösungswege aufzeigen: Eine Zusammenfassung technischer Hürden wie Verkabelungsfehler oder Kompatibilitätsprobleme und deren Behebung.
Schlüsselwörter
IoT, Luftqualität, CO2-Messung, ESP32, Mikrocontroller, Datenbank, MySQL, IONIC, App-Entwicklung, REST-API, Sensortechnik, Datenschutz, E-Recht, ArduinoIDE, Programmierung
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Entwicklung eines Luftüberwachungssystems für geschlossene Räume, das Schadstoffwerte erfasst und über eine mobile App visualisiert.
Was sind die zentralen Themenfelder?
Die Schwerpunkte liegen auf der Hardware-Konfiguration von Sensoren, dem Aufbau einer Datenbankinfrastruktur, der Entwicklung einer mobilen Anwendung mit IONIC und rechtlichen Aspekten beim Umgang mit Daten.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Realisierung eines zuverlässigen Systems, das Benutzer jederzeit über die aktuelle Luftqualität (CO2, Ozon, Mischwerte) informiert und schädliche Schadstoffkonzentrationen aufzeigt.
Welche wissenschaftliche Methode wurde verwendet?
Es wurde ein entwicklungsorientierter Ansatz gewählt, basierend auf Literaturrecherche zu Schadstoffen in Innenräumen sowie praktischer Implementierung und Erprobung von Hardware- und Softwarekomponenten.
Was wird im Hauptteil behandelt?
Der Hauptteil gliedert sich in technische Details zu Sensoren, Programmierleitfäden, Datenbankanbindung, wirtschaftliche Aspekte wie Marketing und Gewährleistung sowie die ausführliche Projektdokumentation.
Welche Schlüsselwörter charakterisieren das Projekt?
Die zentralen Schlagworte sind IoT, Luftqualität, Datenbank-Management, App-Entwicklung mit IONIC und Sensorik-Programmierung.
Warum musste der ESP8266 gegen einen ESP32 ersetzt werden?
Der ESP8266 war nicht 5GHz-WLAN-fähig, was im Projektverlauf zu Verbindungsproblemen führte, weshalb der leistungsfähigere ESP32 als Ersatz gewählt wurde.
Welche Herausforderungen gab es bei der Datenspeicherung?
Zunächst war eine SQLite-Datenbank vorgesehen, die jedoch aufgrund mangelnder Unterstützung durch den Hoster IONOS durch eine MySQL-Datenbank auf einem Webserver ersetzt werden musste.
Wie realisiert die App die Aktualisierung der Daten?
Die App verwendet einen sogenannten „Ion-Refresher“, mit dem Benutzer durch eine Geste (Herunterziehen) die Verbindung zum Server manuell triggern und die neuesten Messwerte abrufen können.
- Citation du texte
- Andreas Rieger (Auteur), Luftqualitätsbestimmung. Entwicklung einer Handyapplikation zur Messung von Schadstoffwerten, Munich, GRIN Verlag, https://www.grin.com/document/1369006