Mündəricat:

Raspberry Pi / DHT11 - Nəmliyi və Temperaturu Ölçün: 4 Addım
Raspberry Pi / DHT11 - Nəmliyi və Temperaturu Ölçün: 4 Addım

Video: Raspberry Pi / DHT11 - Nəmliyi və Temperaturu Ölçün: 4 Addım

Video: Raspberry Pi / DHT11 - Nəmliyi və Temperaturu Ölçün: 4 Addım
Video: How to use DHT11 DHT22 with NodeMCU ESP8266 to read temperature over WiFi - IoT 2024, Iyul
Anonim
Raspberry Pi / DHT11 - Nəmliyi və Temperaturu Ölçün
Raspberry Pi / DHT11 - Nəmliyi və Temperaturu Ölçün

Raspberry Pi ilə temperatur və rütubəti ölçmək istədim. DHT11 sensorunu seçdim, çünki möhkəm və ucuzdur. Bunu konfiqurasiya etmək də yaxşı sənədləşdirilmişdir, lakin diqqətimi çəkmək istədiyim yolda bir sıra çətinliklər var.

DHT11 -də 4 sancaq var. Ən sol tərəf, Raspberry Pi 3.3V pininə qoşulan Vcc və ya müsbət (+) pin üçündür. Növbəti pin, Raspberry Pi -də bir GPIO pininə bağlanmalı olan məlumat pinidir. Bu iki pin 4.7K müqavimət istifadə edərək bağlanmalıdır.

Soldakı 3 -cü pin istifadə edilmir. Ən sağ və dördüncü pin, Raspberry Pi üzərindəki torpaq pinlərindən birinə bağlanmalı olan torpaq və ya mənfi pindir.

Addım 1: Tələb olunan komponentlər

Tələb olunan komponentlər
Tələb olunan komponentlər

1. Moruq Pi

2. DHT11

3. 4.7k müqavimət

4. Müxtəlif çörək telləri

5. Çörək lövhəsi

Addım 2: Şeyləri birləşdirin

Əlaqələndirici şeylər
Əlaqələndirici şeylər
Əlaqələndirici şeylər
Əlaqələndirici şeylər

Raspberry Pi və DHT11 -i aşağıdakı kimi bağlayın:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (məlumat pin) RaspberryPi (GPIO pin - GPIO22 istifadə etdim)

DHT11 (3 -cü pin) Bağlantı yoxdur

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

Addım 3: Proqramın Qurulması

RaspberryPi əmr satırından aşağıdakıları edin: (DİQQƏT, SUDO -nu buraxmayın)

sudo git klonu

Görməlisiniz - 'Adafruit_Python_DHT' -ə klonlaşdırma… uzaqdan: Nesnələrin sayılması: 249, tamamlandı. uzaqdan: Cəmi 249 (delta 0), təkrar istifadə edilən 0 (delta 0), yenidən istifadə edilən 249 Alınan obyektlər: 100% (249/249), 77.01 KiB, tamamlandı. Deltaların həlli: 100% (142/142), tamamlandı.

cd Adafruit_Python_DHT/

sudo apt-get yeniləmə sudo apt-get install build-essential python-dev python-openssl

ls

Görməlisiniz - Adafruit_DHT nümunələri ez_setup.py LİSANS README.md setup.py mənbəyi

cd Adafruit_DHT/

Görməlisiniz -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py qurun

(Diqqət edin, bu addımı atlasanız, qarşılaşma xətası görə bilərsiniz - Traceback (sonuncu zəng son):

Fayl "./AdafruitDHT.py", satır 24, idxal Adafruit_DHT ImportError: Adafruit_DHT adlı heç bir modul)

cd nümunələri

sudo./AdafruitDHT.py 11 22 (11 = DHT11 və 22 = daha əvvəl seçdiyiniz GPIO22)

Temp = 18.0* Nəm = 46.0% (yəni ətrafınız üçün temperatur və rütubət)

Addım 4: Çıxışla nə etməli

Gördüyümüz kimi, çıxış "Temp = 18.0* Rütubət = 46.0%" dir

Bu çıxışdan istifadə edə biləcəyiniz bir çox yol var, məsələn bu test php faylı, test_dht11.php faylını istifadə edərək

Əvvəlcə AdafruitDHT.py skriptini/var/www/-ə köçürdüm.

Php skriptini sınamaq və işə salmaq üçün /var /www olaraq dəyişdirin, sonra sudo php test_dht11.php

Çıxış temperatur və rütubəti təmsil edən iki rəqəmi göstərir. Bu nömrələr bir verilənlər bazasına yazıla bilər və ya xəbərdarlıq limitləri ilə müqayisə oluna bilər və bir xəbərdarlıq göndərilə bilər

// <? php // yuxarıdakı sətri şərh etmə - göstərişlər php start əmrini bəyənmir //test_dht11.php

// DHT11 temperatur sensörünü oxumaq üçün python faylını icra edir

// və temperatur və rütubət dəyərlərini çıxarır $ temperatur = 0; $ rütubət = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // temperaturu çıxarır $ my_pos = strpos ($ test, "Temp =", 0); $ temperatur = substr ($ test, $ my_pos+5, 4); echo "\ n". $ temperatur; // nəm çıxarır $ my_pos = strpos ($ test, "Rütubət =", $ my_pos); $ rütubət = substr ($ test, $ my_pos+9, 4); echo "\ n". $ rütubət; ?>

Tövsiyə: