Sisukord:

Raspberry Pi / DHT11 - Mõõtke niiskust ja temperatuuri: 4 sammu
Raspberry Pi / DHT11 - Mõõtke niiskust ja temperatuuri: 4 sammu

Video: Raspberry Pi / DHT11 - Mõõtke niiskust ja temperatuuri: 4 sammu

Video: Raspberry Pi / DHT11 - Mõõtke niiskust ja temperatuuri: 4 sammu
Video: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, Juuli
Anonim
Raspberry Pi / DHT11 - Mõõtke niiskust ja temperatuuri
Raspberry Pi / DHT11 - Mõõtke niiskust ja temperatuuri

Tahtsin oma Raspberry Pi abil temperatuuri ja niiskust mõõta. Valisin DHT11 anduri, kuna see on vastupidav ja odav. Selle seadistamine on samuti hästi dokumenteeritud, kuid sellel teel on mitmeid lõkse, millele tahaksin keskenduda.

DHT11 -l on 4 tihvti. Vasak pool on Vcc või positiivse (+) tihvti jaoks, mis on ühendatud Raspberry Pi 3,3 V pistikuga. Järgmine tihvt on andmestik, mis tuleb ühendada Raspberry Pi GPIO -pistikuga. Need kaks tihvti tuleb ühendada 4,7K takisti abil.

Vasakpoolset 3. tihvti ei kasutata. Parempoolne ja neljas tihvt on maandus- või negatiivne tihvt, mis tuleb ühendada ühe Raspberry Pi maandusnõelaga.

Samm: nõutavad komponendid

Nõutavad komponendid
Nõutavad komponendid

1. Vaarika Pi

2. DHT11

3. 4.7k takisti

4. Erinevad leivaplaadi juhtmed

5. Leivalaud

2. samm: asjade ühendamine

Asjade ühendamine
Asjade ühendamine
Asjade ühendamine
Asjade ühendamine

Ühendage Raspberry Pi ja DHT11 järgmiselt.

DHT11 (+ tihvt) RaspberryPi (3,3 V pin)

DHT11 (andmeside) RaspberryPi (GPIO pin - kasutasin GPIO22)

DHT11 (3. tihvt) Ühendust pole

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

Samm: tarkvara installimine

Tehke RaspberryPi käsurealt järgmist: (MÄRKUS, ärge jätke SUDO välja)

sudo git kloon

Te peaksite nägema - Kloonimine 'Adafruit_Python_DHT' … kaugjuhtimispult: objektide loendamine: 249, valmis. kaugjuhtimispult: kokku 249 (delta 0), taaskasutatud 0 (delta 0), pakendis taaskasutatud 249 Vastuvõtvad objektid: 100% (249/249), 77,01 KiB, valmis. Deltade lahendamine: 100% (142/142), tehtud.

cd Adafruit_Python_DHT/

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

ls

Te peaksite nägema - Adafruit_DHT näited ez_setup.py Litsents README.md setup.py allikas

cd Adafruit_DHT/

Peaksite nägema -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Pange tähele, kui te sellest sammust mööda lähete, võidakse kuvada tõrge - Traceback (viimane kõne viimati):

Fail "./AdafruitDHT.py", rida 24, importimisel Adafruit_DHT ImportError: ükski moodul nimega Adafruit_DHT)

cd näited

sudo./AdafruitDHT.py 11 22 (11 = DHT11 ja 22 = GPIO22, mille valisite varem)

Te peaksite nägema Temp = 18,0* Niiskus = 46,0% (st teie keskkonna temperatuur ja niiskus)

4. samm: mida teha väljundiga

Niisiis, nagu nägime, on väljund "Temp = 18,0* Niiskus = 46,0%"

Selle outpu rakendamiseks on mitmeid viise, näiteks kasutades seda testi php -faili, test_dht11.php -faili

Esiteks kolisin skripti AdafruitDHT.py asukohta/var/www/.

PHP skripti testimiseks ja käivitamiseks muutke failiks /var /www ja seejärel sudo php test_dht11.php

Väljund näitab kahte numbrit, mis tähistavad temperatuuri ja niiskust. Neid numbreid saab kirjutada andmebaasi või võrrelda hoiatuspiiridega ja saata hoiatus jne

// <? php // tühista ülaltoodud rida - juhistele ei meeldi käsk php start //test_dht11.php

// käivitab Pythoni faili, et lugeda DHT11 temperatuuriandurit

// ja ekstraheerib temperatuuri ja niiskuse väärtused $ temperature = 0; $ niiskus = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // ekstraheerib temperatuuri $ my_pos = strpos ($ test, "Temp =", 0); $ temperatuur = substr ($ test, $ my_pos+5, 4); echo "\ n". $ temperatuur; // eemaldab niiskuse $ my_pos = strpos ($ test, "Niiskus =", $ my_pos); $ niiskust = alamstr ($ test, $ my_pos+9, 4); kaja "\ n". $ niiskus; ?>

Soovitan: