本示例你需要准备以下的材料:
- DHT 11/22
- RaspberryPI
- 4.7 K电阻
具体连接方式如下图所示:
连接好线路之后进入树莓的命令行安装驱动 DHT11的依赖包 Adafruit_DHT
:
$ pip install adafruit-dht
我们使用这个包其实也只是使用其中的一个方法
humidity, temperature = Adafruit_DHT.read_retry( Adafruit_DHT.DHT11, pin )
read_retry
方法第一个参数用于指定当前传感器的型号一般为 DHT11
或 DHT22
,第二个参数则是连接到树莓派的接口号。(GPIO)此方法返回是的一个(湿度,温度)
结构的元组(tuple)类型对象。
完整的代码如下所示:
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()
运行本示例你需要使用sudo
否则会运行失败。
$ sudo python dht_test,.py