Talaan ng mga Nilalaman:

Raspberry Pi / DHT11 - Sukatin ang Humidity at Temperatura: 4 Hakbang
Raspberry Pi / DHT11 - Sukatin ang Humidity at Temperatura: 4 Hakbang

Video: Raspberry Pi / DHT11 - Sukatin ang Humidity at Temperatura: 4 Hakbang

Video: Raspberry Pi / DHT11 - Sukatin ang Humidity at Temperatura: 4 Hakbang
Video: Non-Contact Long Range MLX90614-DCI Temperature Sensor with Arduino 2024, Hulyo
Anonim
Raspberry Pi / DHT11 - Sukatin ang Humidity at Temperatura
Raspberry Pi / DHT11 - Sukatin ang Humidity at Temperatura

Nais kong sukatin ang temperatura at halumigmig gamit ang aking Raspberry Pi. Pinili ko ang isang sensor ng DHT11 sapagkat ito ay matatag at murang. Ang pag-configure nito ay mahusay na dokumentado ngunit mayroong isang bilang ng mga pitfalls sa paraan kung saan nais kong ituon.

Ang DHT11 ay may 4 na mga pin. Ang kaliwa ay para sa Vcc o positibo (+) na pin na konektado sa Raspberry Pi 3.3V pin. Ang susunod na pin sa kabuuan ay ang data pin na dapat na konektado sa isang GPIO pin sa Raspberry Pi. Ang dalawang mga pin na ito ay dapat na konektado gamit ang isang 4.7K risistor.

Ang ika-3 pin mula sa kaliwa ay hindi ginagamit. Ang kanan at pang-apat na pin ay ang lupa o negatibong pin na dapat na konektado sa isa sa mga ground pin sa Raspberry Pi.

Hakbang 1: Kinakailangan ang Mga Bahagi

Kinakailangan ang Mga Bahagi
Kinakailangan ang Mga Bahagi

1. Raspberry Pi

2. DHT11

3. 4.7k risistor

4. Iba't ibang mga wire ng tinapay sa tinapay

5. Breadboard

Hakbang 2: Pagkonekta ng mga Bagay

Pagkonekta ng Bagay
Pagkonekta ng Bagay
Pagkonekta ng Bagay
Pagkonekta ng Bagay

Ikonekta ang Raspberry Pi at DHT11 tulad ng sumusunod:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (data pin) RaspberryPi (GPIO pin - ginamit ko ang GPIO22)

DHT11 (Ika-3 na pin) Walang koneksyon

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

Hakbang 3: Pag-install ng Software

Mula sa linya ng utos ng RaspberryPi, gawin ang sumusunod: (TANDAAN, huwag alisin ang SUDO)

sudo git clone

Dapat mong makita - Pag-clone sa 'Adafruit_Python_DHT'… remote: Nagbibilang ng mga bagay: 249, tapos na. remote: Kabuuang 249 (delta 0), muling ginamit 0 (delta 0), pack-reused 249 Mga tumatanggap ng mga bagay: 100% (249/249), 77.01 KiB, tapos na. Paglutas ng mga delta: 100% (142/142), tapos na.

cd Adafruit_Python_DHT /

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

ls

Dapat mong makita - Mga halimbawa ng Adafruit_DHT ez_setup.py LICENSE README.md setup.py mapagkukunan

cd Adafruit_DHT /

Dapat mong makita ang -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Tandaan, kung lampasan mo ang hakbang na ito maaari kang makakita ng isang error sa nakatagpo - Traceback (huling pinakahuling tawag):

File "./AdafruitDHT.py", linya 24, sa pag-import ng Adafruit_DHT ImportError: Walang module na pinangalanang Adafruit_DHT)

mga halimbawa ng cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 at 22 = GPIO22 na pinili mo nang mas maaga)

Dapat mong makita ang Temp = 18.0 * Humidity = 46.0% (ibig sabihin ang temperatura at halumigmig para sa iyong kapaligiran)

Hakbang 4: Ano ang Dapat Maging Sa Output

Kaya, tulad ng nakita natin, ang output ay "Temp = 18.0 * Humidity = 46.0%"

Mayroong isang bilang ng mga paraan kung saan maaari mong magamit ang outpu na ito, halimbawa gamit ang test php file na ito, test_dht11.php file

Una, inilipat ko ang script na AdafruitDHT.py to / var / www /.

Upang subukan at patakbuhin ang php script, baguhin sa / var / www pagkatapos ay sudo php test_dht11.php

Ang output ay nagpapakita ng dalawang numero na kumakatawan sa temperatura at halumigmig. Ang mga numerong ito ay maaaring nakasulat sa isang database, o ihinahambing sa mga limitasyon ng babala at magpadala ng isang alerto atbp

// <? php // uncment ang nasa itaas na linya - hindi gusto ng mga instruktor ang php start command //test_dht11.php

// executes python file upang mabasa ang sensor ng temperatura ng DHT11

// at kinukuha ang mga halagang temperatura at halumigmig na $ temperatura = 0; $ halumigmig = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // extracts temperatura $ my_pos = strpos ($ test, "Temp =", 0); $ temperatura = substr ($ test, $ my_pos + 5, 4); echo "\ n". $ temperatura; // extracts halumigmig $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ halumigmig = substr ($ test, $ my_pos + 9, 4); echo "\ n". $ halumigmig; ?>

Inirerekumendang: