Daftar Isi:

Raspberry Pi / DHT11 - Mengukur Kelembaban dan Suhu: 4 Langkah
Raspberry Pi / DHT11 - Mengukur Kelembaban dan Suhu: 4 Langkah

Video: Raspberry Pi / DHT11 - Mengukur Kelembaban dan Suhu: 4 Langkah

Video: Raspberry Pi / DHT11 - Mengukur Kelembaban dan Suhu: 4 Langkah
Video: Mengukur suhu dan kelembapan dengan sensor dht11 di Raspberry Pi 3 2024, November
Anonim
Raspberry Pi / DHT11 - Mengukur Kelembaban dan Suhu
Raspberry Pi / DHT11 - Mengukur Kelembaban dan Suhu

Saya ingin mengukur suhu dan kelembaban menggunakan Raspberry Pi saya. Saya memilih sensor DHT11 karena kuat dan murah. Mengonfigurasinya juga didokumentasikan dengan baik tetapi ada sejumlah jebakan dalam cara yang ingin saya fokuskan.

DHT11 memiliki 4 pin. Paling kiri untuk pin Vcc atau positif (+) yang terhubung ke pin Raspberry Pi 3.3V. Pin seberang selanjutnya adalah pin data yang harus disambungkan ke pin GPIO pada Raspberry Pi. Kedua pin ini harus dihubungkan menggunakan resistor 4.7K.

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

Langkah 1: Komponen Diperlukan

Komponen yang Diperlukan
Komponen yang Diperlukan

1. Raspberry Pi

2. DHT11

3. Resistor 4.7k

4. Berbagai kabel papan tempat memotong roti

5. Papan tempat memotong roti

Langkah 2: Menghubungkan Hal

Menghubungkan Hal
Menghubungkan Hal
Menghubungkan Hal
Menghubungkan Hal

Hubungkan Raspberry Pi dan DHT11 sebagai berikut:

DHT11 (+ pin) RaspberryPi (pin 3.3V)

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

DHT11 (pin ke-3) Tidak ada koneksi

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

Langkah 3: Menginstal Perangkat Lunak

Dari baris perintah RaspberryPi, lakukan hal berikut: (CATATAN, jangan hilangkan SUDO)

sudo git clone

Anda akan melihat - Mengkloning ke 'Adafruit_Python_DHT'… jarak jauh: Menghitung objek: 249, selesai. remote: Total 249 (delta 0), digunakan kembali 0 (delta 0), paket-digunakan kembali 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 akan melihat - Adafruit_DHT contoh ez_setup.py LISENSI README.md setup.py source

cd Adafruit_DHT/

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

sudo python setup.py install

(Catatan, jika Anda melewati langkah ini maka Anda mungkin melihat kesalahan pertemuan - Traceback (panggilan terakhir terakhir):

File "./AdafruitDHT.py", baris 24, di import Adafruit_DHT ImportError: Tidak ada modul bernama Adafruit_DHT)

contoh cd

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

Anda akan melihat Temp=18.0* Humidity=46.0% (yaitu suhu dan kelembapan untuk lingkungan Anda)

Langkah 4: Apa yang Harus Dilakukan Dengan Output

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

Ada beberapa cara di mana Anda dapat memanfaatkan output ini, misalnya menggunakan file php uji ini, file test_dht11.php

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

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

Output menunjukkan dua angka yang mewakili suhu dan kelembaban. Angka-angka ini dapat ditulis ke database, atau dibandingkan dengan batas peringatan dan mengirim peringatan, dll

//<? php // batalkan komentar pada baris di atas - instruksi tidak menyukai perintah php start //test_dht11.php

// mengeksekusi file python untuk membaca sensor suhu DHT11

//dan mengekstrak nilai suhu dan kelembapan $temperature=0; $kelembaban=0; $pos_saya=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); $temperature = substr($test, $my_pos+5, 4); echo "\n ".$suhu; //mengekstrak kelembapan $my_pos = strpos($test, "Humidity=", $my_pos); $kelembaban = substr($test, $my_pos+9, 4); echo "\n ".$kelembaban; ?>

Direkomendasikan: