Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Jeg ønsket å måle temperatur og fuktighet ved å bruke Raspberry Pi. Jeg valgte en DHT11 -sensor fordi den er robust og billig. Konfigurering er også godt dokumentert, men det er en rekke fallgruver på veien som jeg ønsker å fokusere på.
DHT11 har 4 pinner. Den mest venstre er for Vcc eller positiv (+) pin som er koblet til Raspberry Pi 3.3V pin. Den neste pinnen på tvers er datapinnen som må kobles til en GPIO -pinne på Raspberry Pi. Disse to pinnene må kobles til med en 4,7K motstand.
Den tredje pinnen fra venstre brukes ikke. Den høyre og fjerde pinnen er bakken eller den negative pinnen som må kobles til en av jordpinnene på Raspberry Pi.
Trinn 1: Komponenter påkrevd
1. Bringebær Pi
2. DHT11
3. 4,7k motstand
4. Ulike brødbrettledninger
5. Brødbrett
Trinn 2: Koble ting sammen
Koble Raspberry Pi og DHT11 som følger:
DHT11 (+ pin) RaspberryPi (3.3V pin)
DHT11 (datapinne) RaspberryPi (GPIO -pin - jeg brukte GPIO22)
DHT11 (3. pin) Ingen tilkobling
DHT11 (-pin) ------ Raspberry Pi (gnd pin)
Trinn 3: Installere programvaren
Gjør følgende fra RaspberryPi -kommandolinjen: (MERK, ikke utelat SUDO)
sudo git klon
Du bør se - Kloning til 'Adafruit_Python_DHT' … fjernkontroll: Teller objekter: 249, ferdig. fjernkontroll: Totalt 249 (delta 0), gjenbrukt 0 (delta 0), pakke gjenbrukt 249 Mottakende objekter: 100% (249/249), 77,01 KiB, ferdig. Løse deltas: 100% (142/142), ferdig.
cd Adafruit_Python_DHT/
sudo apt-get oppdatering sudo apt-get install build-essential python-dev python-openssl
ls
Du bør se - Adafruit_DHT eksempler ez_setup.py LISENSRESSE.md setup.py kilde
cd Adafruit_DHT/
Du bør se -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
sudo python setup.py installere
(Vær oppmerksom på at hvis du omgår dette trinnet, kan du se en støtfeil - Traceback (siste samtale sist):
Fil "./AdafruitDHT.py", linje 24, i import Adafruit_DHT ImportError: Ingen modul som heter Adafruit_DHT)
cd -eksempler
sudo./AdafruitDHT.py 11 22 (11 = DHT11 og 22 = GPIO22 som du valgte tidligere)
Du bør se Temp = 18,0* Fuktighet = 46,0% (dvs. temperaturen og fuktigheten for miljøet ditt)
Trinn 4: Hva du skal gjøre med utgangen
Så, som vi så, er utgangen "Temp = 18,0* Fuktighet = 46,0%"
Det er en rekke måter du kan utnytte denne outpu på, for eksempel ved å bruke denne test -php -filen, test_dht11.php -filen
For det første flyttet jeg skriptet AdafruitDHT.py til/var/www/.
For å teste og kjøre php -skriptet, bytt til /var /www og deretter sudo php test_dht11.php
Utgangen viser to tall som representerer temperatur og fuktighet. Disse tallene kan skrives til en database, eller sammenlignes med advarselsgrenser og sende et varsel etc
// <? php // uncomment the line above - instructables liker ikke php startkommandoen //test_dht11.php
// utfører python -fil for å lese DHT11 temperatursensor
// og trekker ut temperatur- og fuktighetsverdiene $ temperatur = 0; $ fuktighet = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // trekker ut temperatur $ my_pos = strpos ($ test, "Temp =", 0); $ temperatur = substr ($ test, $ my_pos+5, 4); ekko "\ n". $ temperatur; // trekker ut fuktighet $ my_pos = strpos ($ test, "Fuktighet =", $ my_pos); $ fuktighet = substr ($ test, $ my_pos+9, 4); ekko "\ n". $ fuktighet; ?>