Den eigenen Haushalt nachhaltiger gestalten?
Diese Seminararbeit beschäftigt sich mit der Integration einer Brennstoffzelle in den privaten Haushalt.
Es wird eine intelligente Steuerungseinheit für die Brennstoffzelle entwickelt.
Darüber hinaus wird eine App für Android Smartphones entwickelt, die dem Nutzer die Kommunikation mit der Steuerungseinheit ermöglicht und somit die Kontrolle über seine Brennstoffzelle vereinfacht.
Inhaltsangabe
1 Einleitung
2 Zielsetzung
3 Entwicklung einer Steuerungseinheit
3.1 Entwurf eines Modells
3.2 Datensicherung auf dem Cloudserver
3.3 Steuerung per Microcontroller
4 Softwareentwicklung einer App
4.1 Vorgehen nach dem Wasserfallmodell
4.2 Anforderungsanalyse
4.3 Entwurf
4.3.1 Unterteilung in Activities
4.3.2 Funktionsweise
4.3.3 Benutzeroberfläche
4.4 Implementierung
4.5 Test mit Integration
5 Fazit
6 Literaturverzeichnis
7 Abbildungsverzeichnis
8 Anhang
1 Einleitung
Im Zuge des, durch Verbrennung von fossilen Brennstoffen verursachten, Klimawandels liegt es an der jetzigen Gesellschaft ihre Heimat zu schützen (vgl. [BuR20]). Das ist nicht nur Aufgabe der Politik, sondern jeder einzelne kann seinen Teil dazu beitragen. Dies kann durch Überdenken des klassischen Haushaltsmodells geschehen, indem auf eine nachhaltige Energieversorgung geachtet wird. Als Lösung für einen energieeffizienten und umweltfreundlichen Haushalt wird weltweit an der Einbindung von Brennstoffzellen in das häusliche Energiesystem geforscht. So beziehen beispielsweise bereits zehntausende private Haushalte in Japan ihren Strom, sowie ihre Wärme aus eigenen Brennstoffzellen (vgl. [Odr13]). Auch hierzulande werden aktuell erste Testreihen mit Wohnvierteln, in denen circa hundert Wohneinheiten mit der neuen Wasserstofftechnologie von Viessmann ausgestattet sind, durchgeführt (vgl. [WBV17]). Die Brennstoffzelle ist also durchaus einsatzbereit und in zukunftsorientierten Haushalten vertreten. Trotzdem wird in der Gesamtheit der deutschen Haushalte immer noch ein großer Teil des Energieverbrauchs mit Mineralölen und Gasen abgedeckt (s. [UBA20]). Die Wasserstofftechnologie bietet die Möglichkeit einen großen Schritt nach vorne zu gehen, auf dem Weg hin zu einer nachhaltigen Gesellschaft. Langfristig gesehen werden sich immer mehr Verbraucher unweigerlich mit der Brennstoffzellentechnik auseinandersetzen, aber angesichts des Klimawandels ist nicht mehr die Zeit, um auf einen langsamen Wandel der Mentalitäten oder konkrete politische Entscheidungen zu warten. Den Verbrauchern neue Technologien näher zu bringen und sie ihnen vertraut zu machen, kann einen erheblichen Teil zur nachhaltigen Gesellschaft beitragen. Die Entscheidung zur Investition in eine Brennstoffzelle liegt bei jedem der einen Neubau plant und sollte ihm vereinfacht werden.
2 Zielsetzung
Diese Seminararbeit kann zu einer leichteren Entscheidung für eine Brennstoffzelle im Haushalt beitragen, indem eine intelligente Steuerungseinheit für eine Brennstoffzelle entworfen wird. Außerdem soll eine bedienungsleichte App entwickelt werden, über die der Verbraucher mit der Steuerungseinheit kommunizieren und wichtige Daten über seine Brennstoffzelle auslesen kann. Da die App über das Internet mit der Steuerungseinheit verbunden ist, hat der Benutzer seine hauseigene Brennstoffzelle jederzeit und von überall aus im Blick. Somit kann er sie auch während der Arbeitszeit oder auf Reisen überwachen beziehungsweise flexibel steuern. Das gibt dem Verbraucher, der jetzt noch zweifelt in die neue Technologie zu investieren, vielleicht das nötige Vertrauen zur Neuanschaffung.
3 Entwicklung einer Steuerungseinheit
3.1 Entwurf eines Modells
Zu Beginn der Seminararbeit soll eine kompakte Steuerungseinheit entworfen werden, welche an eine Brennstoffzelle im Haushalt montiert werden kann, um diese intelligent zu steuern und mit dem Internet zu vernetzen. Diese soll von einem internetfähigen Microcontroller betrieben werden, der in der Lage ist Daten an einen Server in der Cloud zu senden und von ihm abzufragen. Damit ermöglicht er eine Verbindung zwischen der Brennstoffzelle und der „CellControl“ App, deren Entwicklung im späteren Verlauf dieser Arbeit behandelt wird.
Den Kern der Steuerungseinheit bildet der Microcontroller, welcher die interne Schnittstelle für sämtliche anderen Komponenten darstellt. Hierbei wird ein „ESP32“ verwendet, dessen integriertes WLAN-Modul eine schnelle und einfache Verbindung mit dem Internet ermöglicht. Er sticht als Microcontroller besonders durch seine 520 KB SRAM (s. [Ard20]), also seinen Arbeitsspeicher heraus. Im Vergleich dazu kommt der „Arduino UNO WIFI REV2“, welcher ebenfalls ein integriertes WLAN-Modul bietet, lediglich auf 6 KB SRAM (s. [AZD20]). Durch die, für einen Microcontroller enorme, Speicherkapazität des ESP32 eignet er sich perfekt für die Steuerungseinheit, welche eine Vielzahl von HTTP-Requests auswerten und zwischenspeichern muss. Der ESP32 wird durch eine „Realtime-Clock“ (kurz: RTC) unterstützt, die ihm über den seriellen I²C-Bus die aktuelle Uhrzeit und das Datum übermittelt. Darüber hinaus sind Ventile zum Wasserstoff- und Sauerstoffvorrat des Haushalts sowie ein weiteres für den Wasseranschluss montiert. Eingebaute LEDs zeigen die Stellung dieser Ventile an und ob gerade Wasserstoff oder elektrischer Strom gewonnen wird. Also ob sich die Brennstoffzelle gerade im Prozess der Elektrolyse oder deren umgekehrter Form befindet. Das entworfene Modell dient ausschließlich der Veranschaulichung, weshalb aus Kostengründen nur ein Ventil realisiert wird. Die übrigen Ventile würden analog zu diesem angeschlossen werden. Das verwendete Ventil ist mit einer Stromaufnahme von 240mA und einer Betriebsspannung von 4,5V angegeben (s. [Fun20]). Da die GPIO Pins des ESP32 nur 12mA bei 3,3V bereitstellen (s. [AZD20]), wird es an die Stromversorgung des ESP32 angeschlossen und ein MOSFET zwischengeschalten. Der gesamte Schaltplan des Modells ist im Anhang auf Seite 21 zu finden.
3.2 Datensicherung auf dem Cloudserver
Sämtliche von der Steuerungseinheit erhobene Daten werden auf dem „Associate Engineers Datacollector“ von Siemens gespeichert. Dieser ist auf ein Minimum reduziert und stellt eine kostenfreie und effiziente Möglichkeit dar, Daten einfach und anonym in der Cloud zu speichern. Dafür werden lediglich zwei verschiedene URLs benötigt (vgl. Abbildung 1).
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 1
Diese enthalten eine „User“ Angabe, welche für jede Steuerungseinheit festgesetzt ist und somit der App ermöglicht diese zu identifizieren. „Type“ beschreibt welcher Datensatz verändert oder abgefragt werden soll und „Value“ dessen Wert. Enthält ein Datensatz bereits eine Vielzahl von Werteinträgen, kann man die Ausgabe mit dem Zusatz „&maxcount=1“ auf den letzten beschränken.
3.3 Steuerung per Microcontroller
Der Programmcode des Microcontroller ESP32 wurde in der Arduino IDE geschrieben. Dafür muss zunächst in deren Boardverwalter das „esp32“ Packet installiert und ausgewählt werden (vgl. [Git20]). Neben den Arduino Standard-bibliotheken „Wire“ und „WiFi“, musste zur Bedienung der Realtime-Clock die Adafruit „RTClib“ Bibliothek installiert werden (s. [Ada20]). Der Code ist mit „javadoc“ Kommentaren ergänzt, die seine Funktion beschreiben. Ein Ausschnitt daraus wird in dieser Seminararbeit näher betrachtet. In seiner „setup“ Methode wird die Verbindung zu RTC und WLAN hergestellt, woraufhin die „loop“ Methode bis zum nächsten Neustart dauerhaft wiederholt wird. Zu jeder vollen Stunde sendet der ESP32 die Daten, welche er für die vergangene Stunde aufgezeichnet hat, an dem Cloudserver. Darüber hinaus prüft er, ob Anweisungen der App vorliegen. Die Kommunikation mit dem Cloudserver funktioniert über „HTTP-Requests“, die Informationen von einem Server abfragen oder auf diesem ablegen. Dabei existiert ein breites Portfolio an Anfragemethoden (vgl. [Moz20a]), wobei in dieser Seminararbeit nur die zwei häufigsten Methoden „GET“ und „POST“ verwendet werden. Der Arbeitsspeicher des ESP32 ist im Gegensatz zu dem der meisten Arduinos ausreichend, um ohne Komplikationen mit Strings arbeiten zu können. Für die Durchführung einer „HTTP-Request“ benötigt man ein HTTP Client Objekt, welches mit einer gegebenen URL Verbindung zu deren Server aufbaut. Auf dieses Objekt kann nun die „GET“ Methode angewendet werden. Der Server schickt als Antwort einen Statuscode. Diese positive, genau dreistellige, Zahl (vgl. [Moz20b]) gibt Auskunft über den Erfolg der Anfrage und liefert entweder die Antwort oder einen Fehler. Sollte die Variable „httpCode“ (s. Abbildung 2) stattdessen negativ werden, handelt es sich um einen internen Fehler des ESP32. Andernfalls kann mit der Methode „getString“ die Antwort der „HTTP-Request“ vom HTTP Client ausgelesen werden und die Verbindung zum Server beendet werden (vgl. Abbildung 2).
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 2
Die „POST“ Methode ist analog zur „GET“ Methode aufgebaut und wie der Rest des ESP32-Codes im Anhang ab Seite 21 zu finden.
4 Softwareentwicklung einer App
4.1 Vorgehen nach dem Wasserfallmodell
Nachdem die Funktionsweise der intelligenten Steuerungseinheit nun erklärt wurde, wird im Folgenden der Entwicklungsprozess der zugehörigen „CellControl“ App erläutert. Da es sich hierbei nicht um ein Projekt handelt, das von einem Entwicklerteam im ständigen gegenseitigen Austausch entwickelt wird, sondern von einer Einzelperson, auf die alle Aufgabenbereiche entfallen, ergeben sich überwiegend lineare Arbeitsabläufe. Die Synchronisierung von nebenläufigen und parallelen Arbeitsabläufen (vgl. [Hub09], S. 148ff) wird somit nicht benötigt, was die Projektplanung wesentlich vereinfacht. Auf die heutzutage häufig verwendeten komplexen Modelle der Softwareentwicklung, wie das Spiralmodell (s. [Hub09], S.155f) oder das besonders agile „Scrum“ (s. [Pic08]) kann daher verzichtet werden. Stattdessen soll nach dem klassischen Wasserfallmodell (s. Abbildung 3) gearbeitet werden, dieses „eignet sich gerade wegen seiner Einfachheit eher für […] kleine und übersichtliche Projekte“ ([Viv13], S. 6f) und unterteilt sich in fünf Arbeitsabschnitte. Nach jedem dieser Abschnitte wird ein Meilenstein definiert, der erfüllt sein muss, um am nächsten Abschnitt arbeiten zu können. Der so entstehende Arbeitsablauf ist weitestgehend linear, da im erweiterten Wasserfallmodell ein Rückschritt in einen bereits abgeschlossenen Abschnitt bei Bedarf zwar möglich, aber zu vermeiden ist. Die Abschnitte heißen „Anforderungs- und Systemanalyse“, „Entwurf“, „Implementierung“, „Test mit Integration“, sowie „Einsatz mit Wartung“ und werden im Anschluss in chronologischer Reihenfolge behandelt (vgl. Abbildung 3). Die abschließende Stufe, welche die tatsächliche Inbetriebnahme beim Käufer darstellt und sich über die gesamte Lebensdauer des installierten Systems streckt, wird in dieser Seminararbeit nicht mehr behandelt.
Abbildung in dieser Leseprobe nicht enthalten
Abbildung 3
4.2 Anforderungsanalyse
Der erste Schritt in der Softwareentwicklung liegt darin einen Plan zu verfassen, der die Eckpfeiler der entstehenden Software definiert. Er soll Auskunft darüber geben, welche Erwartungen der Nutzer an die App stellt, und gleichzeitig auch, welche Rahmenbedingungen das System zu erfüllen hat.
[...]
-
-
-
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X. -
-
Upload your own papers! Earn money and win an iPhone X.