树莓派4B上使用Adafruit_Python_DHT从DHT22读取温湿度
下载安装驱动。
sudo apt-get update
sudo apt-get install build-essential python-dev
git clone https://github.com/adafruit/Adafruit_Python_DHT.git
由于是树莓派4B,这个驱动默认支持树莓派1、2、3、4、3B+,没有4B,所以需要修改文件以便支持。
进入/home/pi/Adafruit_Python_DHT/Adafruit_DHT
中,修改platform_detect.py
这个文件,在代码
elif match.group(1) == 'BCM2837':
# Pi 3b+
return 3
后面添加
elif match.group(1) == 'BCM2711':
# Pi 4B
return 3
保存即可。
完成后类似于:
if not match:
# Couldn't find the hardware, assume it isn't a pi.
return None
if match.group(1) == 'BCM2708':
# Pi 1
return 1
elif match.group(1) == 'BCM2709':
# Pi 2
return 2
elif match.group(1) == 'BCM2835':
# Pi 3 or Pi 4
return 3
elif match.group(1) == 'BCM2837':
# Pi 3b+
return 3
elif match.group(1) == 'BCM2711':
# Pi 4B
return 3
else:
# Something else, not a pi.
return None
我使用的Python3,使用以下命令安装。
cd Adafruit_Python_DHT
sudo python3 setup.py install
在/home/pi/Adafruit_Python_DHT/examples/simpletest.py