İçindekiler:

Raspberry Pi / DHT11 - Nem ve Sıcaklık Ölçümü: 4 Adım
Raspberry Pi / DHT11 - Nem ve Sıcaklık Ölçümü: 4 Adım

Video: Raspberry Pi / DHT11 - Nem ve Sıcaklık Ölçümü: 4 Adım

Video: Raspberry Pi / DHT11 - Nem ve Sıcaklık Ölçümü: 4 Adım
Video: Raspberry Pi ile Sıcaklık ve Nem ölçümü 2024, Temmuz
Anonim
Raspberry Pi / DHT11 - Nem ve Sıcaklığı Ölçün
Raspberry Pi / DHT11 - Nem ve Sıcaklığı Ölçün

Raspberry Pi'mi kullanarak sıcaklık ve nemi ölçmek istedim. Sağlam ve ucuz olduğu için bir DHT11 sensörü seçtim. Bunu yapılandırmak da iyi belgelenmiştir ancak bu yolda odaklanmak istediğim bir takım tuzaklar var.

DHT11'in 4 pini vardır. En soldaki, Raspberry Pi 3.3V pinine bağlı olan Vcc veya pozitif (+) pin içindir. Bir sonraki pin, Raspberry Pi'deki bir GPIO pinine bağlanması gereken veri pinidir. Bu iki pin bir 4.7K direnç kullanılarak bağlanmalıdır.

Soldan 3. pin kullanılmaz. En sağdaki ve dördüncü pin, Raspberry Pi üzerindeki topraklama pinlerinden birine bağlanması gereken toprak veya negatif pindir.

Adım 1: Gerekli Bileşenler

Gerekli Bileşenler
Gerekli Bileşenler

1. Ahududu Pi

2. DHT11

3. 4.7k direnç

4. Çeşitli devre tahtası telleri

5. Breadboard

2. Adım: Nesneleri Bağlama

Nesneleri Bağlamak
Nesneleri Bağlamak
Nesneleri Bağlamak
Nesneleri Bağlamak

Raspberry Pi ve DHT11'i aşağıdaki gibi bağlayın:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (veri pini) RaspberryPi (GPIO pini - GPIO22 kullandım)

DHT11 (3. pin) Bağlantı yok

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

Adım 3: Yazılımı Yükleme

RaspberryPi komut satırından aşağıdakileri yapın: (NOT, SUDO'yu atlamayın)

sudo git klon

Şunu görmelisiniz - 'Adafruit_Python_DHT' içine klonlanıyor… uzak: Nesneleri sayma: 249, tamamlandı. uzak: Toplam 249 (delta 0), yeniden kullanılmış 0 (delta 0), paket yeniden kullanılmış 249 Nesne alma: %100 (249/249), 77.01 KiB, tamamlandı. Deltaları çözümleme: %100 (142/142), tamamlandı.

cd Adafruit_Python_DHT/

sudo apt-get güncellemesi sudo apt-get kurulum inşa-temel python-dev python-openssl

ls

Görmelisiniz - Adafruit_DHT örnekleri ez_setup.py LICENSE README.md setup.py source

cd Adafruit_DHT/

-Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py görmelisiniz

sudo python setup.py kurulumu

(Bu adımı atlarsanız, bir karşılaşma hatası görebilirsiniz - Geri İzleme (en son arama son):

Dosya "./AdafruitDHT.py", satır 24, içe aktarma Adafruit_DHT ImportError: Adafruit_DHT adında bir modül yok)

cd örnekleri

sudo./AdafruitDHT.py 11 22 (daha önce seçtiğiniz 11 = DHT11 ve 22=GPIO22)

Sıcaklık=18.0* Nem=%46,0 değerini görmelisiniz (yani ortamınız için sıcaklık ve nem)

Adım 4: Çıktı İle Ne Yapmalı

Gördüğümüz gibi, çıktı "Sıcaklık=18.0* Nem=%46.0"

Bu çıktıyı kullanmanın birkaç yolu vardır, örneğin bu test php dosyasını, test_dht11.php dosyasını kullanarak

Öncelikle AdafruitDHT.py betiğini /var/www/ dizinine taşıdım.

PHP betiğini test etmek ve çalıştırmak için /var/www olarak değiştirin, ardından sudo php test_dht11.php

Çıktı, sıcaklık ve nemi temsil eden iki sayı gösterir. Bu numaralar bir veri tabanına yazılabilir veya uyarı limitleriyle karşılaştırılabilir ve bir uyarı gönderebilir vb

//<? php // yukarıdaki satırın yorumunu kaldırın - talimatlar php start komutunu sevmiyor //test_dht11.php

// DHT11 sıcaklık sensörünü okumak için python dosyasını çalıştırır

//ve sıcaklık ve nem değerlerini çıkarır $sıcaklık=0; $nem=0; $my_pos=0; $exec_msg="sudo /var/www/AdafruitDHT.py 11 22 2>&1"; $test = shell_exec($exec_msg); //sıcaklığı çıkarır $my_pos = strpos($test, "Temp=", 0); $sıcaklık = substr($test, $my_pos+5, 4); echo "\n ".$sıcaklık; //nemi çıkarır $my_pos = strpos($test, "Nem=", $my_pos); $nem = substr($test, $my_pos+9, 4); echo "\n ".$nem; ?>

Önerilen: