7

我在使用 Python2.7 GPIO 0.5.11 在 PI 2 中运行 DHT 11 温度传感器时遇到问题。我指的是http://www.uugear.com/portfolio/dht11-humidity-temperature-sensor-module/ 示例代码。

相同的代码在 PI 1 B+ 上运行良好。在 PI 2 中,我得到“ERR_RANGE”作为错误。我尝试调试问题似乎需要增加@ GPIO pin 4 读取的数据。

将数据读取值增加到2000后,返回的温湿度值一直是255。有没有人遇到过这个问题,帮我解决一下。

谢谢, 巴拉德瓦吉

4

3 回答 3

13

您还可以查看以下小型库。它仅取决于 GPIO 模块:

https://github.com/szazo/DHT11_Python

例子:

import RPi.GPIO as GPIO
import dht11

# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

# read data using pin 14
instance = dht11.DHT11(pin = 14)
result = instance.read()

if result.is_valid():
    print("Temperature: %d C" % result.temperature)
    print("Humidity: %d %%" % result.humidity)
else:
    print("Error: %d" % result.error_code)
于 2015-11-22T21:02:33.613 回答
3

也许更多信息将有助于解决您的问题。我有和你一样的传感器。

我遵循了本教程:https ://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/software-install-updated

git clone https://github.com/adafruit/Adafruit_Python_DHT.git
cd Adafruit_Python_DHT
sudo apt-get update
sudo apt-get install build-essential python-dev
sudo python setup.py install

这是我的测试 python 脚本:

#!/usr/bin/python
import sys
import Adafruit_DHT
humidity, temperature = Adafruit_DHT.read_retry(11, 4)
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 'Failed to get reading. Try again!'

将其保存为例如 dht_test.py , Chmod : sudo chmod a+x dht_test.py 并运行为 sudo : sudo ./dht_test.py 也许这对你有帮助。

于 2015-05-27T11:38:24.270 回答
0

以下代码适用于 Pi 2 Model B:

https://github.com/netikras/r-pi_DHT11/blob/master/dht11.py

于 2016-08-03T18:13:45.687 回答