Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Chtěl jsem změřit teplotu a vlhkost pomocí svého Raspberry Pi. Vybral jsem snímač DHT11, protože je robustní a levný. Jeho konfigurace je také dobře zdokumentována, ale na cestě je řada úskalí, na která bych se chtěl zaměřit.
DHT11 má 4 piny. Nejvíce vlevo je pro Vcc nebo kladný (+) pin, který je připojen ke kolíku Raspberry Pi 3.3V. Dalším kolíkem je datový pin, který musí být připojen ke kolíku GPIO na Raspberry Pi. Tyto dva piny musí být spojeny pomocí odporu 4,7K.
3. kolík zleva se nepoužívá. Pravý a čtvrtý kolík je zemnící nebo záporný kolík, který musí být připojen k jednomu ze zemnicích kolíků na Raspberry Pi.
Krok 1: Požadované součásti
1. Raspberry Pi
2. DHT11
3. Rezistor 4,7k
4. Různé dráty na prkénko
5. Breadboard
Krok 2: Propojení věcí
Připojte Raspberry Pi a DHT11 následujícím způsobem:
DHT11 (+ pin) RaspberryPi (3,3 V pin)
DHT11 (datový pin) RaspberryPi (GPIO pin - použil jsem GPIO22)
DHT11 (3. pin) Žádné připojení
DHT11 (-pin) ------ Raspberry Pi (gnd pin)
Krok 3: Instalace softwaru
Z příkazového řádku RaspberryPi proveďte následující: (POZNÁMKA, nevynechávejte SUDO)
klon sudo git
Měli byste vidět - Klonování do 'Adafruit_Python_DHT' … vzdálené: Počítání objektů: 249, hotovo. vzdálené: Celkem 249 (delta 0), opakovaně 0 (delta 0), opakovaně použitých 249 Přijímající objekty: 100% (249/249), 77,01 KiB, hotovo. Vyřešení delt: 100% (142/142), hotovo.
cd Adafruit_Python_DHT/
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl
ls
Měli byste vidět - Adafruit_DHT příklady ez_setup.py LICENCE README.md setup.py zdroj
cd Adafruit_DHT/
Měli byste vidět -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
instalace sudo python setup.py
(Všimněte si, že pokud tento krok obejdete, může se zobrazit chyba setkání - Traceback (poslední hovor poslední):
Soubor „./AdafruitDHT.py“, řádek 24, v importu Adafruit_DHT ImportError: Žádný modul s názvem Adafruit_DHT)
cd příklady
sudo./AdafruitDHT.py 11 22 (11 = DHT11 a 22 = GPIO22, který jste vybrali dříve)
Měli byste vidět Temp = 18,0* Vlhkost = 46,0% (tj. Teplota a vlhkost pro vaše prostředí)
Krok 4: Co dělat s výstupem
Takže, jak jsme viděli, výstup je "Teplota = 18,0* Vlhkost = 46,0%"
Existuje několik způsobů, jak můžete tento outpu využít, například pomocí tohoto testovacího php souboru, test_dht11.php souboru
Nejprve jsem přemístil skript AdafruitDHT.py na/var/www/.
Chcete -li otestovat a spustit skript php, přejděte na /var /www a poté sudo php test_dht11.php
Výstup ukazuje dvě čísla představující teplotu a vlhkost. Tato čísla lze zapsat do databáze nebo porovnat s limity varování a odeslat upozornění atd
// <? php // odkomentujte výše uvedený řádek - instructables nemá rád příkaz start php //test_dht11.php
// spustí soubor python pro čtení teplotního senzoru DHT11
// a extrahuje hodnoty teploty a vlhkosti $ teplota = 0; $ vlhkost = 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 vlhkost $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ vlhkost = substr ($ test, $ my_pos+9, 4); echo "\ n". $ vlhkost; ?>