用于DHT 11温度传感器的Python GPIO代码在PI 2中失败

时间:2015-03-07 09:57:05

标签: python-2.7 raspberry-pi raspberry-pi2

我在使用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引脚4需要增加。

将数据读取值增加到2000后,返回的温度和湿度值始终为255。有没有人面对这个问题确实帮助我解决了问题。

谢谢, Bharadvaj

3 个答案:

答案 0 :(得分:12)

您还可以查看以下小型库。它仅取决于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)

答案 1 :(得分: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 也许这有助于你。

答案 2 :(得分:1)