说明
树莓派系统使用的是Raspbian 9,Python版本是Python3,传感器使用DHT22,PC端使用Putty通过SSH协议连接树莓派,端口为默认的22。还用到了Windows下的mstsc工具,用来图像化登录树莓派,不习惯使用命令的操作可以用鼠标完成。
硬件连接
实物可参考下面图片,DHT22有三个引脚,两端分别是VCC和GND,中间是数据引脚。DHT22的工作电压范围为3.3V~5.5V,我将它接入了3.3V,即树莓派引脚图中BOARD编码为1的引脚。负极随意挑一个GND引脚插上。数据引脚连接树莓派的GPIO.2,即BOARD编码为13的引脚。
DHT22如下图
树莓派引脚图
安装Adafruit_DHT
#sudo apt-get update
#sudo apt-get install build-essential python-dev
#git clone https://github.com/adafruit/Adafruit_Python_DHT.git
#cd Adafruit_Python_DHT
#sudo python setup.py install
编写Python代码
#引入Adafruit_DHT
import Adafruit_DHT
#定义sensor型号为DHT22
sensor = Adafruit_DHT.DHT22
#定义引脚为27(BOARD编码为13)
pin = 27
#循环
while True:
try:
#读取温湿度数据到temp和hu两个变量中
hu, temp = Adafruit_DHT.read_retry(sensor, pin)
#打印出结果
print('temp:{0:0.1f} hu:{1}'.format(temp,hu))
#循环延迟设为3秒
time.sleep(3)
except RuntimeError as e:
print("error\n{0}".format(e))
except:
print("error\nFailed to read sensor data!")