staging.inyokaproject.org

Daten mit RS485 von Wechselrichter auslesen und weiterverarbeiten

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

martin91

Anmeldungsdatum:
15. Juli 2007

Beiträge: 217

Hallo,

ich hoffe die Frage ist okay, auch wenn die Software auf Raspbian und nicht auf Ubuntu läuft:

Gerne würde ich von einem Wechselrichter der Marke KACO, Modell 3500xi die tägliche Energiemenge auslesen und letztlich in einer csv-Datei abspeichern.

Der Wechselrichter ist inzwischen per RS485 mit einem RS485-USB-Adapter verbunden.

Nach dem ausführen von

stty -F /dev/ttyUSB0 -echo raw

lassen sich die Daten des Wechselrichters mit dem Befehl

echo -e "#010\r" > /dev/ttyUSB0 && cat /dev/ttyUSB0

auslesen.

Die Ausgabe lautet dann z. B.

*010   4 407.1  0.87   354 228.3  1.39   313  26    487 | 3500xi

Um nach Ausführen des Befehls wieder gewöhnlich mit dem Terminal interagieren zu können muss ich jedoch STRG+C drücken.

Da mich ausschließlich der Wert, der im Beispiel 487 ist interessiert, würde ich gerne nur diesen weiterverarbeiten. Das bekomme ich bislang aber nur hin, wenn ich die Ausgabe von cat in eine Datei schreibe und anschließend den Inhalt der Datei mit awk bearbeite und das Ergebnis in eine andere Datei abspeichere:

echo -e "#010\r" > /dev/ttyUSB0 && cat /dev/ttyUSB0 > 2020-02-23_K1.txt
awk '{a=a $0}END{print a}' 2020-02-23_K1.txt | awk ' {print $10} ' > 2020-02-23_K1_TagesertragBislang.txt

Jedoch möchte ich den Zwischenschritt mit abspeichern in deine Datei (Im Beispiel: 2020-02-23_K1.txt) vermeiden. Leider verstehe ich nicht, wie ich die Ausgabe von ttyUSB0 an awk anderweitig hinbekommen kann.

Vielen Dank für die Aufmerksamkeit und für Hinweise.

Bearbeitet von rklm:

Falsche Distro-Angabe entfernt

Antworten |