Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
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
1. Avietė Pi
2. DHT11
3. 4.7k rezistorius
4. Įvairūs duonos lentos laidai
5. Duonos lenta
2 žingsnis: dalykų sujungimas
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ė; ?>