Turinys:

Raspberry Pi / DHT11 - išmatuokite drėgmę ir temperatūrą: 4 žingsniai
Raspberry Pi / DHT11 - išmatuokite drėgmę ir temperatūrą: 4 žingsniai

Video: Raspberry Pi / DHT11 - išmatuokite drėgmę ir temperatūrą: 4 žingsniai

Video: Raspberry Pi / DHT11 - išmatuokite drėgmę ir temperatūrą: 4 žingsniai
Video: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, Lapkritis
Anonim
Raspberry Pi / DHT11 - išmatuokite drėgmę ir temperatūrą
Raspberry Pi / DHT11 - išmatuokite drėgmę ir temperatūrą

Norėjau išmatuoti temperatūrą ir drėgmę naudodami savo „Raspberry Pi“. Aš pasirinkau DHT11 jutiklį, nes jis yra tvirtas ir pigus. Jos konfigūravimas taip pat yra gerai dokumentuotas, tačiau šiame kelyje yra keletas spąstų, į kuriuos norėčiau atkreipti dėmesį.

DHT11 turi 4 kaiščius. Kairėje yra Vcc arba teigiamas (+) kaištis, prijungtas prie Raspberry Pi 3.3V kaiščio. Kitas kaištis yra duomenų kaištis, kuris turi būti prijungtas prie „Raspberry Pi“GPIO kaiščio. Šie du kaiščiai turi būti sujungti naudojant 4,7K rezistorių.

Trečiasis kaištis iš kairės nenaudojamas. Dešinysis ir ketvirtasis kaištis yra įžeminimo arba neigiamas kaištis, kuris turi būti prijungtas prie vieno iš „Raspberry Pi“įžeminimo kaiščių.

1 žingsnis: reikalingi komponentai

Privalomi komponentai
Privalomi komponentai

1. Avietė Pi

2. DHT11

3. 4.7k rezistorius

4. Įvairūs duonos lentos laidai

5. Duonos lenta

2 žingsnis: dalykų sujungimas

Sujungiantys dalykai
Sujungiantys dalykai
Sujungiantys dalykai
Sujungiantys dalykai

Prijunkite Raspberry Pi ir DHT11 taip:

DHT11 (+ kaištis) „RaspberryPi“(3,3 V kontaktas)

DHT11 (duomenų smeigtukas) RaspberryPi (GPIO kaištis - naudojau GPIO22)

DHT11 (3 kontaktas) Nėra ryšio

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

3 žingsnis: Įdiekite programinę įrangą

RaspberryPi komandų eilutėje atlikite šiuos veiksmus: (PASTABA, nepraleiskite SUDO)

sudo git klonas

Turėtumėte pamatyti - Klonavimas į „Adafruit_Python_DHT“… nuotolinis: skaičiuojami objektai: 249, padaryta. nuotolinis: iš viso 249 (delta 0), pakartotinai panaudota 0 (delta 0), pakartotinai panaudota 249 Priėmimo objektai: 100% (249/249), 77,01 KiB, padaryta. Deltos išsprendimas: 100% (142/142), padaryta.

cd Adafruit_Python_DHT/

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

ls

Turėtumėte pamatyti - „Adafruit_DHT“pavyzdžiai ez_setup.py LICENCIJA README.md setup.py šaltinis

cd Adafruit_DHT/

Turėtumėte pamatyti -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py įdiegti

(Atkreipkite dėmesį, jei apeisite šį veiksmą, galite pamatyti klaidą - „Traceback“(paskutinis paskutinis skambutis):

Failas „./AdafruitDHT.py“, 24 eilutė, importuojant „Adafruit_DHT ImportError“: nėra modulio, pavadinto „Adafruit_DHT“)

cd pavyzdžiai

sudo./AdafruitDHT.py 11 22 (11 = DHT11 ir 22 = GPIO22, kurį pasirinkote anksčiau)

Turėtumėte matyti Temp = 18,0* Drėgmė = 46,0% (t. Y. Jūsų aplinkos temperatūra ir drėgmė)

4 žingsnis: ką daryti su išvestimi

Taigi, kaip matėme, išėjimas yra „Temp = 18,0* Drėgmė = 46,0%“

Yra keletas būdų, kaip panaudoti šią išeigą, pavyzdžiui, naudojant šį bandomąjį php failą, test_dht11.php failą

Pirma, perkeliau scenarijų AdafruitDHT.py į/var/www/.

Norėdami išbandyti ir paleisti php scenarijų, pakeiskite į /var /www, tada sudo php test_dht11.php

Išvestyje rodomi du skaičiai, rodantys temperatūrą ir drėgmę. Šiuos skaičius galima įrašyti į duomenų bazę arba palyginti su įspėjimų ribomis ir išsiųsti įspėjimą ir pan

// <? php // nekomentuokite aukščiau pateiktos eilutės - instructables nepatinka php start komanda //test_dht11.php

// vykdo python failą, kad nuskaitytų DHT11 temperatūros jutiklį

// ir išskiria temperatūros ir drėgmės vertes $ temperature = 0; $ drėgmė = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // ištraukia temperatūrą $ my_pos = strpos ($ test, "Temp =", 0); $ temperatūra = substr ($ testas, $ my_pos+5, 4); echo "\ n". $ temperatūra; // ištraukia drėgmę $ my_pos = strpos ($ test, "Drėgmė =", $ my_pos); $ drėgmė = substr ($ test, $ my_pos+9, 4); echo "\ n". $ drėgmė; ?>

Rekomenduojamas: