本示例你需要準(zhǔn)備以下的材料:
- DHT 11/22
- RaspberryPI
- 4.7 K電阻
具體連接方式如下圖所示:
面包板
連接好線路之后進(jìn)入樹莓的命令行安裝驅(qū)動(dòng) DHT11的依賴包 Adafruit_DHT
:
$ pip install adafruit-dht
我們使用這個(gè)包其實(shí)也只是使用其中的一個(gè)方法
humidity, temperature = Adafruit_DHT.read_retry( Adafruit_DHT.DHT11, pin )
read_retry
方法第一個(gè)參數(shù)用于指定當(dāng)前傳感器的型號(hào)一般為 DHT11
或 DHT22
,第二個(gè)參數(shù)則是連接到樹莓派的接口號(hào)。(GPIO)此方法返回是的一個(gè)(濕度,溫度)
結(jié)構(gòu)的元組(tuple)類型對(duì)象。
完整的代碼如下所示:
import time
import Adafruit_DHT
## Assuming the DHT11 sensor is connected to GPIO pin number 4
pin = 4
def run():
while True:
### Assume
humidity, temperature = Adafruit_DHT.read_retry( Adafruit_DHT.DHT11, pin )
if humidity is not None and temperature is not None:
print "Temp={0:f}*C Humidity={1:f}%".format(temperature, humidity)
else:
print "Failed to get reading. Try again!"
#Sleep some time
time.sleep(10)
run()
運(yùn)行本示例你需要使用sudo
否則會(huì)運(yùn)行失敗。
$ sudo python dht_test,.py