D
Diablo665
Grünschnabel
Hallo zusammen!
Ich bin gerade an einem kleinen privaten Projekt am Werkeln, das sich um Wetterdatenmgmt dreht. Dazu verwende ich einen Wetterdatenempfänger (USB-WDE1), welcher an meinem Raspberry Pi (mit Respian) hängt und von verschiedenen Sensoren Daten bekommt. Um diese Daten langfristig zu speichern und mit diesen auch Grafiken erstellen zu können, verwende ich rrdtools, eine Round Robin Datenbank. Bis dahin läuft auch alles wunderbar ... Zum Auslesen und Speichern der Daten vom Empfänger in die .rrd Datenbank habe ich ein kleines Skipt entdeckt, welches genau diese Schritte ausführt bzw. ausführen sollte.
Und jetzt zu meinem Problem:
Beim Ausführen des bash Skripts bekomme ich folgende Fehlermeldung:
Der Code dazu sieht wie folgt aus:
Der Empfänger liefert folgende Daten:
Jede Zeile stellt einen kompletten Datensatz dar, der aus 25 durch Semikolon getrennten Feldern besteht. Die ersten drei Felder sind unveränderlich, dann folgen die Temperaturmeßwerte (°C) von acht Sensoren und dann die Feuchtewerte dieser acht Sensoren. Danach kommen Temperatur, Luftfeuchte, Windgeschwindigkeit, Niederschlag und Regensensor eines Kombisensors. Das letzte Feld mit dem unveränderlichen Wert 0 steht für das Ende des Datensatzes.
Ich hoffe, es kann mir jemand auf die Sprünge helfen!
Thx,
Manuel
Ich bin gerade an einem kleinen privaten Projekt am Werkeln, das sich um Wetterdatenmgmt dreht. Dazu verwende ich einen Wetterdatenempfänger (USB-WDE1), welcher an meinem Raspberry Pi (mit Respian) hängt und von verschiedenen Sensoren Daten bekommt. Um diese Daten langfristig zu speichern und mit diesen auch Grafiken erstellen zu können, verwende ich rrdtools, eine Round Robin Datenbank. Bis dahin läuft auch alles wunderbar ... Zum Auslesen und Speichern der Daten vom Empfänger in die .rrd Datenbank habe ich ein kleines Skipt entdeckt, welches genau diese Schritte ausführt bzw. ausführen sollte.
Und jetzt zu meinem Problem:
Beim Ausführen des bash Skripts bekomme ich folgende Fehlermeldung:
Code:
/root/scripts/weather_script_01: 8: /root/scripts/weather_script_01: [[: not found
Der Code dazu sieht wie folgt aus:
Code:
#!/bin/bash
# Receive remote weather data from USB-WDE1 and store it into database
# Loop forever to read data from USB-WDE1
socat /dev/ttyUSB0,b19200 STDOUT | \
while read line
do
if [[ "${line%%;*}" == '$1' ]] ; then
# format data
tmp=`echo "${line#?1;1;}" | tr ';,' ':.'`
data=`echo "N${tmp%%0}" | sed 's/::/:U:/g' | sed 's/::/:U:/g'`
data=${data%%:}
# update rrd
rrdtool update /root/scripts/weather.rrd $data
fi
done
Der Empfänger liefert folgende Daten:
Code:
$1;1;;25,8;26,0;25,9;;;;;;59;57;62;;;;;;18,6;81;0,0;32;0;0
Jede Zeile stellt einen kompletten Datensatz dar, der aus 25 durch Semikolon getrennten Feldern besteht. Die ersten drei Felder sind unveränderlich, dann folgen die Temperaturmeßwerte (°C) von acht Sensoren und dann die Feuchtewerte dieser acht Sensoren. Danach kommen Temperatur, Luftfeuchte, Windgeschwindigkeit, Niederschlag und Regensensor eines Kombisensors. Das letzte Feld mit dem unveränderlichen Wert 0 steht für das Ende des Datensatzes.
Ich hoffe, es kann mir jemand auf die Sprünge helfen!
Thx,
Manuel