Hallo,
ich habe ein kleines c-Programm welches mir einen Multi-Sensor (Temp, Druck, Feuchte, etc.) ausliest und die Sensorwerte formatiert auf der Konsole ausgibt. Das Programm läuft in einer (Endlos-)schleife. Ausgabe sieht wie folgt aus:
xyz@nnn:~/bsec_bme680_linux $ ./bsec_bme680 'air_properties,room=undefined,test=1 iaq=0.00,temperature=19.98,humidity=67.75,pressure=1013.19' 'air_properties,room=undefined,test=1 iaq=0.00,temperature=19.88,humidity=68.21,pressure=1013.17' 'air_properties,room=undefined,test=1 iaq=0.00,temperature=19.92,humidity=68.09,pressure=1013.22' ...
Nun möchte ich diese Ausgaben zeilenweise per Pipe an curl weiterleiten, um Sie in meiner Influx-Datenbank zu speichern, leider leitet curl nichts weiter. Hier der Aufruf auf der Konsole:
./bsec_bme680 | curl -i -XPOST 'http://192.168.178.44:8086/write?db=metering' --data @-
Ein manuelles senden per echo funktioniert dagegen:
echo 'air_properties,room=undefined,test=1 iaq=0.00,temperature=19.98,humidity=67.75,pressure=1013.19' | curl -i -XPOST 'http://192.168.178.44:8086/write?db=metering' --data @-
Stehe ein bisschen auf dem Schlauch, dachte schon das es an der Schleife liegt, aber andere Programme verarbeiten die Ausgaben zeilenweise wie gewünscht, z.B.:
xyz@nnn:~/bsec_bme680_linux $ ./bsec_bme680 | nl 1 'air_properties,room=undefined,test=1 iaq=0.00,temperature=20.41,humidity=70.34,pressure=1013.15' 2 'air_properties,room=undefined,test=1 iaq=0.05,temperature=19.48,humidity=73.68,pressure=1013.32'
Bin für jeden Hinweis dankbar!
mfg Christian