Spisu treści:

Raspberry Pi / DHT11 - Pomiar wilgotności i temperatury: 4 kroki
Raspberry Pi / DHT11 - Pomiar wilgotności i temperatury: 4 kroki

Wideo: Raspberry Pi / DHT11 - Pomiar wilgotności i temperatury: 4 kroki

Wideo: Raspberry Pi / DHT11 - Pomiar wilgotności i temperatury: 4 kroki
Wideo: Domoticz + MySensors czujnik temperatury DHT11 DHT22 Arduino + Raspberry Pi 2024, Listopad
Anonim
Raspberry Pi / DHT11 - Pomiar wilgotności i temperatury
Raspberry Pi / DHT11 - Pomiar wilgotności i temperatury

Chciałem zmierzyć temperaturę i wilgotność za pomocą mojego Raspberry Pi. Wybrałem czujnik DHT11, ponieważ jest wytrzymały i tani. Konfiguracja jest również dobrze udokumentowana, ale na drodze jest wiele pułapek, na których chciałbym się skupić.

DHT11 ma 4 piny. Najbardziej po lewej stronie jest pin Vcc lub dodatni (+), który jest podłączony do pinu Raspberry Pi 3.3V. Następny pin w poprzek to pin danych, który musi być podłączony do pinu GPIO na Raspberry Pi. Te dwa piny muszą być połączone za pomocą rezystora 4,7K.

Trzeci pin od lewej nie jest używany. Prawy i czwarty pin to uziemienie lub pin ujemny, który należy podłączyć do jednego z pinów uziemienia na Raspberry Pi.

Krok 1: Wymagane komponenty

Wymagane komponenty
Wymagane komponenty

1. Raspberry Pi

2. DHT11

3. Rezystor 4,7k

4. Różne przewody płytki stykowej

5. Deska do krojenia chleba

Krok 2: Łączenie rzeczy

Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy

Połącz Raspberry Pi i DHT11 w następujący sposób:

DHT11 (+ pin) RaspberryPi (pin 3.3V)

DHT11 (pin danych) RaspberryPi (pin GPIO - użyłem GPIO22)

DHT11 (3. pin) Brak połączenia

DHT11 (- pin) ------ Raspberry Pi (pin masowy)

Krok 3: Instalacja oprogramowania

Z wiersza poleceń RaspberryPi wykonaj następujące czynności: (UWAGA, nie pomijaj SUDO)

sudo git klon

Powinieneś zobaczyć - Klonowanie do 'Adafruit_Python_DHT'… Remote: Liczenie obiektów: 249, gotowe. zdalne: Razem 249 (delta 0), ponownie wykorzystane 0 (delta 0), ponownie wykorzystane 249 Odbieranie obiektów: 100% (249/249), 77,01 KiB, gotowe. Rozwiązujące delty: 100% (142/142), gotowe.

cd Adafruit_Python_DHT/

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

ls

Powinieneś zobaczyć - przykłady Adafruit_DHT ez_setup.py LICENCJA README.md setup.py source

cd Adafruit_DHT/

Powinieneś zobaczyć -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py zainstalować

(Uwaga, jeśli pominiesz ten krok, możesz zobaczyć błąd napotkania - Traceback (ostatnie wywołanie jako ostatnie):

Plik "./AdafruitDHT.py", wiersz 24, w imporcie Adafruit_DHT ImportError: Brak modułu o nazwie Adafruit_DHT)

przykłady cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 i 22=GPIO22, które wybrałeś wcześniej)

Powinieneś zobaczyć Temp=18,0* Wilgotność=46,0% (tj. temperatura i wilgotność dla twojego środowiska)

Krok 4: Co zrobić z wyjściem

Tak więc, jak widzieliśmy, wyjście to „Temp=18,0* Wilgotność=46,0%”

Istnieje wiele sposobów wykorzystania tego wyjścia, na przykład za pomocą tego testowego pliku php, pliku test_dht11.php

Najpierw przeniosłem skrypt AdafruitDHT.py do /var/www/.

Aby przetestować i uruchomić skrypt php, zmień na /var/www, a następnie sudo php test_dht11.php

Wyjście pokazuje dwie liczby reprezentujące temperaturę i wilgotność. Liczby te można zapisać w bazie danych lub porównać z limitami ostrzegawczymi i wysłać alert itp

//<? php // odkomentuj powyższą linię - instructables nie lubi polecenia php start //test_dht11.php

// wykonuje plik Pythona do odczytu czujnika temperatury DHT11

//i wyodrębnia wartości temperatury i wilgotności $temperature=0; $wilgotność=0; $moja_pozycja=0; $exec_msg="sudo /var/www/AdafruitDHT.py 11 22 2>&1"; $test = shell_exec($exec_msg); //wyciąga temperaturę $my_pos = strpos($test, "Temp=", 0); $temperatura = substr($test, $moja_poz+5, 4); echo "\n ".$temperatura; //pobiera wilgotność $my_pos = strpos($test, "Humidity=", $my_pos); $wilgotność = substr($test, $moja_poz+9, 4); echo "\n ".$wilgotność; ?>

Zalecana: