Përmbajtje:

Raspberry Pi / DHT11 - Matni Lagështinë dhe Temperaturën: 4 Hapa
Raspberry Pi / DHT11 - Matni Lagështinë dhe Temperaturën: 4 Hapa

Video: Raspberry Pi / DHT11 - Matni Lagështinë dhe Temperaturën: 4 Hapa

Video: Raspberry Pi / DHT11 - Matni Lagështinë dhe Temperaturën: 4 Hapa
Video: Как использовать LCD LCD1602 с модулем I2C для Arduino - Robojax 2024, Nëntor
Anonim
Raspberry Pi / DHT11 - Matni Lagështinë dhe Temperaturën
Raspberry Pi / DHT11 - Matni Lagështinë dhe Temperaturën

Doja të matja temperaturën dhe lagështinë duke përdorur Raspberry Pi tim. Zgjodha një sensor DHT11 sepse është i fortë dhe i lirë. Konfigurimi i tij është gjithashtu i dokumentuar mirë, por ka një numër kurthesh në rrugën në të cilën do të doja të përqendrohesha.

DHT11 ka 4 kunja. Pjesa më e majtë është për Vcc ose pin pozitiv (+) i cili është i lidhur me kunjën Raspberry Pi 3.3V. Kunja tjetër në të është kunja e të dhënave e cila duhet të lidhet me një kunj GPIO në Raspberry Pi. Këto dy kunja duhet të lidhen duke përdorur një rezistencë 4.7K.

Kunja e 3 -të nga e majta nuk përdoret. Kunja më e djathtë dhe e katërt është kunja e tokëzimit ose negative e cila duhet të lidhet me një nga kunjat e tokëzimit në Raspberry Pi.

Hapi 1: Përbërësit e kërkuar

Përbërësit e kërkuar
Përbërësit e kërkuar

1. Raspberry Pi

2. DHT11

3. Rezistencë 4.7k

4. Tela të ndryshëm të bukës

5. Tabela e bukës

Hapi 2: Lidhja e Gjërave

Lidhja e Gjërave
Lidhja e Gjërave
Lidhja e Gjërave
Lidhja e Gjërave

Lidhni Raspberry Pi dhe DHT11 si më poshtë:

DHT11 (+ pin) RaspberryPi (pin 3.3V)

DHT11 (kunja e të dhënave) RaspberryPi (pin GPIO - kam përdorur GPIO22)

DHT11 (kunja e tretë) Nuk ka lidhje

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

Hapi 3: Instalimi i Softuerit

Nga rreshti i komandës RaspberryPi, bëni sa më poshtë: (SHENIM, mos e lini pas dore SUDO)

sudo git klon

Duhet të shihni - Klonimi në 'Adafruit_Python_DHT' … telekomandë: Numërimi i objekteve: 249, i kryer. telekomandë: Gjithsej 249 (delta 0), të ripërdorura 0 (delta 0), pako të ripërdorura 249 Objekte marrëse: 100% (249/249), 77.01 KiB, e kryer. Zgjidhja e deltave: 100% (142/142), e kryer.

cd Adafruit_Python_DHT/

sudo apt-merrni përditësim sudo apt-get install install-thelbësor python-dev python-openssl

ls

Ju duhet të shihni - Adafruit_DHT shembuj ez_setup.py LICENSE README.md setup.py burim

cd Adafruit_DHT/

Duhet të shihni -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Shënim, nëse e anashkaloni këtë hap atëherë mund të shihni një gabim të takimit - Gjurmimi (thirrja më e fundit e fundit):

Skedari "./AdafruitDHT.py", rreshti 24, në import Adafruit_DHT ImportError: Asnjë modul i quajtur Adafruit_DHT)

cd shembuj

sudo./AdafruitDHT.py 11 22 (11 = DHT11 dhe 22 = GPIO22 që keni zgjedhur më herët)

Ju duhet të shihni Temp = 18.0* Lagështia = 46.0% (dmth. Temperatura dhe lagështia për mjedisin tuaj)

Hapi 4: Çfarë të bëni me daljen

Pra, siç e pamë, dalja është "Temp = 18.0* Lagështia = 46.0%"

Ka një numër mënyrash në të cilat mund ta shfrytëzoni këtë dalje, për shembull duke përdorur këtë skedar testi php, skedar test_dht11.php

Së pari, unë zhvendosa skenarin AdafruitDHT.py në/var/www/.

Për të testuar dhe ekzekutuar skriptin php, ndryshoni në /var /www pastaj sudo php test_dht11.php

Dalja tregon dy numra që përfaqësojnë temperaturën dhe lagështinë. Këta numra mund të shkruhen në një bazë të dhënash, ose të krahasohen me limitet e paralajmërimit dhe të dërgojnë një alarm etj

// <? php // mos komentoni rreshtin e mësipërm - udhëzuesit nuk e pëlqejnë komandën e fillimit të php //test_dht11.php

// ekzekuton skedarin python për të lexuar sensorin e temperaturës DHT11

// dhe nxjerr vlerat e temperaturës dhe lagështisë $ temperature = 0; lagështia $ = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // nxjerr temperaturën $ my_pos = strpos ($ test, "Temp =", 0); $ temperature = substr ($ test, $ my_pos+5, 4); jehona "\ n". temperatura $; // nxjerr lagështi $ my_pos = strpos ($ test, "Lagështia =", $ my_pos); lagështia $ = substr ($ test, $ my_pos+9, 4); jehonë "\ n". lagështia $; ?>

Recommended: