Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Feuchte- und Temperatur-Sensor DHT22
Im folgenden wird beschrieben wie man einen DHT22 am Raspberry Pi anschließt und betreibt.
Sensor anschließen
Dieser benötigt an PIN2 ein Pull up (4,7k - 10k) Widerstand nach 3,3V (GPIO Pin1) und Pin4 Masse (z.B. GPIO Pin 9). Pin2 wird mit einem beliebigen GPIO verbunden (z.B. GPIO23 Pin 16). Achtung: Es gibt auch Ausführungen des Sensors, die den Pull up-Widerstand bereits eingebaut haben.
Software installieren
sudo apt-get install git-core cd ~ git clone git://git.drogon.net/wiringPi cd wiringPi ./build cd .. git clone https://github.com/technion/lol_dht22 cd lol_dht22 ./configure make
Software starten
Die Pin Nummer von wiringPi, in diesem Fall Pin 4, an dem der Sensor angeschlossen ist wird als Parameter mit übergeben.
sudo ./loldht 4 Raspberry Pi wiringPi DHT22 reader www.lolware.net Data not good, skip Humidity = 57.60 % Temperature = 20.40 *C
Kanäle der Middelware
Es wird 1 Kanal für die Temperatur und 1 Kanal für die Luftfeucht benötigt. Siehe: Einrichtung
Script erstellen
nano ~/dht22script.sh
Die IP-Adresse und UUID müssen angepasst werden.
#!/bin/bash WERTE=$( /home/pi/lol_dht22/loldht 4 | grep Humidity) d=`date +%Y-%m-%d-%H-%M` #echo "$d ergebnis $WERTE" >> /home/pi/log_vom_dht22.log Hum=$(echo $WERTE | awk {'print $3'}) Temp=$(echo $WERTE | awk {'print $7'}) if [ "$(echo $Hum| sed 's/\.//g')" -gt "0" ] && [ "$(echo $Hum | sed 's/\.//g')" -lt "10000" ];then echo "Humidity: $Hum" wget -O /dev/null "http://<IP Adresse>/volkszaehler.org/middleware.php/data/<ID vom Sensor>.json?operation=add&value=$Hum" fi echo "Temperature: $Temp" if [ "$(echo $Temp | sed 's/\.//g')" -gt "-2000" ] && [ "$(echo $Temp | sed 's/\.//g')" -lt "5000" ];then wget -O /dev/null "http://<IP Adresse>/volkszaehler.org/middleware.php/data/<ID vom Sensor>.json?operation=add&value=$Temp" fi
Script ausführbar machen
chmod +x ~/dht22script.sh
Script testen
~/dht22script.sh
wenn alles funktioniert müssten nun in der Middelware die ersten Messwerte ankommen.
cronjob
crontab -e
Folgende Zeite hinzufügen. In diesem Fall wird das Script jede volle Stunde ausgeführt.
0 * * * * /home/pi/dht22script.sh