Bitte entschuldigen Sie mein Deutsch, da ich auf Google Translate angewiesen bin. Es ist auch mein erster Beitrag hier, also hoffe ich, dass ich das richtige Unterforum habe … ???
Ich habe ein Projekt, das einen Man-In-The-Middle-Hack eines seriellen RS232-Datenstroms erfordert.
Das Projekt besteht aus einer Fronius Solar Batterie, die ich über die vom Hersteller unterstützte Konfiguration hinaus erweitert habe. Der Fronius unterstützt maximal 8 Batteriemodule hinter dem Battery Management System.
Ich habe das auf eine sekundäre Bank von 8 erweitert. Die zwei Batteriebänke werden abwechselnd geschaltet, wenn sie voll oder leer sind. Dies funktioniert einwandfrei, außer dass der Wechselrichter einen unnötigen Kalibrierungsladezyklus durchführt, wenn er neue Batterieseriennummern sieht.
Ich möchte die Seriennummern im RS232-Strom (mit einem Raspberry Pi) abfangen und die Seriennummern der neu eingefügten Batteriebank maskieren.
Was ich habe, ist der Datenstrom im ASCII-Format (mit einem Programm namens Termite). Ich kann wiederholte Zeichen sehen, die von 8 Modulen erwartet würden, die alle einen sehr ähnlichen Ladungszustand haben. Aber die Daten sind weitgehend unverständlich.
Ich habe auch den JSON-Ausgang vom Wechselrichter, der die eingehenden seriellen Daten widerspiegelt.
Zusammenfassend habe ich die ausgehenden seriellen Daten (in einem unbekannten Protokoll), aber ich habe auch die Werte, die von den seriellen Daten in einem von Menschen lesbaren JSON-Format gesendet werden.
Ich muss in der Lage sein, die Seriennummern in den rohen seriellen Daten zu erkennen, bevor sie den Wechselrichter erreichen.
Hat jemand Erfahrung darin, einen seriellen Datenstrom mit einem unbekannten Protokoll zu verstehen?