我在使用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
答案 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)
也许更多信息有助于解决您的问题。 我有像你一样的传感器。
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)
以下代码适用于Pi 2 Model B: