Techblog

Bäume mit dem Internet verbinden – IoT leicht gemacht

 und Nicole Forrai @Nikkol_F auf Twitter
11. März 2020

Für unseren Kunden Green City Solutions haben wir eine IoT-Plattform auf einer leichtgewichtigen technologischen Basis umgesetzt. Dabei wurden Moosbäume, sogenannte CityTrees, mit dem Internet verbunden. In diesem Artikel erfahren Sie, wie unsere Lösung aussieht und ob der leichtgewichtige Ansatz auch für Ihr Projekt geeignet sein könnte.

Lebendiges Moos digital steuern

Luftreinhaltung ist eine Herausforderung in unseren heutigen Städten. Der Lebensraum, in dem sich der moderne Mensch sehr häufig zum Leben, Arbeiten und Lernen bewegt, wird stark durch Luftverschmutzung aus Verkehr und Industrie belastet – eine Mammutaufgabe für Städte und Unternehmen, die sich dieser Verantwortung bewusst sind und nach entsprechenden Lösungsansätzen suchen. Unser Kunde Green City Solutions hat sich dieser Aufgabe angenommen und den CityTree entwickelt, welcher die natürlichen Fähigkeiten von Moosen mit intelligenter IoT-Technologie verbindet.

Das Erfolgsgeheimnis dahinter stammt aus der Natur selbst: CityTrees nutzen die Fähigkeit verschiedener Moosarten, Umweltgifte wie Feinstaub und Stickoxide zu binden, während sie gleichzeitig Sauerstoff produzieren. Kombiniert mit modernster IoT-Technologie liefert der CityTree damit in Echtzeit umfangreiche Leistungs- und Zustandsinformationen sowie Umweltdaten im Umfeld des CityTree. Zudem lässt sich die für Moose lebenserhaltende Aktorik, wie z.B. Wasserversorgung und Ventilation im CityTree, mittels einer Software-Lösung in Form eines Dashboards vollautomatisiert steuern und verwalten.

Agiler Entwicklungsprozess mit einwöchigen Sprints

IoT-Anwendungen bringen oft große Herausforderungen mit sich. Dazu gehören die Authentifizierung der Devices im Backend, die Systemlast und Datenmenge sowie die Skalierbarkeit des Systems. Für den Erfolg des Projekts war es entscheidend, leichtgewichtig und agil vorzugehen, um schnell eine tragfähige Lösung zu entwickeln. Um dem „Startup-Spirit“ bei Green City Solutions gerecht zu werden und möglichst schnell auf neue Anforderungen oder technische Schwierigkeiten reagieren zu können, haben wir uns im Entwicklungsteam für einwöchige Sprints entschieden.

Nachdem wir in einem Story-Mapping die grobe Roadmap für die erste Projektphase aufgelegt haben, galt es, Schnitt und Architektur des Systems festzulegen. Dazu haben wir die Domäne genauer beleuchtet – welche Akteure und Funktionen gibt es im System? Was sind unsere Use-Cases, die wir abbilden müssen? Welche Daten fließen innerhalb des Systems? Wie wollen wir innerhalb des Systems kommunizieren?

In mehreren Workshops haben wir uns mit diesen Fragestellungen beschäftigt. Dabei sind wir von einem ersten Grüne-Wiese-Ansatz mit komplett entkoppelten Systemen, die über einen Message-Broker miteinander kommunizieren, über mehr als fünf Microservices zu einer schlankeren Variante in der Realität angekommen. Für unser Projekt waren sowohl Kosteneffizienz als auch eine hohe initiale Entwicklungsgeschwindigkeit sehr wichtig. Deshalb entschieden wir uns für hochverfügbare, skalierbare Systeme, die synchron kommunizieren, statt für entkoppelte Systeme, die deutlich komplexer in Betrieb, Wartung und Entwicklung sind. Außerdem haben wir die Anzahl der Microservices mit einem Blick auf die Betriebskosten reduziert.

Leichtgewichtig und schnell: Architektur zwischen State-of-the-Art und Tempo

Die entstandene Microservice-Architektur hat sich bewährt. Sie ist einfach zu erweitern und zu warten und aus Kostensicht sehr schlank gehalten. Durch Verwendung von Terraform und Helm war es uns möglich, Cloud-Ressourcen einfach zu verwalten und die notwendige Infrastruktur in wenigen Tagen zu installieren. Zudem haben wir innerhalb kürzester Zeit einen zweiten Cluster hochgezogen, der eine Abgrenzung zwischen Test- und Produktionsumgebung ermöglicht hat. Für viele Bestandteile des Systems wurden „managed“ Cloud-Lösungen eingesetzt, um den Betriebsaufwand möglichst gering zu halten – als Beispiel seien Elastic Cloud und GitLab Cloud genannt.

Als technische Basis für die Microservices haben wir auf Spring Boot mit Java gesetzt. Zwar ist Java nicht per se ein Garant für Geschwindigkeit in der Entwicklung, jedoch erlaubte es unsere mehrjährige Erfahrung in diesem Kontext, schnell Services hochzuziehen, Features sehr effizient zu entwickeln und beinahe Bug-frei zu arbeiten. Alle Microservices wurden als Docker-Container verpackt und in einem Kubernetes-Cluster gehostet.

Für die zentrale Frontend-Anwendung, eine Single Page Application, haben wir auf Vue.js mit dem UI-Framework Vuetify gesetzt. Diese Frameworks ermöglichen eine effiziente Entwicklung auf erprobten Technologie-Stacks. Durch die vielen vorgefertigten UI-Komponenten, die Vuetify bereitstellt, konnten in kürzester Zeit komplexe Oberflächen erstellt werden. Ein zentraler Punkt für die Entscheidung für Vue.js war außerdem, dass es einfach erlernbar ist und wir auf eine hervorragende Dokumentation des Frameworks zurückgreifen konnten. Da Green City Solutions das Projekt auf lange Sicht mit eigenen Entwickler_innen übernehmen wollte, haben wir darauf geachtet, dass sich Entwickler_innen leicht in das Projekt einarbeiten können.

Kernkomponenten des Projekts

Wir haben im Projekt folgende Kernkomponenten entwickelt:

Moss-Environment-Service

Dieser dient als Schnittstelle in die IoT-Welt und weiß, wie die Daten der CityTrees gelesen und die Aktorik gesteuert werden können. Durch die Kapselung der Schnittstelle in diesen Service konnten wir während der Entwicklung die IoT-Platform vom alten Cloud-Anbieter zu Google IoT-Core migrieren.

Scheduler-Service

Eine wichtige Funktionalität, um das Moos am Leben zu erhalten, ist die Steuerung der Aktorik, angepasst an die Außenwelt. Dazu haben wir eine zeitbasierte Steuerung implementiert, die die Aktorik anhand von Konfigurationsprofilen steuern kann.

Authorization-Service

Da das System von verschiedensten Kunden und Nutzergruppen verwendet wird, ist eine feingranulare Autorisierung auf CityTree-Ebene notwendig. Um diese nicht in alle Services zu duplizieren, haben wir sie ausgelagert. Die Autorisierung wurde mittels Keycloak implementiert. Dabei handelt sich um eine bewährte Open-Source-Lösung, die wir auch deshalb gewählt haben, um die Kosten je Autorisierungsanfrage und den Lock-In einer vorhandenen Cloud-Plattform an dieser Stelle zu vermeiden.

Persist2Elastic-Service

Dieser Service hat die Aufgabe, empfangene Sensordaten und Metriken in der Elastic-Cloud zu persistieren und KPIs zu berechnen.

AirCare Cockpit

Die zentrale Frontend-Anwendung des Systems wird mit nginx ausgeliefert. Das Frontend stellt Dashboards mit Sensorwerten bereit, sowie Auswertungen in Form von KPIs, ein Device Management und die „Fernsteuerung“ (Aktorensteuerung) der Moosmodule.

IoT-Lösungen für Ihr Projekt

Unsere IoT-Lösung für Green City Solutions zeigt: Nicht jede IoT-Lösung muss schwergewichtig und teuer zu entwickeln sein. Die Plattform zeichnet sich aus durch Flexibilität und Erweiterbarkeit, und basiert auf sowohl effizienten als auch stabilen Technologien. Außerdem haben wir darauf geachtet, dass neue Entwickler(-Teams) zügig einsteigen können. Wir wollen unseren Kunden schließlich einen guten Start ermöglichen, an einem Vendor-Lock-In sind wir nicht interessiert. Durch die Voraussetzungen und nicht zuletzt unsere langjährige Erfahrung mit IoT-Projekten jeder Größe konnten wir in kürzester Zeit eine tragfähige und kostengünstige Lösung für Green City Solutions implementieren.

 

Kommentare

Ich möchte meine Begeisterung an dieser Stelle aussprechen.

Von  der ersten Kick off Veranstaltung mit gegenseitigem kennenlernen, über den, wie wurde er genannt, "1. Daten Durchstich " habe ich eine absolut präzise und nachvollziehbare SCRUM Projekt Arbeit auf höchstem Niveau wahrgenommen.

Innerhalb kürzester Zeit konnte die erste Software Version mit der dazugehörigen Hardware vereint und getestet werden.

Eine große Herausforderung, die grandios mit bestechendem Ergebnis realisiert wurde.

Heute, am 12.3.2020, ist der City Tree CT2020 mit der Dashboard Lösung von Maiborn Wolff im Herzens Berlins, vor dem Bikini Haus der Öffentlichkeit und dem Markt mit einem sehr positiven Echo vorgestellt worden.

Ein großes Dankeschön an alle Beteiligten von Maiborn Wolff.

Peter Puhlmann

CTO

Green City Solutions GmbH  

 

Neuen Kommentar schreiben

Public Comment form

  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd><p><h1><h2><h3>

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.

ME Landing Page Question