Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Men Raspberry Pi yordamida harorat va namlikni o'lchashni xohlardim. Men DHT11 sensorini tanladim, chunki u mustahkam va arzon. Uni konfiguratsiya qilish ham yaxshi hujjatlashtirilgan, lekin men e'tibor qaratmoqchi bo'lgan yo'lda bir qator kamchiliklar mavjud.
DHT11 4 pinli. Eng chap tomonda Raspberry Pi 3.3V piniga ulangan Vcc yoki musbat (+) pin bor. Keyingi pin - bu Raspberry Pi -dagi GPIO piniga ulanishi kerak bo'lgan ma'lumotlar pinidir. Bu ikkita pin 4.7K rezistor yordamida ulangan bo'lishi kerak.
Chapdagi 3 -pin ishlatilmaydi. O'ng va to'rtinchi pin - bu Raspberry Pi ustidagi pinlardan biriga ulanishi kerak bo'lgan er yoki manfiy pin.
1 -qadam: zarur komponentlar
1. Raspberry Pi
2. DHT11
3. 4,7 k qarshilik
4. Har xil non paneli simlari
5. Non paneli
2 -qadam: narsalarni ulash
Raspberry Pi va DHT11 ni quyidagicha ulang:
DHT11 (+ pinli) RaspberryPi (3.3V pinli)
DHT11 (ma'lumot pin) RaspberryPi (GPIO pin - men GPIO22 ishlatganman)
DHT11 (3 -pin) Ulanish yo'q
DHT11 (-pin) ------ Raspberry Pi (gnd pin)
3 -qadam: Dasturiy ta'minotni o'rnatish
RaspberryPi buyruq satridan quyidagilarni bajaring: (QAYD, SUDO ni o'tkazib yubormang)
sudo git klon
Siz ko'rishingiz kerak - "Adafruit_Python_DHT" ga klonlash … masofadan boshqarish: Ob'ektlarni sanash: 249, bajarildi. masofadan boshqarish: Hammasi bo'lib 249 (delta 0), qayta ishlatilgan 0 (delta 0), qayta ishlatilgan 249 Qabul qilish ob'ektlari: 100% (249/249), 77.01 KiB, bajarildi. Deltalarni hal qilish: 100% (142/142), bajarildi.
CD Adafruit_Python_DHT/
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl
ls
Siz ko'rishingiz kerak - Adafruit_DHT misollari ez_setup.py LICENSE README.md setup.py manba
CD Adafruit_DHT/
Siz ko'rishingiz kerak -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py
sudo python setup.py ni o'rnating
(E'tibor bering, agar siz bu qadamni chetlab o'tib qo'ysangiz, siz uchrashish xatosini ko'rishingiz mumkin - Traceback (oxirgi qo'ng'iroq oxirgi):
Fayl "./AdafruitDHT.py", 24 -satr, import qilingan Adafruit_DHT ImportError: Adafruit_DHT nomli modul yo'q)
cd misollar
sudo./AdafruitDHT.py 11 22 (11 = DHT11 va 22 = siz ilgari tanlagan GPIO22)
Siz ko'rishingiz kerak Temp = 18.0* Namlik = 46.0% (ya'ni sizning muhitingiz uchun harorat va namlik)
4 -qadam: Chiqish bilan nima qilish kerak
Ko'rib turganimizdek, chiqish "Harorat = 18.0* Namlik = 46.0%"
Siz bu chiqishdan foydalanishning bir qancha usullari bor, masalan, bu php test testi, test_dht11.php faylidan foydalanish.
Birinchidan, men AdafruitDHT.py skriptini/var/www/ga ko'chirdim.
PHP skriptini sinab ko'rish va ishga tushirish uchun /var /www ga o'zgartiring, keyin sudo php test_dht11.php
Chiqish harorat va namlikni ifodalovchi ikkita raqamni ko'rsatadi. Bu raqamlar ma'lumotlar bazasiga yozilishi yoki ogohlantirish chegaralari bilan taqqoslanishi va ogohlantirish yuborishi mumkin
// <? php // yuqoridagi satrga izoh bermang - instruktorlarga php start buyrug'i yoqmaydi //test_dht11.php
// DHT11 harorat sensori o'qish uchun python faylini bajaradi
// va harorat va namlik qiymatlarini chiqaradi $ temperatur = 0; $ namlik = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ test = shell_exec ($ exec_msg); // haroratni chiqaradi $ my_pos = strpos ($ test, "Temp =", 0); $ harorat = substr ($ test, $ my_pos+5, 4); echo "\ n". $ harorat; // namlikni chiqaradi $ my_pos = strpos ($ test, "Namlik =", $ my_pos); $ namlik = substr ($ test, $ my_pos+9, 4); echo "\ n". $ namlik; ?>