Raspberry pi 4b 读取DHT22数据
- 确保Raspberry Pi上有最新的更新
sudo apt-get update
- 安装python 3-dev和python3-pip使用这两个包来与湿度传感器进行交互
sudo apt-get install python3-dev python3-pip
- 安装最新版本的setuptools、wheel和pip python包。
sudo python3 -m pip install --upgrade pip setuptools wheel
- 将DHT库安装到Raspberry Pi上
sudo pip3 install Adafruit_DHT
- 制作python脚本读取温度和湿度数据
import Adafruit_DHT
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
while True:
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
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 retrieve data from humidity sensor")
或者
import os
import time
import Adafruit_DHT
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
try:
f = open('/home/pi/humidity.csv', 'a+')
if os.stat('/home/pi/humidity.csv').st_size == 0:
f.write('Date,Time,Temperature,Humidity\r\n')
except:
pass
while True:
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
if humidity is not None and temperature is not None:
f.write('{0},{1},{2:0.1f}*C,{3:0.1f}%\r\n'.format(time.strftime('%m/%d/%y'), time.strftime('%H:%M'), temperature, humidity))
else:
print("Failed to retrieve data from humidity sensor")
time.sleep(30)
- 运行脚本,测试一下效果
python3 ~/humidity_logger.py
- (可选:如果采用第一种方式读取数据请忽略)
cat ~/humidity.csv
参考连接:https://www.labno3.com/2021/03/21/raspberry-pi-humidity-sensor-using-the-dht22/