Hi,
ich hab seit ein paar Tagen meinen Raspberry und jetzt auch Ubuntu als OS.
Ich habe folgendes Skript geschrieben:
test.sh gibt ausgabe von dht in variable und checkt ob richtig ist (längere ausgabe) und schreibt in MYSQL.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | size=0 while [ $size -le 50 ] do test=$(dht 11 4) time=$(date +%s) size=${#test} temp=${test:$size-17:2} humidity=${test:$size-4:2} echo "nope" if test $size -ge 50; then echo "$size" echo "$time" echo "$temp" echo "$humidity" echo "INSERT INTO test (time,temp,humidity) VALUES ('$time', '$temp', '$humidity');" | mysql -uxx -pxx xx; fi sleep 1 done |
#!/bin/bash
Die while nutze ich eigentlich um die falschen Messwerte (nope) solange zu wiederholen bis ich ergebnisse habe. Habe es aber derzeit zweckentfremdet um einfach einen loop zu haben.
Fragen:
1)Ist es effektiver das Skript alle x minuten mit watch oder cronjob aufzurufen und einmal durchlaufen zu lassen oder zu Systemstart zu starten und eben einen endlosen Loop mit sleep zwischen den Messungen zu nutzen? Oder gibt noch bessere Möglichkeiten?
2)Das Skript erfordert sudo (für das dht commando), was müsste ich beachten wenn ich es in den Systemstart legen möchte?
3)Wie kann ich das Skript im Hintergrund ausführen und laufen lassen? Hab schon "sudo ./test.sh &" probiert, bzw "watch -n5 sudo ./test.sh &" aber das funktioniert nicht so richtig. Ich bekomme immer noch ab und an die Ausgaben in mein Terminal und beim abmelden (bin per ssh auf dem PI) stirbt das Skript.
4)Sonstige Vorschläge? Ich möchte gerne was lernen und das war jetzt einfach mein erster Test bei der ganzen Sache.
Zum Projekt: Der Pi soll die Temperatur in nem Intervall (zwischen alle 10s bis 5min) loggen und ich möchte es später mit jpdraw in einer Webseite ausgeben.