Innehållsförteckning:

Raspberry Pi / DHT11 - Mät luftfuktighet och temperatur: 4 steg
Raspberry Pi / DHT11 - Mät luftfuktighet och temperatur: 4 steg

Video: Raspberry Pi / DHT11 - Mät luftfuktighet och temperatur: 4 steg

Video: Raspberry Pi / DHT11 - Mät luftfuktighet och temperatur: 4 steg
Video: Бесконтактный датчик температуры дальнего действия MLX90614-DCI с Arduino 2024, Juli
Anonim
Raspberry Pi / DHT11 - Mät luftfuktighet och temperatur
Raspberry Pi / DHT11 - Mät luftfuktighet och temperatur

Jag ville mäta temperatur och luftfuktighet med min Raspberry Pi. Jag valde en DHT11 -sensor eftersom den är robust och billig. Att konfigurera det är också väl dokumenterat men det finns ett antal fallgropar på vägen som jag skulle vilja fokusera på.

DHT11 har 4 stift. Den vänstra delen är för Vcc eller positiv (+) pin som är ansluten till Raspberry Pi 3.3V pin. Nästa pin över är datapinnen som måste anslutas till en GPIO -pin på Raspberry Pi. Dessa två stift måste anslutas med ett 4,7K motstånd.

Den tredje tappen från vänster används inte. Den högra och fjärde stiften är den jordade eller negativa stiftet som måste anslutas till en av jordstiftet på Raspberry Pi.

Steg 1: Komponenter krävs

Komponenter krävs
Komponenter krävs

1. Hallon Pi

2. DHT11

3. 4,7k motstånd

4. Olika brödbrädetrådar

5. Brödbräda

Steg 2: Anslut saker

Att ansluta saker
Att ansluta saker
Att ansluta saker
Att ansluta saker

Anslut Raspberry Pi och DHT11 enligt följande:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (data pin) RaspberryPi (GPIO pin - jag använde GPIO22)

DHT11 (3: e stift) Ingen anslutning

DHT11 (-pin) ------ Raspberry Pi (gnd pin)

Steg 3: Installera programvaran

Gör följande från kommandoraden RaspberryPi: (OBS, uteslut inte SUDO)

sudo git -klon

Du borde se - Kloning till 'Adafruit_Python_DHT' … fjärrkontroll: Räkna objekt: 249, klart. fjärrkontroll: Totalt 249 (delta 0), återanvänd 0 (delta 0), pack återanvänd 249 Mottagande objekt: 100% (249/249), 77,01 KiB, klar. Lösa deltor: 100% (142/142), klar.

cd Adafruit_Python_DHT/

sudo apt-get update sudo apt-get install build-essential python-dev python-openssl

ls

Du borde se - Adafruit_DHT -exempel ez_setup.py LICENSE README.md setup.py källa

cd Adafruit_DHT/

Du bör se -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py installera

(Observera att om du går förbi det här steget kan du se ett fel - Traceback (senaste samtalet sist):

Fil "./AdafruitDHT.py", rad 24, i import Adafruit_DHT ImportError: Ingen modul som heter Adafruit_DHT)

cd -exempel

sudo./AdafruitDHT.py 11 22 (11 = DHT11 och 22 = GPIO22 som du valde tidigare)

Du bör se Temp = 18,0* Luftfuktighet = 46,0% (dvs. temperaturen och luftfuktigheten för din miljö)

Steg 4: Vad ska jag göra med utmatningen

Så som vi såg är utgången "Temp = 18,0* Luftfuktighet = 46,0%"

Det finns ett antal sätt på vilka du kan utnyttja denna outpu, till exempel genom att använda den här test -php -filen, test_dht11.php -filen

För det första flyttade jag manuset AdafruitDHT.py till/var/www/.

För att testa och köra php -skriptet, ändra till /var /www och sedan sudo php test_dht11.php

Utmatningen visar två siffror som representerar temperatur och luftfuktighet. Dessa siffror kan skrivas till en databas eller jämföras med varningsgränser och skicka en varning etc

// <? php // uncomment the line above - instructables gillar inte php startkommandot //test_dht11.php

// kör python -fil för att läsa DHT11 temperatursensor

// och extraherar värdena för temperatur och luftfuktighet $ temperatur = 0; $ luftfuktighet = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // extraherar temperatur $ my_pos = strpos ($ test, "Temp =", 0); $ temperatur = substr ($ test, $ my_pos+5, 4); eko "\ n". $ temperatur; // extraherar luftfuktighet $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ luftfuktighet = substrat ($ test, $ my_pos+9, 4); eko "\ n". $ luftfuktighet; ?>

Rekommenderad: