Isi kandungan:

Raspberry Pi / DHT11 - Ukur Kelembapan dan Suhu: 4 Langkah
Raspberry Pi / DHT11 - Ukur Kelembapan dan Suhu: 4 Langkah

Video: Raspberry Pi / DHT11 - Ukur Kelembapan dan Suhu: 4 Langkah

Video: Raspberry Pi / DHT11 - Ukur Kelembapan dan Suhu: 4 Langkah
Video: TUTORIAL SENSOR SUHU DHT11 ARDUINO - ARDUINO PROJECT INDONESIA - BELAJAR ARDUINO - TUTRIAL ARDUINO 2024, Julai
Anonim
Raspberry Pi / DHT11 - Mengukur Kelembapan dan Suhu
Raspberry Pi / DHT11 - Mengukur Kelembapan dan Suhu

Saya mahu mengukur suhu dan kelembapan menggunakan Raspberry Pi saya. Saya memilih sensor DHT11 kerana ia kuat dan murah. Mengkonfigurasikannya juga didokumentasikan dengan baik tetapi terdapat beberapa perangkap dalam perjalanan yang ingin saya fokuskan.

DHT11 mempunyai 4 pin. Yang paling kiri adalah untuk pin Vcc atau positif (+) yang disambungkan ke pin Raspberry Pi 3.3V. Pin seterusnya adalah pin data yang mesti disambungkan ke pin GPIO pada Raspberry Pi. Kedua-dua pin ini mesti disambungkan menggunakan perintang 4.7K.

Pin ke-3 dari kiri tidak digunakan. Pin paling kanan dan keempat adalah pin ground atau negatif yang mesti disambungkan ke salah satu pin ground pada Raspberry Pi.

Langkah 1: Komponen Diperlukan

Komponen Diperlukan
Komponen Diperlukan

1. Raspberry Pi

2. DHT11

3. Perintang 4.7k

4. Pelbagai wayar papan roti

5. Papan roti

Langkah 2: Menghubungkan Perkara

Menghubungkan Perkara
Menghubungkan Perkara
Menghubungkan Perkara
Menghubungkan Perkara

Sambungkan Raspberry Pi dan DHT11 seperti berikut:

DHT11 (+ pin) RaspberryPi (pin 3.3V)

DHT11 (pin data) RaspberryPi (pin GPIO - Saya menggunakan GPIO22)

DHT11 (pin ke-3) Tiada sambungan

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

Langkah 3: Memasang Perisian

Dari baris arahan RaspberryPi, lakukan perkara berikut: (CATATAN, jangan tinggalkan SUDO)

sudo git clone

Anda mesti melihat - Pengklonan ke 'Adafruit_Python_DHT' … jauh: Mengira objek: 249, selesai. jauh: Jumlah 249 (delta 0), digunakan kembali 0 (delta 0), pak digunakan semula 249 Menerima objek: 100% (249/249), 77.01 KiB, selesai. Menyelesaikan delta: 100% (142/142), selesai.

cd Adafruit_Python_DHT /

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

ls

Anda mesti lihat - Adafruit_DHT contoh ez_setup.py LISENSI BACA.md setup.py sumber

cd Adafruit_DHT /

Anda mesti melihat -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py pasang

(Perhatikan, jika anda melewati langkah ini, maka anda mungkin melihat ralat perjumpaan - Traceback (panggilan terakhir terakhir):

Fail "./AdafruitDHT.py", baris 24, dalam import Adafruit_DHT ImportError: Tiada modul bernama Adafruit_DHT)

contoh cd

sudo./AdafruitDHT.py 11 22 (11 = DHT11 dan 22 = GPIO22 yang anda pilih sebelumnya)

Anda mesti melihat Temp = 18.0 * Kelembapan = 46.0% (iaitu suhu dan kelembapan untuk persekitaran anda)

Langkah 4: Apa yang Perlu Dihasilkan Dengan Hasilnya

Jadi, seperti yang kita lihat, outputnya adalah "Temp = 18.0 * Kelembapan = 46.0%"

Terdapat beberapa cara di mana anda dapat memanfaatkan outpu ini, misalnya menggunakan fail php ujian ini, fail test_dht11.php

Pertama, saya memindahkan skrip AdafruitDHT.py ke / var / www /.

Untuk menguji dan menjalankan skrip php, ubah ke / var / www kemudian sudo php test_dht11.php

Keluaran menunjukkan dua nombor yang mewakili suhu dan kelembapan. Nombor-nombor ini boleh ditulis ke pangkalan data, atau dibandingkan dengan had amaran dan mengirim amaran dll

// <? php // unmentasikan baris di atas - instruksional tidak menyukai arahan php start //test_dht11.php

// melaksanakan fail python untuk membaca sensor suhu DHT11

// dan mengekstrak nilai suhu dan kelembapan $ suhu = 0; $ kelembapan = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // ekstrak suhu $ my_pos = strpos ($ test, "Temp =", 0); $ suhu = substr ($ test, $ my_pos + 5, 4); gema "\ n". $ suhu; // mengekstrak kelembapan $ my_pos = strpos ($ test, "Humidity =", $ my_pos); $ kelembapan = substr ($ test, $ my_pos + 9, 4); gema "\ n". $ kelembapan; ?>

Disyorkan: