准备工具:
树莓派3B DHT22模块 母对母杜邦线3根
先上个树莓派3B的引脚图
DHT22温湿度传感器模块
接线图
Vcc(+)接树莓派3.3v即1号针脚,Gnd(-)接树莓派gnd,Data随便接一个GPIO脚,我接的是GPIO4
环境依赖安装
我们主要依赖到一个python库 Adafruit_Python_DHT
#安装方法源于 rpi-TempRuntime#逐行运行命令sudo apt-get updatesudo apt-get install python-dev python-rpi.gpiosudo apt-get install build-essential python-dev python-smbus python-pipgitclonehttps://github.com/adafruit/Adafruit_Python_DHT.gitcdAdafruit_Python_DHTsudo python setup.py installsudo pip install RPi.GPIO
下载项目代码
sudo mkdir /var/www/html
cd /var/www/html
git clone https://github.com/yfgeek/rpi-TempRuntime.git
运行之前
我们需要对DHT22-WITHOUT-LCD.py进行修改来使其顺利地获取传感器数据,(这也是调取DHT22模块数据的配置文件)
cd/var/www/html/rpi-TempRuntime
sudo nano DHT22-WITHOUT-LCD.py
找到第26行
将humidity, temperature = Adafruit_DHT.read_retry(sensor, 26)中的26改为自己的GPIO#序号,例如我的就改成humidity, temperature = Adafruit_DHT.read_retry(sensor, 4),保存退出,不会的请查找nano用法。
其实这一条也是最核心的代码,如果要单单挑出来的话
importAdafruit_DHTsensor = Adafruit_DHT.DHT22humidity, temperature = Adafruit_DHT.read_retry(sensor, GPIO#)print(humidity, temperature)
来源:https://www.jianshu.com/p/8077e28db96a
运行
screen
sudo python DHT22-WITHOUT-LCD.py
核心代码
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
#coding=utf-8
#########################################
#创建人:N
#date:2019/7/23
#使用前需要安装库
#从 GitHub 获取 Adafruit 库:git clone https://github.com/adafruit/Adafruit_Python_DHT.git
#进入库安装cd Adafruit_Python_DHT /sudo python setup.py install/ /sudo python3 setup.py install/
#########################################
#核心代码:
import Adafruit_DHT
#设置传感器类型:选项为DHT11、DHT22或AM2302
sensor=Adafruit_DHT.DHT22
# GPIO传感器组连接到所连接的引脚编号
gpio=4
humidity, temperature = Adafruit_DHT.read_retry(sensor, gpio)
#如果温湿度的值都不是0的话
if humidity is not None and temperature is not None:
#打印出温度和湿度temperature(温度)humidity(湿度)
#round 设置截取浮点数位置round(数字,变量,截取位数)
print round(temperature,2),round(humidity,2)
else:
print('erro')