在这个实验中将使用树莓派来读取温度传感器DHT 22传来的温度数据,然后将温度的数据发送到网页上可以进行查看,在这个实验中,树莓派既作为下位机来获取温度数据,由作为服务器来讲传感器的数据传到网页上进行显示。
第一步:获取DHT 22 温湿度传感器的数据
1 2 3 4 5 |
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 |
这是在GitHub上树莓派DHT22 官方的库,在这样我们就可以使用这个DHT22的库来获取传感器的数据了。在这个下载下来的库中还有三个例子可以使用,需要注意的是在使用例子的时候需要传入传感器的信号和引脚,这里我不使用官方的例子。将硬件如图连接好。
接下来写一个python的程序来获取数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import time import sys import Adafruit_DHT sensor_args = { '11': Adafruit_DHT.DHT11, '22': Adafruit_DHT.DHT22, '2302': Adafruit_DHT.AM2302 } if len(sys.argv) == 3 and sys.argv[1] in sensor_args: sensor = sensor_args[sys.argv[1]] pin = sys.argv[2] else: print('usage: sudo ./Adafruit_DHT.py [11|22|2302] GPIOpin#') print('example: sudo ./Adafruit_DHT.py 2302 4 - Read from an AM2302 connected to GPIO #4') sys.exit(1) humidity, temperature = Adafruit_DHT.read_retry(sensor, pin) while 1: print('Temp={0:0.1f}* Humidity={1:0.1f}%'.format(temperature, humidity)) time.sleep(1) |