Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:sensors:dht22

Dies ist eine alte Version des Dokuments!


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
hardware/channels/sensors/dht22.1510414995.txt.gz · Zuletzt geändert: 2017/11/11 16:43 von ruperts