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