Tartalomjegyzék:

Raspberry Pi / DHT11 - Páratartalom és hőmérséklet mérése: 4 lépés
Raspberry Pi / DHT11 - Páratartalom és hőmérséklet mérése: 4 lépés

Videó: Raspberry Pi / DHT11 - Páratartalom és hőmérséklet mérése: 4 lépés

Videó: Raspberry Pi / DHT11 - Páratartalom és hőmérséklet mérése: 4 lépés
Videó: Программирование модуля датчика температуры и влажности ESP8266 ESP01 DHT11 | удаленныйXY | ФЛПрог 2024, November
Anonim
Raspberry Pi / DHT11 - Mérje meg a páratartalmat és a hőmérsékletet
Raspberry Pi / DHT11 - Mérje meg a páratartalmat és a hőmérsékletet

Meg akartam mérni a hőmérsékletet és a páratartalmat a Raspberry Pi -vel. A DHT11 érzékelőt választottam, mert robusztus és olcsó. A konfigurálása is jól dokumentált, de számos buktató van az úton, amelyekre szeretnék összpontosítani.

A DHT11 4 tűvel rendelkezik. A bal oldalon a legtöbb Vcc vagy pozitív (+) érintkező, amely a Raspberry Pi 3.3V tűhöz van csatlakoztatva. A következő tű az adat tű, amelyet a Raspberry Pi GPIO tűjéhez kell csatlakoztatni. Ezt a két csapot 4,7K ellenállás segítségével kell csatlakoztatni.

A bal oldali 3. csap nincs használatban. A jobb és a negyedik csap a földelt vagy negatív csap, amelyet a Raspberry Pi egyik földelőcsapjához kell csatlakoztatni.

1. lépés: Szükséges összetevők

Szükséges alkatrészek
Szükséges alkatrészek

1. Málna Pi

2. DHT11

3. 4.7k ellenállás

4. Különféle kenyeretábla vezetékek

5. Kenyeretábla

2. lépés: A dolgok összekapcsolása

A dolgok összekapcsolása
A dolgok összekapcsolása
A dolgok összekapcsolása
A dolgok összekapcsolása

Csatlakoztassa a Raspberry Pi -t és a DHT11 -et az alábbiak szerint:

DHT11 (+ pin) RaspberryPi (3.3V pin)

DHT11 (adatcsap) RaspberryPi (GPIO pin - én GPIO22 -t használtam)

DHT11 (3. tű) Nincs kapcsolat

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

3. lépés: A szoftver telepítése

A RaspberryPi parancssorból tegye a következőket: (MEGJEGYZÉS, ne hagyja ki a SUDO -t)

sudo git klón

Látnia kell - Klónozás „Adafruit_Python_DHT” -be… távoli: Objektumok számlálása: 249, kész. távirányító: Összesen 249 (delta 0), újrafelhasznált 0 (delta 0), csomagolásban újrafelhasznált 249 Fogadó objektumok: 100% (249/249), 77,01 KiB, kész. Delták feloldása: 100% (142/142), kész.

cd Adafruit_Python_DHT/

sudo apt-get update sudo apt-get install build-essential python-dev python-openssl

ls

Látnia kell - Adafruit_DHT példák ez_setup.py LICENCS README.md setup.py forrás

cd Adafruit_DHT/

A következőt kell látnia: -Beaglebone_Black.py common.py _init_.py platform_detect.py Raspberry_Pi_2.py Raspberry_Pi.py Test.py

sudo python setup.py install

(Ne feledje, ha megkerüli ezt a lépést, akkor hibát észlelhet - Traceback (legutóbbi hívás utolsó):

"./AdafruitDHT.py" fájl, 24. sor, importáláskor Adafruit_DHT ImportError: Nincs Adafruit_DHT nevű modul)

cd példák

sudo./AdafruitDHT.py 11 22 (11 = DHT11 és 22 = GPIO22, amelyet korábban kiválasztott)

Látnia kell a hőmérsékletet = 18,0* Páratartalom = 46,0% (azaz a környezet hőmérséklete és páratartalma)

4. lépés: Mi a teendő a kimenettel

Tehát, mint láttuk, a kimenet "Temp = 18,0* Páratartalom = 46,0%"

Számos módon használhatja ki ezt az outpu -t, például a teszt php fájl, a test_dht11.php fájl használatával

Először az AdafruitDHT.py szkriptet helyeztem át a/var/www/mappába.

A php szkript teszteléséhez és futtatásához váltson a /var /www fájlra, majd sudo php test_dht11.php

A kimenet két számot mutat, amelyek a hőmérsékletet és a páratartalmat jelzik. Ezeket a számokat be lehet írni egy adatbázisba, vagy összehasonlítani a figyelmeztetési korlátokkal, és figyelmeztetést küldeni stb

// <? php // szüntesse meg a fenti sort - az instructables nem szereti a php start parancsot //test_dht11.php

// futtat egy python fájlt a DHT11 hőmérséklet -érzékelő olvasásához

// és kivonja a hőmérséklet- és páratartalomértékeket $ hőmérséklet = 0; $ páratartalom = 0; $ my_pos = 0; $ exec_msg = "sudo /var/www/AdafruitDHT.py 11 22 2> & 1"; $ teszt = shell_exec ($ exec_msg); // kivonja a hőmérsékletet $ my_pos = strpos ($ teszt, "Temp =", 0); $ hőmérséklet = substr ($ teszt, $ my_pos+5, 4); echo "\ n". $ hőmérséklet; // kivonja a páratartalmat $ my_pos = strpos ($ test, "Nedvesség =", $ my_pos); $ páratartalom = substr ($ teszt, $ my_pos+9, 4); echo "\ n". $ páratartalom; ?>

Ajánlott: