Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Halusin mitata lämpötilan ja kosteuden Raspberry Pi -laitteellani. Valitsin DHT11 -anturin, koska se on vankka ja halpa. Sen määrittäminen on myös hyvin dokumentoitu, mutta haluan keskittyä tapaan, jossa on useita sudenkuoppia.
DHT11: ssä on 4 nastaa. Vasemmalla puolella on Vcc tai positiivinen (+) -tappi, joka on kytketty Raspberry Pi 3.3V -tapaan. Seuraava nasta on datatappi, joka on liitettävä Raspberry Pi: n GPIO -nastaan. Nämä kaksi nastaa on kytkettävä käyttämällä 4,7K vastusta.
Kolmas tappi vasemmalta ei ole käytössä. Oikein ja neljäs tappi on maadoitus- tai negatiivinen nasta, joka on kytkettävä yhteen Raspberry Pi -laitteen maadoitusliittimistä.
Vaihe 1: Tarvittavat komponentit
1. Vadelma Pi
2. DHT11
3. 4.7k vastus
4. Erilaiset leipälevyn johdot
5. Leipälauta
Vaihe 2: Yhdistä asioita
Liitä Raspberry Pi ja DHT11 seuraavasti:
DHT11 (+ nasta) RaspberryPi (3,3 V: n nasta)
DHT11 (datatappi) RaspberryPi (GPIO -nasta - käytin GPIO22)
DHT11 (3. nasta) Ei yhteyttä
DHT11 (-nasta) ------ Raspberry Pi (gnd pin)
Vaihe 3: Ohjelmiston asentaminen
Tee RaspberryPi -komentoriviltä seuraava: (HUOMAUTUS, älä jätä pois SUDO)
sudo git klooni
Sinun pitäisi nähdä - Kloonaus "Adafruit_Python_DHT"… etänä: Objektien laskeminen: 249, valmis. kaukosäädin: Yhteensä 249 (delta 0), uudelleenkäytetty 0 (delta 0), pakkaus uudelleenkäytetty 249 Vastaanottava objekti: 100% (249/249), 77,01 KiB, valmis. Deltan ratkaiseminen: 100% (142/142), valmis.
cd Adafruit_Python_DHT/
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl
ls
Sinun pitäisi nähdä - Adafruit_DHT esimerkkejä ez_setup.py LISENSSI README.md setup.py -lähde
cd Adafruit_DHT/
Sinun pitäisi nähdä -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
sudo python setup.py install
(Huomaa, jos ohitat tämän vaiheen, saatat nähdä virheen - Traceback (viimeisin puhelu viimeksi):
Tiedosto "./AdafruitDHT.py", rivi 24, tuonnissa Adafruit_DHT ImportError: Ei moduulia nimeltä Adafruit_DHT)
cd esimerkkejä
sudo./AdafruitDHT.py 11 22 (11 = DHT11 ja 22 = GPIO22, jonka valitsit aiemmin)
Sinun pitäisi nähdä lämpötila = 18,0* Kosteus = 46,0% (eli ympäristön lämpötila ja kosteus)
Vaihe 4: Mitä tehdä ulostulolla
Joten, kuten näimme, lähtö on "Lämpötila = 18,0* Kosteus = 46,0%"
Voit käyttää tätä outpu -ohjelmaa useilla tavoilla, esimerkiksi käyttämällä tätä testi -php -tiedostoa, test_dht11.php -tiedostoa
Ensinnäkin muutin komentosarjan AdafruitDHT.py kohteeseen/var/www/.
Testaa ja suorita php -komentosarja muuttamalla /var /www ja sitten sudo php test_dht11.php
Lähtö näyttää kaksi numeroa, jotka edustavat lämpötilaa ja kosteutta. Nämä numerot voidaan kirjoittaa tietokantaan tai verrata varoitusrajoihin ja lähettää hälytys jne
// <? php // poista yllä olevan rivin kommentti - instructables ei pidä php -käynnistyskomennosta //test_dht11.php
// suorittaa python -tiedoston DHT11 -lämpötila -anturin lukemiseksi
// ja poimii lämpötila- ja kosteusarvot $ lämpötila = 0; $ kosteus = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ testi = shell_exec ($ exec_msg); // poimii lämpötilan $ my_pos = strpos ($ test, "Temp =", 0); $ lämpötila = substr ($ testi, $ my_pos+5, 4); echo "\ n". $ lämpötila; // poimii kosteuden $ my_pos = strpos ($ test, "Kosteus =", $ my_pos); $ kosteus = alaraja ($ testi, $ my_pos+9, 4); echo "\ n". $ kosteus; ?>