Edge Computing
für Energybox.
Programmierung einer IoT-Steuerungseinheit zur Auswertung von Sensordaten
Energybox ist ein Hersteller von Hard- und Software-Lösungen, mit denen Firmen ihren Energiebedarf überwachen und steuern können. Im Rahmen dieses Projektes haben wir Energybox bei der Implementierung der Temperatursteuerung, der Konzeption einer Simulationsumgebung sowie bei der Verbesserung der Architektur und Wartbarkeit der Software unterstützt.
Projektüberblick
Auftraggeber | Energybox Inc. |
Thema | Edge Computing & IoT |
Motivation | Ein wartbares, testbares, sicheres & robustes Backend |
Team | Softwareentwickler:innen, IT-Architekt (enpit) |
Herausforderung
Mit Hilfe von Sensordaten und Data Analytics hilft Energybox ihren Kund:innen, Strom einzusparen und Lastspitzen im Stromverbrauch zu glätten, um so Kosten zu senken und die Umweltbelastung zu reduzieren. Hierzu wird ein Edge Device vor Ort beim Energybox-Kunden installiert, das als Schnittstelle zwischen den Sensoren und Aktoren der IoT-Devices und der Energybox-Anwendung in der Cloud fungiert. So können auch bei unterbrochener Internetkonnektivität Messdaten ausgewertet und Aktionen ausgeführt werden.
Lösung
Die Herausforderung bestand darin, die bestehende Software und deren Plattform in einem komplexen verteilten IoT-System wartbarer und robuster zu machen. Es sollten weitere Schnittstellen hinzugefügt werden, um Sensordaten auch von Fremdsystemen akquirieren zu können. Die Zusammenarbeit im Projektteam erfolgte dabei ausschließlich remote und über mehrere Zeitzonen hinweg.
Implementierung der Temperatursteuerung
Das Ziel der Temperatursteuerung ist es, die Schwellwerte für die bei Kund:innen bereits installierten Thermostate eines Drittanbieters anzupassen. Dies geschieht abhängig von der Zeit und den gemessenen Temperaturen, soll Energie sparen und teure Lastspitzen ausgleichen.
Verbesserung der System-Robustheit
Durch eine verbesserte Architektur und Implementierung der Anwendung konnte die Robustheit, also die Widerstandsfähigkeit des Systems gegenüber Störungen, gesteigert werden. Dies ist besonders wichtig, da die eingesetzten Systeme bei vielen verschiedenen Kund:innen unter unterschiedlichsten Bedingungen funktionieren müssen.
Verbesserte Wartbarkeit der Codebasis
Indem die Codebasis in funktionale Teile zerlegt wurde, ist es jetzt möglich, sie leichter zu warten und zu erweitern. Das spart in Zukunft Entwicklungsaufwand, erhöht die Sicherheit und Skalierbarkeit sowie die Testbarkeit des Systems.
Konzeption einer Umweltsimulation
Um das gesamte System testen zu können, wurde eine interne Simulationsumgebung konzipiert. Diese erlaubt auch einen Mischbetrieb zwischen realen und simulierten Geräten. Dadurch können ganze Tagesabläufe in wenigen Minuten simuliert werden, was das Testen vereinfacht.