A DHT szenzorok adatlábát bármelyik szabadon programozható GPIO-tüskéhez csatlakoztathatod. Példánkban a fizikai (BOARD) számozás szerinti 11. tüskét használtuk, ami BCM (azaz processzorláb szerinti kiosztásban) GPIO 17. Az 1-es, pozitív tápfeszültség lábat az 1. a 4-es GND lábat a GPIO port tetszőleges GND kivezetéséhez csatlakoztathatod. Az 1. (3.3V) és a 2. (Data / Out) tüske között helyezz el egy 10K-os ellenállást.

Szoftver telepítése

A csomaglisták frissítéséhez és néhány Python könyvtár telepítéséhez nyiss meg egy terminál ablakot, és gépeld be:

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

Ezután klónozd az Adafruit könyvtárat az adattárból:

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT

Ezután telepítsd a Python 2 és Python 3 könyvtárat:

sudo python setup.py install
sudo python3 setup.py install

Remélhetőleg ezen a ponton a könyvtár telepítése rendben megtörtént, és készen áll a Python script használatára.

Adafruit minta python script

Az Adafruit példa szkript segítségével ellenőrizni tudod, hogy az érzékelő megfelelően működik-e.

cd ~
cd Adafruit_Python_DHT
cd examples

ezek után:

python AdafruitDHT.py 11 17

A példa szkript két paramétert tartalmaz. Az első az érzékelő típusa, így ha “11” -re van állítva, a DHT11-et, ha „22”-re, akkor a DHT22-t kell a második paraméterben megadott tüskére kötnöd. A második tehát a GPIO tüske-szám, így a példánkban a “17” a GPIO17-et használjuk. Megváltoztathatod ezt, ha egy másik GPIO-t használsz az adatbevitelhez. Megfelelő működés esetén a terminál ablakban a következőt látod:

Temp=22.0* Humidity=68.0%

A DHT könyvtár használata más Python szkriptekben

Ha telepítetted az AdafruitDHT könyvtárat és letöltötted az alábbi példaprogramot, akkor az érzékelőt könnyen tudod használni saját szkriptjeidben. Egyszerűen importáld a modult, állíts be néhány változót és hívd meg a “read_retry” funkciót:

import Adafruit_DHT
 
# Érzékelő típusának beállítása : DHT11,DHT22 vagy AM2302
sensor=Adafruit_DHT.DHT11
 
# A szenzorunk a következő GPIO-ra van kötve:
gpio=17
 
# A read_retry eljárást használjuk. Ez akár 15x is megpróbálja kiolvasni az érzékelőből az adatot (és minden olvasás előtt 2 másodpercet vár).
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
 
# A DHT11 kiolvasása nagyon érzékeny az időzítésre és a Pi alkalmanként
# nem tud helyes értéket kiolvasni. Ezért megnézzük, hogy helyesek-e a kiolvasott értékek.
if humidity is not None and temperature is not None:
print('Temp={0:0.1f}*C Humidity={1:0.1f}%'.format(temperature, humidity))
else:
print('Sikertelen olvasas! Ujra probalkozunk')

A következő bejegyzésben a szenzor használatát az Arduino Uno mikrokontrollerrel mutatom be.