In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre
Bei „dataGarden“ geht es um die Sammlung, Aufbereitung und Visualisierung von Sensordaten über Pflanzen und deren Umfeld. Dabei werden mit verschiedensten Sensoren Daten wie z.B. Temperatur, Bodenfeuchtigkeit oder Sonnenlicht gesammelt. Diese Sensoren sind in einer Messstation verbaut, welche in der Nähe der zu messenden Pflanzen steht. An einem Informationsträger können die Daten interaktiv durch die Besucher eingesehen werden. Für die Visualisierung arbeite ich mit einem Matrix-Display hinter Holz und einem E-Paper Display.
Mein oberstes Ziel war es, die Technik so subtil wie möglich, in mein Möbel zu integrieren. Dafür habe ich viel Research betrieben, wie ich organische User Interfaces gestalten kann.
Ich habe mich dafür entschiedenen, die Interaktion so natürlich wie möglich erscheinen zu lassen, weshalb ich als Material der Buttons Holz verwendet habe.
Die LED-Matrix ist sehr Hell, macht also bei Sonnenlicht keine Probleme. Sie visualisiert ausgehend von dem Minimal- und Maximalwert des vom Besucher gewählten Datentyps ein relatives Histogramm. Dieses Zeit den Verlauf der Werte über 24 Stunden oder 7 Tage. Der Zeitraum ist ebenfalls vom Besucher wählbar.
Das E-Ink Display funktioniert ebenfalls sehr gut bei hellen Lichtverhältnissen und besitzt die selben Reflektionseigenschaften wie Papier. Dadurch integriert es sich nahtlos in die statischen Infografiken und Texte.
Es zeigt den Minimal- und Maximalwert des Datentyps, wodurch das relative Histogramm besser einzuordnen ist. Zusätzlich wird der aktuelle Wert mit dem dazugehörigen Timestamp angezeigt.
Die Daten werden mithilfe einer Messstation aufgezeichnet. Diese befindet sich im zu messenden Beet und zeichnet diverse Daten über Pflanzen und deren Umfeld auf. Das Design ist vom Möbel inspiriert um die Zusammengehörigkeit für den Besucher zu verdeutlichen.
Das UX Design spielt bei der Visualisierung am Möbel eine große Rolle. Ich habe mich im Vorfeld mit verschiedenen Interaktionsmöglichkeiten beschäftigt und evaluiert, wie der Besucher möglichst natürlich mit dem Möbel interagieren kann.
Der Besucher soll das Möbel durch seine experimentelle und innovative Formsprache wahrnehmen. Das E-Ink Display und der Abstract-Text erklären dem Besucher wie er das Möbel „bedienen“ kann. Eine Idle-Animation auf der LED Matrix unterstützt dabei und signalisiert dem Besucher dass es sich nicht um eine ausschließlich statische Informationsgrafik handelt.
Die „Holz-Buttons“ mit welchem man die Datentypen wählen kann, können ebenfalls leuchten, um dem Besucher zu zeigen, welcher gerade aktiv ist. Damit hat man auch die Möglichkeit über Animationen die Interaktion zu erklären.
Um die Dokumentation und die Hintergründe noch persönlicher zu transportieren, habe ich mich für einen zweiten Dokufilm im Interviewformat entschieden.
Hier gehe ich nochmal auf den Approach, die Idee und das Konzept von „dataGarden“ ein.
Gemessen werden können z.B. Besucher, Pflanzen, Wetter und Bodenbeschaffenheit. Auch weiterführende Informationen, wie den PH Wert der Erde, die Photosyntheserate oder den CO2 Gehalt in der Luft, können über über einen Zeitraum aufgezeichnet und in Graphen visualisiert werden.
Die Sensordaten reichen auch über die Pflanze hinaus, somit können auch Rückschlüsse auf Wetter und andere Umwelteinflüsse getroffen werden. Es sollte ein Indoor und Outdoor Lösung geben.
Den Garten sehen viele als Zufluchtsort in dem man vom Alltag vor dem Computer oder auch dem Smartphone abschalten kann. Viele sehnen sich nach Abstand von der Technik.
Wie schafft man es, dass diese These und digitale Informationsvermittlung keinen Widerspruch darstellen?
Ich möchte mich mit alternativen Interfaces und Displays beschäftigen. Wie kann Shytech z.B. im botanischen Garten zur Informationsvermittlung und Interaktion eingesetzt werden?
Wie könnte der Ansatz von Organic User Interfaces auf den Garten übertragen werden?
Informationen können durch Licht dargestellt werden oder durch alternative Technologien wie z.B. die Idee des Wooden Mirror (Daniel Rozin).
Informationen können auch durch kinetische Veränderung der Landschaftsarchitektur oder durch sich verändernde Architektur (Pavilions), dargestellt werden.
Die live Daten von verschiedenen Messpunkten können auch auf einer interaktiven Karte des botanischen Gartens visualisiert werden. Hierbei wäre auch die Besucherzahl von Relevanz.
Um ein erstes Bild über die Werte der Sensoren zu bekommen, habe ich die alle mir zu Verfügung stehenden an einem Arduino auf dem Grove Shield angeschlossen.
Erste Tests haben folgende Werte geliefert:
Um die Sensordaten aufzuzeichnen, habe ich auf einem Raspberry Pi eine MySQL Datenbank aufgesetzt. Ein Python Script ließt den Serial des Arduinos. Sobald der Arduino einen Serial schickt, schreibt das Script die Sensorwerte in die Datenbank. Aktuell wird alle 30 Sekunden geloggt.
Um die Daten nicht nur innerhalb der Datenbank zu sehen, habe ich ein E-Ink Display am Raspberry angeschlossen.
Ein Python Script ließt den aktuellsten Wert aus der Datenbank und aktualisiert das E-Ink Display. Alle 10 Minuten wird aktualisiert, was im Vergleich zu einem herkömmlichen Display enorm Strom spart.
Im nächsten Schritt geht es um die Visualisierung der Daten. Für eine schnelle Analyse, habe ich die gesammelten Daten von 36h Aufzeichnung in Excel verarbeitet.
Um die gewonnenen Daten zu visualisieren, beschäftige ich mich mit experimentellen Displays und ShyTec.
Einen ersten Test hatte ich schon mit dem E-Ink Display. Ich möchte mich im nächsten Schritt aber noch weiter von üblichen Displays entfernen.
Zunächst habe ich mich mit Anzeige und Interaktion hinter Holz beschäftigt. Hier soll Das Holz als Interface und Display fungieren.
Für die Interaktion habe ich einen Kapazitiven Sensor verwendet, welcher hinter dem Furnier installiert ist.
Eine erste Testsoftware funktioniert schon, und erkennt den Touch-Input.
Auch die Neopixel habe ich schon ansteuern können. Ich habe verschiedene LED-Anordnungen getestet:
Im nächsten Schritt evaluiere ich wie man die Daten für die abstrakten LED-„Displays“ adaptieren kann.
Um die Daten auch im freien aufzeichnen zu können, habe ich zunächst getestet wie lang ein Arduino WiFi mit einer Powerbank ohne Stromzufuhr laufen kann. Für den Einsatz im botanischen Garten wäre ein Arduino WiFi sinnvoll, da ich dann kein USB Kabel mehr zum Raspberry brauche.
Für die Sensoren bin ich gerade über einer Art „Wetterstation“ in der ich die Technik wasserfest verpacke.
Um auch außen Sensordaten aufzeichnen zu können, habe ich eine „Wetterstation“ konstruiert, mit der ich den Arduino + alle Sensoren Wettergeschützt aufstellen kann.
Um die Daten auch in verschiedenen Medien zu verarbeiten, habe ich zunächst meine Datenstruktur aktualisiert und die Protokolle ergänzt.
Viel visuelles kann ich diese Woche nicht zeigen, da viel Arbeit in Research und Experimente mit Schnittstellen geflossen ist.
Für die Messstationen habe ich mittlerweile einen Arduino WiFi verwendet, dieser verbindet sich mit dem WLAN und stellt die Daten als HTML Seite unter der IP zur Verfügung.
WLAN könnte auf die Distanz zum Problem werden, weshalb ich mich schon mit LoRaWAN beschäftigt. Das Protokoll wäre dafür bestens geeignet, jedoch wird zusätzliche Hardware benötigt.
Bis zur nächsten Woche arbeite ich Parallel weiter an den Schnittstellen und einem ersten Entwurf für das Interface/Display.
Ich werde auch schon erste Experimente mit den Lichtschranken durchführen.
Schon seit 5 Tagen läuft die Outdoor-Messtation mit meinem alten Setting die Daten über USB mit dem Raspberry aufzuzeichnen. Jetzt ist jedoch noch der Barometer mit einem genauerer Temperatursensor hinzugekommen.
Der erste Prototyp ist noch sehr gebastelt, aber schon wettergeschützt. Der Feuchtigkeitssensor befindet sich in der Spitze und die anderen Sensoren sind hinter den Luftlöchern angebracht. Ich habe jedoch bei der aktuellen Version die Bedenken dass der Temperatursensor von der Arduino-Temperatur beeinflusst wird.
Der nächste Schritt ist es, das finale Setting zu testen. Dazu würde ich mit dem Seeeduino ohne zusätzliches Shield arbeiten. LoRaWAN ist integriert und auch schon die Steckplätze für meine Sensoren.
Um die Daten zu empfangen wird noch ein LoRaWAN Gateway benötigt.
Es gibt sogar eine realistische Chance dass der Gateway in der Hochschule platziert werden könnte. Ob das Vorteile für meine Datenverarbeitung hat weiß ich allerdings nicht. Mein Interface müsste dann die Daten aus dem Hochschulnetz beziehen was wahrscheinlich ein umständlicherer Weg wäre.
Um zu untersuchen wie die Daten visualisiert werden können habe ich zunächst eine Aufstellung meiner Sensoren gemacht.
Teilweise ist die Dokumentation der Sensoren schlecht und es ist unverständlich wie die Werte zu deuten sind.
Im nächsten Schritt werde ich mich vom Gas-Sensor verabschieden, da dieser im gesamten Test immer den gleichen Wert ausgibt.
Das Datenset werde ich noch mit CC Wetterdaten ergänzen wie z.B.
- Sonnenaufgang / Sonnenuntergang
- Sonnenstunden
- Sonnenstand
Um zu belegen dass LEDs essenziell für die Darstellung hinter Holz sind, habe ich verschiedene Messungen mit Displays und LED durchgeführt. Vor allem wichtig wird die Helligkeit bei direkter Sonneneinstrahlung.
Das Ergebnis ist eindeutig:
Das Display/Interface nimmt immer mehr Form an und überzeugt in der Darstellungsqualität so wie in der Ästhetik wenn es ausgeschaltet ist.
Hinter das Furnierholz würde ich eine größere Matrix platzieren, z.B. 8x32 Pixel oder sogar 16*32.
Um zu testen wie die Information auf einer LED Matrix dargestellt werden kann und welche Einheiten angezeigt werden können, habe ich eine Simulation in Processing erstellt.
Die Applikation kann schon echte Daten als CSV einlesen und mit der „Matrix“ visualisieren. Im ersten Bild erkennt man einen Auszug auf der Luftfeuchtigkeit, im zweiten die Bodenfeuchtigkeit.
In der echten Applikation kann man z.B. zwischen 24 Stunden und 30 Tagen auswählen und das Histogramm passt sich der Auswahl dynamisch an. Auch der Mapping Bereich kann mit MIN und MAX Werten Dynamisch reguliert werden.
Für das Interface im Botanischen Garten möchte ich das Wooden-Display mit dem E-Ink Display und statischen Informationen verbinden.
Dafür untersuche ich gerade verschiedene Layouts und Interaktionsmethoden.
Das Layout ist ein erster Entwurf um einen Überblick über die Größenverhältnisse und den Platzbedarf zu bekommen, im nächsten Schritt gilt es noch verschiedenen Varianten zu testen.
Letzte Woche habe ich verstärkt am interface und der Präsentation/Platzierung im Möbel gearbeitet.
Das Möbel ist inspiriert nach der Lammelenstrukturen von Pilzen. Im Möbel will ich es schaffen, den Informationsträger für die Datenvisualisierung mit einem Auriculum Theater zu verbinden. Deshalb ist das Möbel zweigeteilt, auf der einen Seite ist Platz für das Aufstellen von Topfpflanzen, auf der anderen Platz für das „Wooden-Display“ in Kombination mit dem E-Ink Screen.
Da die Grundform des Möbels ein 12-Eck ist, setze ich für das „Display“ 3 Seiten des 12-Ecks ein. Mein Layout ist Somit durch zwei leichte Winkel unterbrochen.
Für die Informationsebene möchte ich E-Ink bzw. Foliendruck hinter Plexiglas verwenden. Dafür trennt sich mein Layout nochmal in der Horizontalen.
Im nächsten Schritt möchte ich das Layout noch konkretisieren und entscheiden, welche Informationen tatsächlich visualisiert werden und wie viel Budget für ein größeres E-Ink Display vorhanden ist.
Ich habe nun die Messstation eine gute Woche laufen lassen und unzählige Datensätze aufgezeichnet. Alle 60 Sekunden x 7 tage = ca. 10 000 Datensätze.
Zur Analyse wollte ich zunächst Excel verwenden, das ist aber wie zu erwarten mit so vielen Daten nicht klar gekommen. Deshalb habe ich das SQL-Eigene Tool dafür verwendet.
Um an der Datenstruktur weiterarbeiten zu können muss ich noch warten bis die Anschaffung der Hardware geklärt ist.
Folgende Fragen sind noch offen:
Einsatz von LoRaWAN?
Wie viele Stationen werden platziert?
Welche Sensoren werden eingesetzt?
Wasserdichte Station für den Teich?
Ich habe schon verschiedenen Setups getestet, WLAN zur Übertragung der Daten wäre als Backup möglich, falls LoRaWAN nicht finanziert werden kann.
Weiterarbeiten konnte ich jedoch schon an der Datenspeicherung in Google Spreadsheets.
Die Library „gspread“ konnte ich leider wegen Authentifizierungsproblemen nicht verwenden, deshalb habe ich mich durch die orginale Google API gearbeitet. Nun funktioniert der Spreadsheet Write/Insert ohne Probleme und schreibt immer die aktuellen Daten in die Tabelle.
https://docs.google.com/spreadsheets/d/1MyJqR4gSGnJ_xuT9UqGfwDVrBwwLCpapGuH2lzZJCHY/
Eine kleine Nebensächlichkeit am Ende: Der Raspberry macht mittlerweile ein Backup auf einen USB Stick, damit die Daten und Codes nicht verloren gehen falls die SD Karte durchbrennt.
Da ich immer noch nicht weiß wie die Finanzierung über den Botanischen Garten funktionieren könnte ist die Arbeit aktuell etwas stagniert, da die Entscheidung beeinflusst mit welcher Hardware ich weiter arbeite.
Wenigstens konnte ich schon an der Wetterstation weiter arbeiten und habe einen Entwurf für den 3D-Drucker.
Für die Messstation will ich mich an meinem Möbel orientieren, das so hoffentlich im botanischen Garten stehen kann. Das Ziel ist es, dass die Messstationen einen direkten optischen Bezug zum Informationsträger bekommen.
Moritz hat mir per Zoom schon mal das Ergebnis präsentiert.
Auch beim Möbel/Informationsträger konnte ich weiter arbeiten. Hier habe ich schon mal das Plexiglas ins Holz integriert. Alles im Maßstab 1:10.
Für die Kostenaufstellung habe ich ein Google Spreadsheet angelegt und alle Sensoren, Arduinos etc. mit aufgenommen.
https://docs.google.com/spreadsheets/d/1yQIEvA1TI0xhPNVdwkahinYXRF8676uo33mSd1SbSXU/edit#gid=0
Das Spreadsheet kann gerne durch weitere Projekte ergänzt werden.
Ich habe mir einen „EBay Nachbau“ der 8x32 Neopixel Matrix bestellt um meine Orginaldaten gleich auf der richtigen Matrix zu testen.
Dafür verwende ich keinen Arduino sonder direkt den Raspberry PI, da dann mein Code direkt aus der SQL Tabelle die aktuellen Daten abrufen kann.
Als nächstes kümmere ich mich um das Abrufen der Daten via SQL. Ziel ist es, dass ich kumulierte Daten über 30 zw. 7 tage abrufen kann und mir in dem entsprechenden Zeitraum auch den Maximal und Minimalwert ausgeben kann.
Leider ist meine Arbeit an der Hardware und Realisierung immer noch etwas stagniert. Aber ich konnte am Möbel weiter arbeiten und habe nochmal eine Zusammenfassung meines Projektes für Frau Tögel erstellt.
Mein neuer Entwurf besteht nur noch aus einem Kreissegment. Dadurch braucht das Möbel viel weniger Material und wirkt luftiger.
Dass durch die neue Form auf der Innenseite eine Art „Raum“ entsteht ist ein weiter Pluspunkt des neuen Entwurfs.
Um das Möbel noch weiter „aufzubrechen“ sind im weiteren Entwurf noch Ausschnitte zur Außenseite platziert. Dadurch kann man die Topfpflanzen auch auf der Innenseite sehen und die beiden Seiten wachsen noch näher zusammen.
Des weiteren habe ich an der Abfrage der Daten aus der Datenbank gearbeitet. Ich habe mir eine Struktur überlegt, wie die Abfragen aus der SQL Datenbank aussehen müssen, damit ich auch den Minimal und Maximalwert auf das LED Histogram und den E-Ink Screen bringen kann.
Ich stecke schon mitten in der Finalisierungsphase. Das Holz und die weiteren Materialien für mein Möbel habe ich bereits bestellt.
Das Möbel selbst ist mittlerweile fertig geplant und von Heiko abgenommen. Er hat nochmal guten Input bezüglich der Materialität gegeben. Ich baue das Möbel jetzt direkt in 1:1 und die Informationsvisualisierung im Orginal ein.
Hier habe ich nochmal intensiv an dem Layout und Grafiken gearbeitet. Die organischen und aufgebrochenen Formen des Möbel sollen sich in der Grafik widerspiegeln.
Es soll nicht aussehen als wäre Technik im Möbel verbaut, weshalb ich mit einer doppelten Wand arbeite.
Raspberry, Arduino und Netzteil verstecke ich hinter dem oberen Blumentopf. Da würde ich noch mit einem aktiven Lüftungsystem arbeiten, um im Sommer eine Überhitzung ausschließen zu können.
Zunächst habe ich an den statischen Daten gearbeitet. Dafür musste ich mich in die Einheiten einlesen um dem Besucher ein wenig Hintergrundinformationen zu Bodenfeuchtigkeit, Temperatur, Luftfeuchtigkeit und Sonnenlicht zu geben.
Der Besucher soll den unterschied zwischen statischer Information und E-Ink Display nicht merken.
Im nächsten Schritt habe ich die Positionierung auf dem Möbel 1:1 getestet. Das hat mir vor allem dabei geholfen ein Gefühl für die Größenverhältnisse und die Höhe zu bekommen.
Anschließend habe ich das Layout auf mein digitales Modell übernommen. Hier habe ich zwei Varianten erstellt, eine ehr flächig aber dynamische Version und eine noch weiter aufgebrochen Version.
Für die Interaktion arbeite ich mit Taschen die vom Plexi umschlungen und einen Holzeinsatz haben, damit ich ein kapazitives Signal aufnehmen kann. Sollte das zu Problemen führen, kann ich noch hinter die Tasche einen Taster setzen.
Das Layout am Gesamten Möbel:
Hier habe ich schon mit den verschiedenen Materialien gearbeitet: Unten die unbearbeitete Seekiefer und oben das Furnier.
Für die statischen Inhalte verwende ich einen Schaufenster-Foliendruck hinter Acrylglas.
Ich habe mich mit Lukas, Franz und Jan ausgetauscht, da Frau Tögel unsere Exponate gerne nebeneinander platzieren würde.
Dafür hat Lukas Bilder geliefert. Den Ort hat Frau Tögel vorgeschlagen, vielleicht könnte man noch eine Besichtigung im botanischen Garten vereinbaren.
Ein Vorteil wäre auf jeden Fall dass der Ort direkt am Eingang ist.
Der LoRaWAN Router und der WLAN Router wären direkt verfügbar.
Mit Lukas bin ich auch nochmal digital durch den botanischen Garten gelaufen.
Parallel dazu arbeite ich natürlich noch an der technischen Lösung.
Seeeduino LoRaWAN und das Gateway sind bestellt. Laut Seeed kann der Arduino im Stromsparmodus einen Monat mit der LiPo Batterie laufen. Man könnte auch noch eine Solar-Powerbank dazu installieren um die Laufzeit zu verlängern.
Die vorerst finale Version der Messtation ist auch fertig. Das Problem der Luftzirkulation meiner ersten Version sollte nun behoben sein. Jetzt muss nur noch der Seeeduino inkl. Sensoren im Gehäuse verbaut werden!
Um einen Überblick über meine verbauten Hardwarekomponenten zu bekommen, habe ich nochmal ein Flowchart erstellt was meine Eingänge und Ausgänge so wie Modi zeigt.
Viel Zeit hat es mich gekostet die SQL Befehle zu schreiben, welche die passenden Datensätze aus der Datenbank abfragen und anschließend auf die Neopixel mappen.
Ich arbeite mit folgenden Requests (übersetzt in verständliche Sprache):
SELECT ersten zurückgegebenen Wert für jede volle Stunde
SELECT MIN Wert eines Tages
SELECT MAX Wert eines Tages
Der größte Teil funktioniert schon! Auch die Neopixel funktionieren am Raspberry PI. Allerdings gibt es die Matrix Library nicht für Python. Jetzt habe ich zwei Optionen: Entweder einen Arduino zwischenschalten oder auf die normale Neopixel Library zurückgreifen.
Auch von beiden Eingängen habe ich Bilder von Lukas bekommen.
Auf meine Anfrage für eine Komplettlösung zur Personenzählung habe ich auch schon eine positive Antwort bekommen.
Man könnte mit dem System beide Eingänge so wie die Funkverbindung abdecken!
Um die User Experience des Besuchers besser verstehen zu können, habe ich in der Konzeption mit einem User Journey gearbeitet. Dazu habe ich eine „Worst-Case Szenario“ und ein „Best-Case Szenario“ skizziert.
Das hat mir geholfen um die Interaktion zu evaluieren und mögliche Pain-Points zu vermeiden.
Um die Interaktion besser zu verstehen und einen Überblick über die zu steuernden Komponenten zu bekommen, habe ich ein vereinfachtes Flowchart erstellt. Hier kann man auch gut erkennen, welche Modi der Code berücksichtigen muss.
Um die Interaktions- und Lesehöhe zu definieren habe ich an meinem Möbelentwurf mit einer Montagefläche gearbeitet.
Für die Finalen „Plexi-Fenster“ im Möbel habe ich mit dem Lasercutter und einer Hinterglasfolierung gearbeitet.
Für die Buttons habe ich mit einem Sperrholz Umriss und Furnierholz als Deckfläche gearbeitet. Dadurch kann ich hinter das Furnier Alufolie kleben, welche den Input über einen kapazitiven Sensor erkennt.
Um die „Plexi-Scheiben“ in das Möbel zu integrieren, habe ich mir vorlagen im Lasercutter erstellt. Diese habe ich dann mit der Oberfräse nachgeschnitten dass die Scheiben nahtlos in die Taschen passen.
Für die Kapazitiven Buttons verwende ich einen Arduino mit dem Adafruit Cappa-Shield. Dieser sendet die Daten per USB Serial an den Raspberry.
Für die LED Matrix habe ich ebenfalls eine Tasche aus den Sichtseiten gefräst. Anschließend wurde die Matrix hinter Plexischeiben und Furnier verbaut.
Für die Kabel der Buttons, des E-Ink Displays und der Matrix habe ich verschiedene Löcher und Einfräsungen auf beiden Seiten der Deckplatte hergestellt.
Auf der Rückseite des Möbels, gibt es hinter einer Pflanze eine Doppelte Wand, hinter der ich die ganze Technik verbaut habe.
Für die ersten Test habe ich die Technik nicht fest verbaut, um mögliche Probleme noch beheben zu können. Wie alles funktioniert hat, habe ich die Technik fest in der Doppelwand verbaut.
Der Raspberry Pi ist per WLAN im Netzwerk und greift die Daten der Messstation ab. Der Code läuft auf dem Raspberry, während beide Arduinos per USB Serial zum einen die Kapazitiven Inputs verwalten und die Feedback Neopixel ansteuern.
Die Umsetzung der Software hat relativ reibungslos funktioniert. Ich habe den Python Code direkt auf dem Raspberry geschrieben, um schnell testen zu können.
Probleme haben bei der Entwicklung nur die Arduinos gemacht. Oft ging der Serial nicht oder ich konnte keine richtigen Daten an den Arduino senden und die Feedback LEDs haben nicht funktioniert.
Ich habe für die Feedback LEDs hinter den Plexi-Scheiben mit Through-Hole-8mm Neopixel gearbeitet. Dass diese überhaupt reibungslos funktionierten, musste ich Kondensatoren zwischen + und - Pol einlöten.
Für den Aufbau der Software habe ich folgendes Flowchart erstellt:
Ich habe für alle Komponenten vorher Sample-Codes geschrieben, welche ich dann in meinem master vereint habe.
Am Anfanng habe ich verschiedene Hilfsfunktionen wie Translate und mein Debug-Modul um einzelne Funktionen direkt aus der Konsole zu testen.
Im Weiteren definiere ich meine Variablen für die SQL Abfragen und die Startvalues für die LED Matrix.
In meiner Main Funktion, wird ständig der Serial abgefragt und geschaut, ob ein User-Input erfolgt.
Anschließend werden die Update-Funktionen aufgerufen, welche die neuen Daten live aus der SQL Datenbank abrufen und E-Ink + Neopixel aktualisieren.
Die „Grab“ Funktion, welche die Daten aus der SQL Datenbank abruft und die Variablen neu setzt. Hier am Beispiel der Temperatur.
Schöner wäre es, wenn ich eine allgemeine „GrabData“ Funktion hätte, allerdings gab es viele Probleme beim einsetzen von Variablen in die SQL Abfrage. Deswegen habe ich mich für einzelne Funktionen entschieden.
Update des E-Ink Displays:
Die Update-Funktion der Neopixel Matrix sieht super kurz aus, hat allerdings fast am meisten Arbeit gekostet. Da meine Matrix im ZigZag Raster verläuft muss ich die Werte dementsprechend umrechnen.
Der Code ist bei den Projektinformationen als Download verfügbar.
Für das Layout des E-Ink Displays habe ich mit Illustrator gearbeitet. So konnte ich mein Layout Grafisch erstellen und anschließend die Pixel Positionen in den Code übernehmen. Sogar die Schrift meiner statischen Infografiken konnte ich für das E-Ink übernehmen.
Verschiedene States im Überblick:
Das Online-Semester hat eigentlich kein wirkliches Problem bei der Realisierung des Projektes gemacht. Mit einem guten Zeitplan bin ich dieses Semester auch mit der Umsetzung fertig geworden.
Leider musste ich an ein paar stellen die Komplexität reduzieren. So habe ich jetzt nur noch vier Sensoren in einer Station. Am Anfang hatte ich mir mehrere Stationen vorgestellt.
Ich hatte mir auch gedacht dass es leichter ist, noch mehr Werte direkt an der Pflanze zu messen. Leider habe ich schnell herausgefunden dass man diese ohne Biologie-Studium nicht verstehen kann und schwer zu messen sind.
Am Anfang des Projektes hätte ich noch etwas mehr Fokus auf das Design legen können, dort ist viel Zeit in die technische Realisation geflossen. Später konnte ich das jedoch über die Messstation, die Visualisierung und die Informationsgrafiken wieder aufholen.
Ich fand es super Ausstellungsdesign und Interactiondesign zu verbinden. Dadurch konnte ich in der Möbelform nochmal meine Themen mit aufnehmen und einen Bezug zueinander herstellen. Wenn das „Infografik-Dashboard“ nur Standalone gewesen wäre, hätte es noch mehr nach Prototyp und weniger nach einem fertigem Projekt ausgesehen.
Der Prozess ging relativ geradlinig bis zum fertigen Ergebnis, allerdings hat bei der Realisierung die Technik noch viele Probleme gemacht. Die Software war dabei noch der relativ überschaubare Teil. Viel mehr Arbeit haben die Arduinos und der Raspberry Pi gekostet. Auch die Zuverlässigkeit der Sensoren war nicht besonders gut. Das liegt daran, dass mit dem „Budget“ ausschließlich „Bastelhardware“ verbaut ist.
Trotz der „einfachen“ Hardware war das Projekt viel teuerer als erwartet, das lag vor allem am Holz und an der Elektronik.
Der Code ist nahezu fertig, er hat allerdings noch ein paar Bugs und es sind nicht alle Cases perfekt durchdeklariert. Um den Code „Bulletproof“ fertig zu stellen, bedarf es noch ein paar Tage Arbeit. Man könnte den Code an einigen stellen auch noch einfacher und performanter gestalten.
Das viel größere Problem für den Outdoor-Betrieb ist allerdings nicht der Code sondern die Wasserfestigkeit der Technik. Alles abzudichten und zu verscheißen würde noch einmal ein paar Tage Arbeit machen.
Wenn das Projekt noch weiter laufen würde und zum Einsatz im Botanischer Garten kommt, würde ich noch folgende Punkte Umsetzen: