Laden...

Hilfe für SOAP (OCPPv1.5) in verbindung mit Mikrocontrollern (Backend)

Erstellt von Neuling_Dani vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.738 Views
N
Neuling_Dani Themenstarter:in
2 Beiträge seit 2016
vor 7 Jahren
Hilfe für SOAP (OCPPv1.5) in verbindung mit Mikrocontrollern (Backend)

Hallo zusammen,

ich hoffe mal das ich hier richtig bin und das mir einige User weiterhelfen können!
Ich beschäftige mich derzeit mit Ladesäulen für Elektrovehicle von der Firma Mennekes und möchte dafür herausfinden wie SOAP bzw. OpenChargePointProtocol, basierend auf SOAP, funktioniert.

**Problemstellung: **
Meine Ladesäule bietet mir zur Übertragung von verschiedensten Daten die Möglichkeit an, ein OCPP v1.5 Übertragungsprotokoll zu verwenden, damit die Ladesäule mit einem geeigneten Backend kommunizieren kann.
Nun kenne ich mich in keinster weise mit diesem oder ähnlichen Protokollen aus! 😁
Allerdings habe ich von den Entwicklern dieses Protokolls eine wsdl.txt Datei in der quasi alles für die Übertragung mit diesem Protokoll definiert ist. Siehe Link!

OCPP 1.5 Central system service WSDL + OCPP 1.5 Chargepoint service WSDL

Frage/n:

  • Wie und mit was binde ich nun diese/s Datei/Protokoll ein um eine Kommunikation zwischen meiner Ladesäule und dem Backend (vorraussichtlich ein Mikrocontroller [Pi/Adruino]) herzustellen ?(

  • Gibt es Software die dieses Protokoll liest und verarbeitet ?(

  • Habt ihr Tutorials/Links usw. mit dem ich verstehe wie dieses SOAP funktioniert ?(

Bitte habt etwas Rücksicht was Fachbegriffe usw. angeht, ich bin ganz neu in diesem Gebiet und versteh derzeit nur Bahnhof 😁

PS: Ich beschäftige mich damit weil, ich derzeit ein Konzept für eine Firma erstellen soll in der es darum geht wie und mit was man die Daten aus der Ladesäule auslesen und verarbeiten kann!

Vielen Dank im vorraus.

T
708 Beiträge seit 2008
vor 7 Jahren

Hallo Dani,

prinzipiell ist SOAP recht einfach gehalten. Es werden per http oder https sog. Soap-Envelops übertragen.
Die sind vereinfacht gesagt nichts anderes als ein XML.

Dieses XML muss einem bestimmten Vertrag entsprechen, den die WSDL vorgibt.
Um das nicht manuell bauen zu müssen, kannst Du eine WSDL direkt in Visual Studio einbinden und daraus automatisch Klassen generieren lassen.
Um bei der XML-Struktur zu bleiben, kannst Du auch SoapUI verwenden. Das wird Dir vermutlich mehr beim Verständnis helfen, da Du siehst wie die Anfrage aussieht und wie das Ergebnis zurück kommt.

Die Links sind leider nicht zugreifbar...

N
Neuling_Dani Themenstarter:in
2 Beiträge seit 2016
vor 7 Jahren

Das heißt ich kann in Visual Studio ein Programm in C/C++ schreiben, dass nur den "Richtlinien" der WSDL Datei entspricht und damit (die Frage ist jetzt nur wie?) kommuniziere ich dann über Computer/Mikrocontroller mit der Ladesäule?

PS: Links wurden editiert!

16.842 Beiträge seit 2008
vor 7 Jahren

Dein Download für die Spezifikationen braucht eine Anmeldung.
Dazu bin zB. ich nicht bereit.

Die Spezifikationen liegen als SOAP und JSON vor; ebenso die entsprechenden Schnittstellen.

SOAP ist noch weit verbreitet; wird bei modernen Anwendungen nur wenn möglich vermieden - zu große Nachteile wie zB. der riesige Overhead und die umständliche Programmierung verglichen zu JSON...
Ich würde bei der Auswahl SOAP vs. JSON mich definitiv für JSON entscheiden.

1.029 Beiträge seit 2010
vor 7 Jahren

Hi,

im Prinzip kannst du (unter Visual Studio) wie auf folgender Seite beschrieben vorgehen:
How to: Add a Reference to a Web Service

Heraus kommt dann irgendeine generierte Klasse - dein Client. Von diesem Client erzeugst du eine Instanz - und kannst verschiedene Funktionen aufrufen die dir entsprechende Resultate zurückgeben wobei im Endeffekt über diese Soap-Envelopes Serverfunktionen aufgerufen werden, die dir deine Ergebnisse zurückschicken. Letztendlich wird mit dieser Funktionalität einfach sehr viel abstrahiert. Du merkst quasi nicht, dass du auf einen Webserver zugreifst.

Abt möchte ich an der Stelle Recht geben und dir den selben Rat geben:
Nimm die JSON-Schnittstelle - die ist um Welten unkomplizierter - und gerade wenn du beabsichtigst einen Arduino für diese Kommunikation einzusetzen wirst du es da um ein Vielfaches einfacher haben. Soap war soweit ich mich erinnere ohnehin dafür gedacht, dass man hiermit Aufrufe die Transaktionen etc. pp. kontrollieren kann - wenn ich richtig gelesen habe kann man von diesen Säulen allerdings nur simpel Daten abholen - und dafür würde ich auch den simpelsten Weg einschlagen.

LG