Indholdsfortegnelse:

Raspberry Pi / DHT11 - Mål luftfugtighed og temperatur: 4 trin
Raspberry Pi / DHT11 - Mål luftfugtighed og temperatur: 4 trin

Video: Raspberry Pi / DHT11 - Mål luftfugtighed og temperatur: 4 trin

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

Jeg ville måle temperatur og fugtighed ved hjælp af min Raspberry Pi. Jeg valgte en DHT11 -sensor, fordi den er robust og billig. Konfiguration af det er også veldokumenteret, men der er en række faldgruber på den måde, som jeg gerne vil fokusere på.

DHT11 har 4 ben. Til venstre er mest til Vcc eller positiv (+) pin, der er forbundet til Raspberry Pi 3.3V pin. Den næste pin på tværs er datapinden, som skal forbindes til en GPIO -pin på Raspberry Pi. Disse to ben skal tilsluttes ved hjælp af en 4,7K modstand.

Den tredje pin fra venstre bruges ikke. Den højre og fjerde pin er den jordede eller negative pin, som skal forbindes til en af jordstifterne på Raspberry Pi.

Trin 1: Komponenter påkrævet

Komponenter påkrævet
Komponenter påkrævet

1. Hindbær Pi

2. DHT11

3. 4,7k modstand

4. Forskellige brødbrætstråde

5. Brødbræt

Trin 2: Tilslut ting

Forbind ting
Forbind ting
Forbind ting
Forbind ting

Tilslut Raspberry Pi og DHT11 som følger:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (data pin) RaspberryPi (GPIO pin - jeg brugte GPIO22)

DHT11 (3. pin) Ingen forbindelse

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

Trin 3: Installation af softwaren

Gør følgende fra kommandolinjen RaspberryPi: (BEMÆRK, udelad ikke SUDO)

sudo git klon

Du bør se - Kloning til 'Adafruit_Python_DHT' … fjernbetjening: Tæller objekter: 249, udført. fjernbetjening: I alt 249 (delta 0), genbrugt 0 (delta 0), pakke genbrugt 249 Modtagende objekter: 100% (249/249), 77,01 KiB, udført. Løsning af deltaer: 100% (142/142), udført.

cd Adafruit_Python_DHT/

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

ls

Du bør se - Adafruit_DHT eksempler ez_setup.py LICENSE README.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 installation

(Bemærk, hvis du omgår dette trin, kan du muligvis se en stødefejl - Traceback (seneste opkald sidste):

Fil "./AdafruitDHT.py", linje 24, i import Adafruit_DHT ImportError: Intet modul ved navn 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* Fugtighed = 46,0% (dvs. temperaturen og luftfugtigheden for dit miljø)

Trin 4: Hvad skal jeg med output

Så som vi så, er output "Temp = 18,0* Fugtighed = 46,0%"

Der er en række måder, hvorpå du kan udnytte denne outpu, f.eks. Ved hjælp af denne test php -fil, test_dht11.php -fil

For det første flyttede jeg scriptet AdafruitDHT.py til/var/www/.

For at teste og køre php -scriptet skal du ændre til /var /www og derefter sudo php test_dht11.php

Outputtet viser to tal, der repræsenterer temperatur og fugtighed. Disse tal kan skrives til en database eller sammenlignes med advarselsgrænser og sende en advarsel osv

// <? php // afkommenter ovenstående linje - instruktører kan ikke lide php startkommandoen //test_dht11.php

// udfører python -fil for at læse DHT11 temperatursensor

// og udtrækker temperatur- og fugtighedsværdierne $ temperatur = 0; $ luftfugtighed = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // udtrækker temperatur $ my_pos = strpos ($ test, "Temp =", 0); $ temperatur = substr ($ test, $ my_pos+5, 4); ekko "\ n". $ temperatur; // udtrækker luftfugtighed $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ luftfugtighed = substr ($ test, $ my_pos+9, 4); ekko "\ n". $ luftfugtighed; ?>

Anbefalede: