Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Htio sam mjeriti temperaturu i vlažnost pomoću svog Raspberry Pi. Odabrao sam DHT11 senzor jer je robustan i jeftin. Konfiguriranje je također dobro dokumentirano, ali na putu bih se htio usredotočiti na brojne zamke.
DHT11 ima 4 pina. Krajnji lijevi dio je za Vcc ili pozitivni (+) pin koji je spojen na pin 3.3V Raspberry Pi. Sljedeći pin preko je pin za podatke koji mora biti spojen na GPIO pin na Raspberry Pi. Ova dva pina moraju biti povezana pomoću 4,7K otpornika.
3. iglica s lijeve strane se ne koristi. Krajnji desni i četvrti pin je uzemljeni ili negativni pin koji mora biti spojen na jedan od uzemljnih pinova na Raspberry Pi -u.
Korak 1: Potrebne komponente
1. Malina Pi
2. DHT11
3. 4.7k otpornik
4. Različite žice za matične ploče
5. Oglasna ploča
Korak 2: Povezivanje stvari
Povežite Raspberry Pi i DHT11 na sljedeći način:
DHT11 (+ pin) RaspberryPi (pin 3.3V)
DHT11 (pin za podatke) RaspberryPi (GPIO pin - koristio sam GPIO22)
DHT11 (3. pinski) Nema veze
DHT11 (-pin) ------ Raspberry Pi (gnd pin)
Korak 3: Instaliranje softvera
U komandnoj liniji RaspberryPi učinite sljedeće: (NAPOMENA, ne izostavljajte SUDO)
klon sudo git
Trebali biste vidjeti - Kloniranje u 'Adafruit_Python_DHT' … daljinski: Brojanje objekata: 249, gotovo. daljinski: Ukupno 249 (delta 0), ponovno korišteno 0 (delta 0), ponovno pakiranje 249 Objekti koji primaju: 100% (249/249), 77,01 KiB, učinjeno. Rješavanje delta: 100% (142/142), učinjeno.
cd Adafruit_Python_DHT/
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl
ls
Trebali biste vidjeti - Adafruit_DHT primjeri ez_setup.py LICENCA README.md setup.py izvor
cd Adafruit_DHT/
Trebali biste vidjeti -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
sudo python setup.py install
(Napomena: ako zaobiđete ovaj korak, možda ćete vidjeti grešku nailaska - Traceback (posljednji zadnji poziv):
Datoteka "./AdafruitDHT.py", red 24, u uvozu Adafruit_DHT ImportError: Nema modula po imenu Adafruit_DHT)
cd primjeri
sudo./AdafruitDHT.py 11 22 (11 = DHT11 i 22 = GPIO22 koje ste ranije odabrali)
Trebali biste vidjeti Temp = 18,0* Vlažnost = 46,0% (tj. Temperatura i vlažnost za vašu okolinu)
Korak 4: Šta uraditi sa izlazom
Dakle, kao što smo vidjeli, izlaz je "Temp = 18,0* Vlažnost = 46,0%"
Postoji nekoliko načina na koje možete upotrijebiti ovaj izlaz, na primjer pomoću ove testne php datoteke, datoteke test_dht11.php
Prvo sam preselio skriptu AdafruitDHT.py u/var/www/.
Da biste testirali i pokrenuli php skriptu, promijenite na /var /www, a zatim sudo php test_dht11.php
Izlaz prikazuje dva broja koji predstavljaju temperaturu i vlažnost. Ti se brojevi mogu zapisati u bazu podataka ili uporediti s ograničenjima upozorenja i poslati upozorenje itd
// <? php // raskomentirajte gornju liniju - instructables ne voli naredbu php start //test_dht11.php
// izvršava python datoteku za očitavanje temperaturnog senzora DHT11
// i izdvaja vrijednosti temperature i vlažnosti $ temperature = 0; $ vlažnost = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // ekstrahira temperaturu $ my_pos = strpos ($ test, "Temp =", 0); $ temperature = substr ($ test, $ my_pos+5, 4); echo "\ n". $ temperature; // izvlači vlažnost $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ vlažnost = substr ($ test, $ my_pos+9, 4); echo "\ n". $ vlažnost; ?>