LED-Cube goes IoT

Der von uns realisierte Demonstrator für den LED-Cube weist alle Aspekte und Funktionalitäten eines IoT-Produktes auf.

 

Überzeugendes Konzept

Der Demonstrator besteht aus den drei Teilen Frontend, Backend und Embedded Hardware.

  1. Über das Frontend kann die Anwendung gesteuert und deren Status angezeigt werden.
  2. Im Backend stellt der Device Hub ein MQTT-Broker zur Verfügung und verwaltet die Embedded Geräte für das Frontend. Ausserdem werden im Azure Blob Storage die Daten (Animationen und Updates) abgelegt. Der Device Hub ist gleichzeitig ein MQTT-Broker, welcher die Messages von der Embedded Hardware empfängt und verarbeitet.
  3. Der LED-Cube wird als Embedded Hardware zum anschaulichen Gadget für Messeauftritte.

Abbildung 1: Übersicht IoT Anwendung LED-Cube

Verwendete Technologien

Mit dem Demonstrator wird nicht nur die technische Applikation realisiert. Ziel ist es auch, Einblicke in die Verwendung der untenstehenden Technologien zu erhalten. Dies beschränkt sich nicht nur auf die Anwendung, sondern auch den Entwicklungsprozess mit Azure DevOps.

KomponenteVerwendete Technologie
WebsiteAngular, Node.js, Javascript, HTML / CSS
HostingAzure App Services, Kubernetes Service
Device HubMessage Broker (MQTT, JSON), Twin (JSON), PostgreSQL, .NET, RESTful API
Blob StorageAzure Blob Storage
LED-Cube.NET nanoFramework, C#
CI / CD ToolchainAzure DevOps

Implementierter Funktionsumfang

Für den LED-Cube wurden folgende Funktionalitäten implementiert:

FunktionalitätBeschreibung
Verwaltung mehrerer WürfelJeder Würfel weist eine eigene ID auf, womit es möglich ist, mehrere Würfel anwendungsspezifisch zu verwalten.
Steuerung des WürfelsMittels Play, Pause, Stop und Skip Button im Frontend kann die aktuell abgespielte Animations-Playlist gesteuert werden.
Verwaltung der Animationen und PlaylistsÜber das Frontend können sämtliche auf dem Würfel verfügbaren Animationen und die aktuelle Playlist angezeigt und verwaltet werden.
Continuous Integration und DeploymentMit den Pipelines in Azure DevOps ist es möglich, alle Softwarekomponenten des Demonstrators zu kompilieren und deployen.
Remote Software UpdateDie Software auf dem LED-Cube kann über die Webseite aktualisiert werden.

Kommunikationsablauf am Beispiel “Playlist aufspielen”

Eine Playlist enthält mehrere Animationen, die eine definierte Reihenfolge haben. Wird diese Playlist auf den LED-Cube geladen, sieht der Kommunikationsablauf folgendermassen aus:

Abbildung 2: Kommunikationsablauf "Playlist aufspielen"

An diesem Beispiel erkennt man, wie die einzelnen Komponenten während dem Herunterladen der Playlist zusammenspielen. Die zentrale Stelle ist dabei der Device Hub. Er bietet, mit dem MQTT-Broker und dem Twin, Schnittstellen zur Webseite und dem LED-Cube an.

Fazit

Die einzelnen Technologien sind isoliert betrachtet normalerweise relativ rasch verstanden und mit Hilfe einer Demo ausgetestet. Anleitungen dazu findet man im Internet ja zur Genüge. Die Herausforderung liegt vielmehr in der Verknüpfung der einzelnen Teile. Diesen Aspekt konnte mit der überschaubaren Funktionalität des Demonstrators erfolgreich durchgespielt werden. Somit hat der LedCube nicht einfach nur ein paar neue Features erhalten. Die Applikation ist vielmehr ein Hilfsmittel Technologien und Vorgehensweisen anhand des verständlichen Beispiels nachvollziehen zu können. Verwendete Lösungsansätze können nun direkt in Kundenprojekten angewandt werden.

Kontaktiere uns