IMM 2018 - Robert Bosch AG: The air around us


Projekt mit der Robert Bosch AG: „The Air Around Us“

Beim Projekt mit der Robert Bosch AG konnte ich mich etwas stärker einbringen. Zuletzt haben wir sogar die ersten Prototypen gebogen und in Form gebracht. Besonders interessant fand ich, dass wir dabei den Entwicklungsprozess eines Projekts bei Bosch im Schnelldurchlauf durchlaufen konnten.

Doch welcher Lösungsansatz hat sich in unserer Gruppe zum Thema „The Air Around Us“ herauskristallisiert?

Unsere Aufgabe bestand darin, den von Bosch bereitgestellten Umweltsensor BME680 in unser Konzept zu integrieren. Das stellte sich als nicht ganz einfach heraus, da die Möglichkeiten des Sensors unseren Vorstellungen nicht in allen Punkten entsprachen.

Lange Rede, kurzer Sinn: Am Ende entstand ein Konzept, bei dem individuelle Umweltdaten über eine Erweiterung für eine Brille angezeigt werden, sobald bestimmte Schwellenwerte erreicht werden. Die benötigten Daten können dabei direkt vom Brillenaufsatz, von einem Smartphone oder aus dem Internet bezogen werden.

Die Idee dahinter ist, relevante Umweltdaten unmittelbar im Sichtfeld verfügbar zu machen, ohne dass man dafür ständig auf ein Smartphone schauen muss.

Die ersten Prototypen der Halterung und des Anzeigesystems sahen folgendermaßen aus:


Wie geht es weiter?

Inzwischen haben wir erste Experimente mit RGB-LEDs durchgeführt und dabei einen ATtiny85 als Mikrocontroller eingesetzt. Ziel war es herauszufinden, welche Farben und Lichtstärken sich am besten eignen und ob die Einblendung der Informationen über einen Lichtleiter die Sicht oder Wahrnehmung beeinträchtigt.

Als nächsten Schritt wollen wir einen ESP32 mit einem BME680-Umweltsensor und einem UV-Sensor verbinden. Werden bestimmte Schwellenwerte der gemessenen Daten überschritten, soll dies durch entsprechende Lichtsignale der LEDs angezeigt werden.

Parallel dazu möchten wir auch Daten aus dem Internet einbeziehen und eine App zur Konfiguration des Systems entwickeln. Damit sollen sich die gewünschten Parameter einstellen und die Anzeige an die individuellen Bedürfnisse anpassen lassen.

Mit diesen Versuchen wollen wir herausfinden, wie gut das Konzept im Alltag funktioniert, wie die LED-Anzeigen von den Anwender angenommen werden und welche Farben und Lichtstärken am besten geeignet sind.

Unser Ziel ist es, eine möglichst unauffällige, gut erkennbare und alltagstaugliche Anzeige für relevante Umweltdaten zu entwickeln, die sich intuitiv bedienen lässt und die Träger rechtzeitig auf kritische Messwerte aufmerksam macht.



Die nächsten Schritte: ESP32, BME680 und Blynk

Bei einem weiteren Meeting haben wir die nächsten Schritte für unser Projekt besprochen. Mein Vorschlag war, einen ESP32 in Kombination mit dem BME680-Umweltsensor und der Plattform Blynk für die geplante App zu verwenden.

Die entsprechenden Bauteile lassen sich problemlos auf unserem „Brillen-Add-on“ unterbringen und mit einem LiPo-Akku (Lithium-Polymer-Akku) versorgen.

Um die Umsetzung vorzubereiten und Zeit zu sparen, habe ich mich näher mit Blynk beschäftigt und dazu im Internet recherchiert. Nach meinen bisherigen Erkenntnissen werden wir die App über WLAN mit dem ESP32 verbinden. Eine Verbindung über Bluetooth Low Energy (BLE) ist zwar ebenfalls möglich, erscheint mir für unsere Zwecke aber deutlich aufwendiger. Für die Präsentation sollte WLAN völlig ausreichen. Schließlich sieht man von außen nicht, über welchen Funkweg die Daten übertragen werden.

Ein weiterer Punkt betrifft die sogenannten Energy-Credits („Energy“) von Blynk. Dabei handelt es sich um eine interne Abrechnungseinheit für bestimmte Funktionen und Ressourcen der Plattform. Wenn wir die verfügbaren Bedienelemente, beispielsweise Tasten und Schieberegler, ohne zusätzliche Kosten nutzen möchten, müssen wir eine passende Lösung finden. Eine Möglichkeit wäre, einen eigenen Blynk-Server zu betreiben, beispielsweise auf einem Raspberry Pi. Dadurch könnten wir die laufenden Kosten reduzieren, sofern die gewählte Blynk-Version und deren Lizenzbedingungen dies zulassen.

Bei meinen Recherchen habe ich außerdem herausgefunden, wie sich innerhalb einer App mehrere Seiten einrichten lassen. Damit können wir die verschiedenen Funktionen und Messwerte übersichtlich darstellen und die Bedienung unseres Systems an unsere Anforderungen anpassen.

Damit sind wir der Umsetzung unserer geplanten Steuerungs- und Anzeige-App einen weiteren Schritt näher gekommen.


Neue Hardware und Unterstützung bei der Softwareentwicklung

Unser Projekt schreitet weiter voran. Wir haben Stephan wieder mit ins Boot geholt, damit er uns bei der Softwareentwicklung unterstützt – wobei er die Software eigentlich gleich selbst entwickeln soll.

Wie auch immer: Inzwischen haben wir uns für eine Kombination aus ESP32 und Bluetooth Low Energy (BLE) mit GATT als Grundlage für die Verbindung zwischen den Komponenten unseres „Brillen-Add-ons“ und einem Smartphone entschieden. GATT (Generic Attribute Profile) ermöglicht dabei den strukturierten Austausch von Daten zwischen den Geräten.

Am vergangenen Wochenende sind die letzten benötigten Bauteile eingetroffen. Ich habe daraufhin die Komponenten neu auf unserem Brillen-Add-on angeordnet und montiert.

Der aktuelle Aufbau ist auf den nachfolgenden Bildern zu sehen. Auf dem kleinen Bildausschnitt fehlt allerdings noch eine wichtige Komponente: die SMD-RGB-LED WS2812B im Format 3030.

Damit nimmt unser Prototyp langsam Gestalt an. Als Nächstes geht es darum, die Hardware und die Software zusammenzuführen und die Kommunikation zwischen dem ESP32 und dem Smartphone zum Laufen zu bringen.




 

Der erste Versuchsaufbau

Derzeit ist die Halterung noch provisorisch mit einer kleinen Filmklammer am Brillenbügel befestigt. Das Ganze soll schließlich als „Snap-on“-Lösung ausgeführt werden, also als Aufsatz, der sich einfach an einer Brille befestigen und wieder abnehmen lässt. Hier bin ich allerdings noch auf der Suche nach einer besseren Lösung, damit möglichst viele unterschiedliche Brillenmodelle damit ausgestattet werden können.

Mittlerweile sind alle Bauteile vorläufig platziert. Bevor wir sie endgültig miteinander verbinden, müssen sie jedoch zunächst auf einem Steckbrett ihre Tauglichkeit unter Beweis stellen. Wenn alles wie gewünscht funktioniert, werden wir die einzelnen Komponenten mit dünnem Kupferlackdraht verbinden. Hoffentlich läuft dann alles so, wie wir es uns vorgestellt haben!

In den vergangenen Tagen habe ich außerdem ein ESP32-Systementwicklungsboard (ESP-WROOM-32 / ESP-32S) erhalten und bereits an die Arduino IDE angeschlossen. Um die grundsätzliche Funktionsfähigkeit zu testen, habe ich zunächst den integrierten Hall-Sensor angesprochen.

Das Ergebnis ist vielversprechend: Alles scheint zu funktionieren, und der ESP32 ließ sich mit dem Entwicklungsboard ohne großen Aufwand in Betrieb nehmen.

Als Nächstes werden wir die gesamte Schaltung auf einem Steckbrett aufbauen und den benötigten Programmcode erstellen. Unser Ziel ist es, bis zum 3. Oktober alles fertigzustellen.

Unten sind der erste Versuchsaufbau und einige erste, noch rudimentäre Ausschnitte des Programmcodes zu sehen.




Die Entstehung der Pfurzmessbox

In den darauffolgenden Stunden ist dann die Pfurzmessbox entstanden. Aber warum eigentlich dieser Name?

Mit dem Bosch-Umweltsensor BME680 lassen sich verschiedene gasförmige Stoffe und Veränderungen der Luftqualität erfassen. Leider können die einzelnen Gase damit nicht eindeutig voneinander unterschieden werden. Der Sensor reagiert vielmehr auf eine Vielzahl flüchtiger organischer Verbindungen (VOC) und liefert einen entsprechenden Messwert. Da ein Pfurz bekanntlich auch ein Gemisch verschiedener Gase ist, war der Name für unser Projekt schnell gefunden!

Im Laufe der Weiterentwicklung erhielt die Pfurzmessbox zusätzlich ein 4 × 40 Zeichen großes LCD-Display. Damit lassen sich die Messwerte auch ohne angeschlossenen PC direkt an der Box ablesen.

Inzwischen hat Stephan die fertige Box erhalten. Damit kann er die Software weiterentwickeln, die bisherigen Funktionen testen und eigene Experimente durchführen.

So ist aus unseren ersten Versuchen mit dem Bosch-Sensor ein eigenständiges kleines Messprojekt entstanden – mit einem durchaus ungewöhnlichen Namen und einem praktischen Nutzen für die weitere Entwicklung unserer Software.


Die Brillenhalterung und die Vorbereitung der Präsentation

Parallel dazu arbeite ich weiterhin an der Halterung für die Brille – mittlerweile dürfte ich sie zum zwanzigsten Mal neu konstruieren und aufbauen. Wie das bei Maker-Projekten eben so ist: Kaum glaubt man, eine passende Lösung gefunden zu haben, kommt einem schon wieder eine bessere Idee!

Inzwischen hatten wir auch eine weitere Besprechung, bei der wir die Präsentation für den 3. Oktober 2019 vorbereitet haben. Dabei konnten wir bereits erste Montageversuche mit der Brille auf einem Styroporkopf durchführen.

Für die Präsentation soll der Kopf mit der Demonstrationsbrille in einer IKEA-SYNAS-Plexiglasbox untergebracht werden. Damit können wir unseren Prototypen ordentlich präsentieren und die technische Umsetzung anschaulich zeigen.

Die Entwicklung der App

Neben der Hardware habe ich mich auch mit der Gestaltung der App beschäftigt. Dazu habe ich verschiedene Werkzeuge zur App-Entwicklung ausprobiert, um herauszufinden, womit sich unsere Vorstellungen am besten umsetzen lassen.

Schließlich bin ich bei einem App-Builder hängen geblieben. Nach einigen Stunden Arbeit war ein erster Entwurf fertig, der bereits einen Eindruck davon vermittelt, wie die Benutzeroberfläche später aussehen könnte.

Der aktuelle Stand meines ersten Versuchs ist unten zu sehen.


Das Bedienkonzept der App

Die App ist bewusst einfach gehalten. Im oberen Bereich befindet sich ein größeres Werbebild, das auf unser Projekt aufmerksam machen soll und gleichzeitig als Platzhalter für weitere Sensoren dient.

Darunter ist ein Schalter vorgesehen, mit dem sich die Bluetooth-Low-Energy-Verbindung (BLE) ein- und ausschalten lässt.

Die Bezeichnungen der einzelnen Sensoren sind bereits in den Farben gehalten, in denen später auch die LED die jeweiligen Warnungen anzeigen soll. Über die darunterliegenden Schieberegler lassen sich die Schwellenwerte einstellen, ab denen eine Warnung ausgegeben wird.

Da die Möglichkeiten der verwendeten NeoPixel-RGB-LED nahezu unbegrenzt sind, dürfte es allerdings schwierig werden, sich alle Farben und deren Bedeutungen zu merken. Deshalb soll es eine zweite Seite geben, auf der die verfügbaren Sensoren ausgewählt werden können. Nur die ausgewählten Sensoren werden anschließend auf der ersten Seite angezeigt.

Das großzügig gestaltete Werbebild hat noch einen weiteren Vorteil: Auf der ersten Seite bleibt dadurch genügend Platz, um zusätzliche Sensoren und Messwerte einzubinden. Denkbar wären beispielsweise auch Daten eines Online-Pollenwarndienstes, die direkt aus dem Internet abgerufen werden.

Wenn ich jetzt noch programmieren könnte, wäre die App vielleicht schon einsatzbereit! Leider muss ich diesen Teil Stephan überlassen. Er hat inzwischen seine Version der BLE-Anbindung zum Laufen gebracht. Ich bin gespannt, wie seine Lösung aussehen wird und wie wir unsere beiden Ansätze zusammenführen können.

Die nächste Version der Brillenhalterung

Während Stephan an der Software arbeitet, habe ich mich wieder der Halterung für die Brille gewidmet. Auch hier geht die Entwicklung weiter, und ich habe erneut einige Anpassungen vorgenommen.

Die bislang letzte Version der Halterung sieht folgendermaßen aus:




Der aktuelle Stand der Brillenhalterung

Leider ist die gesamte Konstruktion noch unverkabelt. Hier muss ich zunächst auf die letzte Softwareversion warten, damit ich die Bauteile anschließend korrekt anschließen kann.

Bei diesem Prototyp habe ich bewusst auf die Klemme verzichtet. Es zeigt sich nämlich, dass es ausgesprochen schwierig ist, eine Halterung zu entwickeln, die für alle möglichen Brillenfassungen geeignet ist – wenn das überhaupt machbar ist.

Links neben der bisherigen Anordnung wird zusätzlich der LiPo-Akku angebracht. Wie bisher möchte ich diesen mit O-Ringen befestigen. Das ermöglicht eine einfache, flexible und bei Bedarf leicht lösbare Montage.

Es gab außerdem den Wunsch, sämtliche Komponenten in einem gemeinsamen Gehäuse unterzubringen. Diesen Wunsch werde ich allerdings nicht weiterverfolgen. An diesem Punkt darf sich der „Auftraggeber“ selbst weiter entfalten und austoben. Schließlich soll auch noch Raum für eigene Ideen und Weiterentwicklungen bleiben!

Unsere Präsentation bei den Digital Days

Unten seht ihr unsere Präsentation anlässlich der Digital Days.

Bosch - Air Glasses - Teil 1

Bosch - Air Glasses - Teil 2

Mein Resümee

Wir waren dabei, haben viel Zeit investiert und nette Leute kennengelernt. Allerdings habe ich fachlich kaum etwas Neues gelernt, das ich mir nicht auch ohne diese Veranstaltung hätte aneignen können.

Insgesamt war es eine interessante Erfahrung, auch wenn der persönliche und fachliche Mehrwert für mich eher überschaubar blieb.