Innholdsfortegnelse:

Raspberry Pi / DHT11 - Mål fuktighet og temperatur: 4 trinn
Raspberry Pi / DHT11 - Mål fuktighet og temperatur: 4 trinn

Video: Raspberry Pi / DHT11 - Mål fuktighet og temperatur: 4 trinn

Video: Raspberry Pi / DHT11 - Mål fuktighet og temperatur: 4 trinn
Video: DHT11 Temperature and Humidity sensor with Raspberry Pi 2024, Juli
Anonim
Raspberry Pi / DHT11 - Mål fuktighet og temperatur
Raspberry Pi / DHT11 - Mål fuktighet og temperatur

Jeg ønsket å måle temperatur og fuktighet ved å bruke Raspberry Pi. Jeg valgte en DHT11 -sensor fordi den er robust og billig. Konfigurering er også godt dokumentert, men det er en rekke fallgruver på veien som jeg ønsker å fokusere på.

DHT11 har 4 pinner. Den mest venstre er for Vcc eller positiv (+) pin som er koblet til Raspberry Pi 3.3V pin. Den neste pinnen på tvers er datapinnen som må kobles til en GPIO -pinne på Raspberry Pi. Disse to pinnene må kobles til med en 4,7K motstand.

Den tredje pinnen fra venstre brukes ikke. Den høyre og fjerde pinnen er bakken eller den negative pinnen som må kobles til en av jordpinnene på Raspberry Pi.

Trinn 1: Komponenter påkrevd

Komponenter påkrevd
Komponenter påkrevd

1. Bringebær Pi

2. DHT11

3. 4,7k motstand

4. Ulike brødbrettledninger

5. Brødbrett

Trinn 2: Koble ting sammen

Koble ting sammen
Koble ting sammen
Koble ting sammen
Koble ting sammen

Koble Raspberry Pi og DHT11 som følger:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (datapinne) RaspberryPi (GPIO -pin - jeg brukte GPIO22)

DHT11 (3. pin) Ingen tilkobling

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

Trinn 3: Installere programvaren

Gjør følgende fra RaspberryPi -kommandolinjen: (MERK, ikke utelat SUDO)

sudo git klon

Du bør se - Kloning til 'Adafruit_Python_DHT' … fjernkontroll: Teller objekter: 249, ferdig. fjernkontroll: Totalt 249 (delta 0), gjenbrukt 0 (delta 0), pakke gjenbrukt 249 Mottakende objekter: 100% (249/249), 77,01 KiB, ferdig. Løse deltas: 100% (142/142), ferdig.

cd Adafruit_Python_DHT/

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

ls

Du bør se - Adafruit_DHT eksempler ez_setup.py LISENSRESSE.md setup.py kilde

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 installere

(Vær oppmerksom på at hvis du omgår dette trinnet, kan du se en støtfeil - Traceback (siste samtale sist):

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

cd -eksempler

sudo./AdafruitDHT.py 11 22 (11 = DHT11 og 22 = GPIO22 som du valgte tidligere)

Du bør se Temp = 18,0* Fuktighet = 46,0% (dvs. temperaturen og fuktigheten for miljøet ditt)

Trinn 4: Hva du skal gjøre med utgangen

Så, som vi så, er utgangen "Temp = 18,0* Fuktighet = 46,0%"

Det er en rekke måter du kan utnytte denne outpu på, for eksempel ved å bruke denne test -php -filen, test_dht11.php -filen

For det første flyttet jeg skriptet AdafruitDHT.py til/var/www/.

For å teste og kjøre php -skriptet, bytt til /var /www og deretter sudo php test_dht11.php

Utgangen viser to tall som representerer temperatur og fuktighet. Disse tallene kan skrives til en database, eller sammenlignes med advarselsgrenser og sende et varsel etc

// <? php // uncomment the line above - instructables liker ikke php startkommandoen //test_dht11.php

// utfører python -fil for å lese DHT11 temperatursensor

// og trekker ut temperatur- og fuktighetsverdiene $ temperatur = 0; $ fuktighet = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // trekker ut temperatur $ my_pos = strpos ($ test, "Temp =", 0); $ temperatur = substr ($ test, $ my_pos+5, 4); ekko "\ n". $ temperatur; // trekker ut fuktighet $ my_pos = strpos ($ test, "Fuktighet =", $ my_pos); $ fuktighet = substr ($ test, $ my_pos+9, 4); ekko "\ n". $ fuktighet; ?>

Anbefalt: