Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
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
1. Raspberry Pi
2. DHT11
3. 4,7k odpor
4. Rôzne drôtené dosky
5. Breadboard
Krok 2: Spojenie 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ť; ?>