Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
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
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
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; ?>