1
0
Fork 0
This repository has been archived on 2024-06-28. You can view files and clone it, but cannot push or open issues or pull requests.
Umweltdatenmessung/export.sh

135 lines
6.8 KiB
Bash
Raw Normal View History

2013-12-27 09:33:23 +01:00
#!/bin/bash
2014-01-18 10:28:38 +01:00
zufall=0
PFAD="/var/www/" #Pfad zum Web-Verzeichnis
2014-02-16 11:14:45 +01:00
r=0 # Backup-Zahl auf Null setzen
IFS="; " #Spezial-Variable, enthält Trennzeichen zum Trennen von Luftdruck und -temperatur
2014-02-16 13:24:46 +01:00
gpio mode 13 out # gelb
gpio mode 12 out # rot
gpio mode 3 out #grün
2014-02-22 10:51:50 +01:00
gpio write 13 0 # alle ausschalten
gpio write 12 0
gpio write 3 0
if [ $1 ] # if- und case- Abfrage für Startparameter
2013-12-27 09:33:23 +01:00
then
case "$1" in
"-d")rm /home/pi/Temperaturmessung/dygraph.csv
2013-12-27 09:33:23 +01:00
;;
2014-01-18 10:28:38 +01:00
"-h") echo -e "-d csv-Datei leeren \nfür weitere Informationen siehe http://lukaswiki.onpw.de/rasp oder https://github.com/Findus23/Temperaturmessung"
2013-12-27 09:33:23 +01:00
exit 1
;;
*) echo "unbekannter Parameter - Für Hilfe -h"
exit
;;
esac
fi
while true
do
2014-02-16 13:24:46 +01:00
gpio write 3 1
2014-02-22 10:51:50 +01:00
uhrzeit=$(date +%Y/%m/%d\ %H:%M:%S)
2014-03-01 13:02:13 +01:00
uhrzeit_display=$(date +%d.%m\ %H:%M:%S)
uhrzeit_lang=$(date +%d.%m.%y\ %H:%M:%S)
2014-01-18 10:28:38 +01:00
#zufall=$(($zufall + $((RANDOM % 10)) - 5)) # a um eine zufällige Zahl zwischen -5 und 5 ändern
2013-12-27 09:33:23 +01:00
##a=a+[Zufallszahl von 0-32767] modulo 10 (um eine Zahl von 0-10 zu bekommen) -5 (-> -5 bis 5)
2014-01-18 10:28:38 +01:00
#zufall=$a
#load=$(cut -c 1,2,3,4 /proc/loadavg) # Load messen
2014-01-17 20:34:05 +01:00
rasp=$(/opt/vc/bin/vcgencmd measure_temp | cut -c 6,7,8,9) #Betriebstemberatur messen
2014-01-18 10:28:38 +01:00
#cpu=$(sensors |grep Core\ 0 |cut -c 18,19,20,21) #CPU-Temperatur, lm-sensors muss installiert sein, bei jedem PC anders
temp1=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-000802b53835/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l) #Innentemperatur
2014-02-16 10:55:08 +01:00
while [ "$temp1" == "-1.250" ] || [ "$temp1" == "85.000" ] || [ "$temp1" == "85.000" ]
do
echo "----Temp1: $temp1"
temp1=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-00080277abe1/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l)
done
temp2=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-00080277a5db/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l) #Gerätesensor 1
2014-02-16 10:55:08 +01:00
while [ "$temp2" == "-1.250" ] || [ "$temp2" == "85.000" ] || [ "$temp2" == "85.000" ]
do
echo "----Temp2: $temp2"
temp2=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-00080277a5db/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l)
done
temp3=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-000802b4635f/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l) #Außensensor
2014-02-16 10:55:08 +01:00
while [ "$temp3" == "-1.250" ] || [ "$temp3" == "85.000" ] || [ "$temp3" == "85.000" ]
do
echo "----Temp3: $temp3"
temp3=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-000802b4635f/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l)
done
temp4=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-00080277a5db/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l) #Gerätesensor 2
2014-02-16 10:55:08 +01:00
while [ "$temp3" == "-1.250" ] || [ "$temp4" == "85.000" ] || [ "$temp4" == "85.000" ]
do
echo "----Temp4: $temp4"
temp4=$(echo "scale=3; $(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-00080277a5db/w1_slave | awk -F 't=' '{print $2}') / 1000" | bc -l)
done
2014-02-22 10:51:50 +01:00
luft_roh=$(sudo python /home/pi/Temperaturmessung/Fremddateien/Adafruit_DHT.py 2302 17) # Rohdaten des Luftfeuchtigkeits-Sensors
set -- $luft_roh
luft_temp=$1
luft_feucht=$2
while [ -z "$luft_roh" ] || [ "$(echo $luft_temp '>' 40 | bc -l)" -eq 1 ] || [ "$(echo $luft_temp '<' -20 | bc -l)" -eq 1 ]
2014-01-17 20:34:05 +01:00
do
echo "----Luft: $luft_roh"
luft_roh=$(sudo python /home/pi/Temperaturmessung/Fremddateien/Adafruit_DHT.py 2302 17) # Rohdaten des Luftfeuchtigkeits-Sensors
set -- $luft_roh
luft_temp=$1
luft_feucht=$2
2014-01-17 20:34:05 +01:00
done
druck_roh=$(sudo python /home/pi/Temperaturmessung/Fremddateien/Adafruit_BMP085_auswertung.py) # Rohdaten des Luftdruck-Sensors
set -- $druck_roh #Zerlegen mithilfe von IFS (siehe ganz oben)
temp_druck=$1
druck=$2
2014-02-22 10:51:50 +01:00
gpio write 12 1
qualitat=$(sudo /home/pi/Temperaturmessung/Fremddateien/airsensor -v -o)
2014-02-28 16:32:01 +01:00
if [ "$qualitat" = "0" ]
then
qualitat=""
fi
2014-02-16 13:24:46 +01:00
gpio write 12 0
gpio write 3 0
gpio write 13 1
2014-02-22 10:51:50 +01:00
ausgabe=${uhrzeit}\,${temp1}\,${temp2}\,${temp3}\,${temp4}\,${luft_temp}\,${luft_feucht}\,${druck}\,${temp_druck}\,${rasp},${qualitat}
echo $ausgabe >>/home/pi/Temperaturmessung/dygraph.csv
2014-02-22 10:51:50 +01:00
echo "$uhrzeit ${temp1},${temp2},${temp3},${temp4},${luft_temp},${luft_feucht},${druck},${temp_druck},${rasp},${qualitat}" #Ausgabe des aktuellen Wertes im Terminal
2014-02-15 22:07:55 +01:00
echo "Uhrzeit:" >/home/pi/Temperaturmessung/text.txt.temp #Anzeigen für Display
2014-03-01 13:02:13 +01:00
echo "$uhrzeit_display" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Innentemperatur" >>/home/pi/Temperaturmessung/text.txt.temp
2014-03-01 13:02:13 +01:00
temp1_r=$(echo $temp1 |rev | cut -c 3- |rev)
echo "$temp1_r (C)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Geraetetemp 1" >>/home/pi/Temperaturmessung/text.txt.temp
2014-03-01 13:02:13 +01:00
temp2_r=$(echo $temp2 |rev | cut -c 3- |rev)
echo "$temp2_r (C)" >>/home/pi/Temperaturmessung/text.txt.temp
echo "Bodentemperatur" >>/home/pi/Temperaturmessung/text.txt.temp
temp3_r=$(echo $temp3 |rev | cut -c 3- |rev)
echo "$temp3_r (C)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Geraetetemp 2" >>/home/pi/Temperaturmessung/text.txt.temp
2014-03-01 13:02:13 +01:00
temp4_r=$(echo $temp4 |rev | cut -c 3- |rev)
echo "$temp4_r (C)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Temperatur/Luft" >>/home/pi/Temperaturmessung/text.txt.temp
2014-03-01 13:02:13 +01:00
luft_temp_r=$(echo $luft_temp |rev | cut -c 3- |rev)
echo "$luft_temp_r (C)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Luftfeuchte" >>/home/pi/Temperaturmessung/text.txt.temp
2014-03-01 13:02:13 +01:00
luft_feucht_r=$(echo $luft_feucht |rev | cut -c 3- |rev)
echo "$luft_feucht_r % rF" >>/home/pi/Temperaturmessung/text.txt.temp
echo "Aussentemperatur" >>/home/pi/Temperaturmessung/text.txt.temp
temp_druck_r=$(echo $temp_druck |rev | cut -c 2- |rev)
echo "$temp_druck_r (C)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Luftdruck" >>/home/pi/Temperaturmessung/text.txt.temp
2014-03-01 13:02:13 +01:00
druck_r=$(echo $druck |rev | cut -c 2- |rev)
echo "$druck_r (hPa)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-15 22:07:55 +01:00
echo "Prozessor" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-16 13:24:46 +01:00
echo "$rasp (C)" >>/home/pi/Temperaturmessung/text.txt.temp
2014-02-22 10:51:50 +01:00
echo "Luftqualitat" >>/home/pi/Temperaturmessung/text.txt.temp
echo "$qualitat" >>/home/pi/Temperaturmessung/text.txt.temp
echo "$uhrzeit_lang,${temp1_r},${temp2_r},${temp3_r},${temp4_r},${luft_temp_r},${luft_feucht_r},${temp_druck_r},${druck_r},${rasp},${qualitat}" >/home/pi/Temperaturmessung/text_ws.txt # Daten für Webseite
sudo cp /home/pi/Temperaturmessung/text_ws.txt ${PFAD}text_ws.txt
2014-02-15 22:07:55 +01:00
mv /home/pi/Temperaturmessung/text.txt.temp /home/pi/Temperaturmessung/text.txt
sudo cp /home/pi/Temperaturmessung/dygraph.csv ${PFAD}dygraph.csv
2014-02-16 13:24:46 +01:00
gpio write 13 0
2013-12-27 09:33:23 +01:00
sleep 8 # kurz warten
r=$(($r +1)) # Anzahl der Durchläufe zählen
if [ "$r" == "1000" ] # und alle 1000 Durchgänge Sicherung anfertigen
2013-12-30 11:21:14 +01:00
then
cp /home/pi/Temperaturmessung/dygraph.csv /home/pi/Temperaturmessung/dygraph.csv.bak
2014-02-16 11:14:45 +01:00
python /home/pi/Temperaturmessung/Fremddateien/send.py "l.winkler23@me.com" "Backup" "" "/home/pi/Temperaturmessung/dygraph.csv" &
2013-12-30 11:21:14 +01:00
echo "Backup"
r=0
2013-12-30 11:21:14 +01:00
fi
2013-12-27 09:33:23 +01:00
done