Der Smart Energy Identifier

Software Engineering Projekt im Wintersemester 2017/2018

Zusammen mit der Firma PPC entwickelten wir den Smart Energy Identifier. Dieser soll als Kontrolleinheit in einer Ladesäule für Elektoautos fungieren. Es soll in Zukunft möglich sein den getankten Strom nicht nur pauschal abzurechnen, sondern mit Hilfe des Stromtarifs und der Geschwindigkeit des Ladevorgangs berechnet werden.




Das Team


Team Logo




Der Auftraggeber

Die Power Plus Communications AG (PPC), mit Sitz in Mannheim, ist der führende Anbieter von Smart Meter Gateways und Kommunikationstechnik für die Digitalisierung der Energiewende. PPC verfügt über herausragende Kompetenz im Energie-, Netzwerk- und Telekommunikationsbereich sowie in der Software- und Hardwareentwicklung. Seit der Gründung führen die beiden Vorstände Ingo Schönberg und Eugen Mayer das Unternehmen. Die PPC beschäftigt heute mehr als 60 Mitarbeiter.

Weiteres zu PPC hier.



Das Projekt

Die Firma Power Plus Communications (PPC) bietet bereits diverse Produkte die intelligentes Messsystems (iMSyss) ermöglichen. Dieses Projekt beschäftigt sich mit der Integration eines Moduls zum Betreiben einer Ladeeinrichtung für Elektroautos in ein solches System. Dazu soll auf der Hardware eines Smart Meter Gateways (SMGWs) der so genannte Smart Energy Identifier (SEI) entwickelt werden. Dieses Modul soll einem Kunden ermöglichen, sich an einer Ladesäule zu authentifizieren und sein Elektroauto zu laden. Mit diesem Projekt hat sich Urs Glaubitt, im Folgenden der Auftraggeber genannt, an die TU Darmstadt gewandt.

Das Modul muss dazu wie ein herkömmlicher Stromzähler in das iMSys integriert werden. Das bedeutet es muss innerhalb des Lokales Metrologisches Netz (LMN) Daten per Smart Message Language (SML) an das SMGW senden, es muss ein Zugang für einen Service-Techniker geschaffen werden und das Modul muss über das Controllable Local System (CLS) vom Charge Point Operator (CPO) administriert werden können.

Zudem müssen die Vorgaben des Bundesamt für Sicherheit in der Informationstechnik (BSI) bezüglich Anforderungen für den sicheren Einsatz von intelligenten Messsystemen eingehalten werden. Dazu muss jede Verbindung die das SEI eingeht mit kryptographischen Methoden abgesichert werden.

Die Herausforderung des Projekts besteht darin, dass eine Ladesäule nicht wie ein üblicher digitaler Stromzähler in das iMSys integriert werden kann. Im Gegensatz zu herkömmlichen Stromzählern findet bei der Ladesäule eine Interaktion mit einem Kunden statt, der authentifiziert werden muss und den Ladevorgang unterbrechen oder vorzeitig beenden kann.

Das SEI soll einen Kunden durch die RFID-Karte mit Zertifikaten des CPO authentifizieren können und anschließend die Kundennummer an das SMGW übertragen. Am SMGW ist auch der Zähler der Ladeeinrichtung angeschlossen. Das SMGW kann anschließend die Zählerdaten mitsamt Kundennummer an den CPO übertragen. So kann der Ladevorgang einem Verbraucher zugeordnet und dementsprechend Tarifiert werden.

Als Entwickler können wir auf das System per Secure Shell (SSH) mit root-Rechten Zugreifen. Es handelt sich um ein embedded-PTXDist-Linux, das PPC in der selben Form bereits für das SMGW verwendet. Bei der Hardware handelt es sich um ein ARMv5-Board. Ein Großteil des Speichers (außer /usr/local/) ist persistent. Beim Start des Systems wird das Skript /usr/local/bin/custom.sh aufgerufen. Dieses kann durch die Entwickler angepasst werden um ein bestimmtes Verhalten nach einem Neustart zu erzeugen. Eine Paketverwaltung ist mit Open Package Management (OPKG) vorhanden, sodass die Software zu einem Debian-Package gepackt und installiert werden kann.

Auf Grund der geringen Rechenleistung (ARM926EJ-S mit ~226 BogoMIPS), des begrenzten Speichers (~250MB Arbeitsspeicher, ~200MB freier Festspeicher) und der hardwarenahen Anforderungen wird die SEI-Software fast ausschließlich aus C und C++ Komponenten bestehen.




Lessons Learned




Technologien

verwendete Programmiersprache

Kommunikionstool

Verwaltung der Anforderungen

Repository

Emailkonto, Kalender, Kontakte

Unit Test Engine

Cross-/Compiler