Obsah:

Raspberry Pi / DHT11 - Zmerajte vlhkosť a teplotu: 4 kroky
Raspberry Pi / DHT11 - Zmerajte vlhkosť a teplotu: 4 kroky

Video: Raspberry Pi / DHT11 - Zmerajte vlhkosť a teplotu: 4 kroky

Video: Raspberry Pi / DHT11 - Zmerajte vlhkosť a teplotu: 4 kroky
Video: Lesson 37: Using BME280 Humidity, Barometric Pressure and Temperature Sensor 2024, Júl
Anonim
Raspberry Pi / DHT11 - zmerajte vlhkosť a teplotu
Raspberry Pi / DHT11 - zmerajte vlhkosť a teplotu

Chcel som zmerať teplotu a vlhkosť pomocou svojho Raspberry Pi. Vybral som snímač DHT11, pretože je robustný a lacný. Jeho konfigurácia je tiež dobre zdokumentovaná, ale na ceste, na ktorú by som sa chcel zamerať, existuje niekoľko úskalí.

DHT11 má 4 piny. Úplne vľavo je pre Vcc alebo kladný (+) pin, ktorý je pripojený k kolíku Raspberry Pi 3,3 V. Ďalším kolíkom je dátový kolík, ktorý musí byť pripojený k kolíku GPIO na Raspberry Pi. Tieto dva piny musia byť spojené pomocou odporu 4,7 K.

3. kolík zľava sa nepoužíva. Pravý a štvrtý kolík je uzemňovací alebo záporný kolík, ktorý musí byť pripojený k jednému z uzemňovacích kolíkov na Raspberry Pi.

Krok 1: Potrebné súčasti

Vyžadované súčasti
Vyžadované súčasti

1. Raspberry Pi

2. DHT11

3. 4,7k odpor

4. Rôzne drôtené dosky

5. Breadboard

Krok 2: Spojenie vecí

Spájanie vecí
Spájanie vecí
Spájanie vecí
Spájanie vecí

Pripojte Raspberry Pi a DHT11 nasledovne:

DHT11 (+ pin) RaspberryPi (3,3 V pin)

DHT11 (dátový kolík) RaspberryPi (GPIO pin - použil som GPIO22)

DHT11 (3. kolík) Žiadne pripojenie

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

Krok 3: Inštalácia softvéru

Na príkazovom riadku RaspberryPi urobte nasledovné: (POZNÁMKA, nevynechajte SUDO)

klon sudo git

Mali by ste vidieť - Klonovanie do „Adafruit_Python_DHT“… diaľkové: Počítanie objektov: 249, hotovo. diaľkové ovládanie: Celkom 249 (delta 0), opakovane 0 (delta 0), opakovane použitých 249 Prijímajúce objekty: 100% (249/249), 77,01 KiB, hotovo. Vyriešenie deltov: 100% (142/142), hotovo.

cd Adafruit_Python_DHT/

sudo apt-get aktualizácia sudo apt-get install build-essential python-dev python-openssl

ls

Mali by ste vidieť - príklady Adafruit_DHT ez_setup.py LICENCIA README.md setup.py zdroj

cd Adafruit_DHT/

Mali by ste vidieť -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Upozorňujeme, že ak tento krok obídete, môže sa vám zobraziť chyba stretu - Traceback (posledný hovor naposledy):

Súbor „./AdafruitDHT.py“, riadok 24, v importe Adafruit_DHT ImportError: Žiadny modul s názvom Adafruit_DHT)

cd príklady

sudo./AdafruitDHT.py 11 22 (11 = DHT11 a 22 = GPIO22, ktoré ste vybrali skôr)

Mali by ste vidieť Temp = 18,0* Vlhkosť = 46,0% (t.j. teplota a vlhkosť pre vaše prostredie)

Krok 4: Čo robiť s výstupom

Ako sme teda videli, výstup je „Teplota = 18,0* Vlhkosť = 46,0%“

Existuje niekoľko spôsobov, ktorými môžete využiť tento výstup, napríklad pomocou tohto testovacieho súboru php, súboru test_dht11.php

Najprv som premiestnil skript AdafruitDHT.py na/var/www/.

Ak chcete otestovať a spustiť skript php, zmeňte ho na /var /www a potom sudo php test_dht11.php

Výstup ukazuje dve čísla predstavujúce teplotu a vlhkosť. Tieto čísla je možné zapísať do databázy alebo porovnať s výstražnými limitmi a odoslať upozornenie atď

// <? php // odkomentujte vyššie uvedený riadok - instructables sa nepáči príkazu php start //test_dht11.php

// spustí súbor python na čítanie snímača teploty DHT11

// a extrahuje hodnoty teploty a vlhkosti $ teplota = 0; $ vlhkosť = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // extrahuje teplotu $ my_pos = strpos ($ test, "Temp =", 0); $ teplota = substr ($ test, $ my_pos+5, 4); echo "\ n". $ teplota; // extrahuje vlhkosť $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ vlhkosť = substr ($ test, $ my_pos+9, 4); echo "\ n". $ vlhkosť; ?>

Odporúča: