tinkerboardS读取DHT22温湿度传感器数据

DHT22

买了tinkerboardS一直吃灰没用,一直丢在角落,最近想拿来折腾,买了一些乱七八糟的传感器,拿来折腾,最后发现很多教程都基于树莓派,库也是只能用于树莓派和BeagleBone Black。于是搜索了许久后,发现了一个基于GPIO库读取DHT11传感器数据的,通过搜索,DHT11和DHT22基本上一样,除了最后数据处理方式。

下载:

git clone https://github.com/szazo/DHT11_Python

修改dht11/__init.py__,没处理零下数据,没有相对环境测试,就没搞了。

#74、75行
temperature = the_bytes[2] + float(the_bytes[3]) / 10
humidity = the_bytes[0] + float(the_bytes[1]) / 10
#修改为:
temperature = (the_bytes[2]*256 + the_bytes[3]) / 10
 humidity = (the_bytes[0]*256 + the_bytes[1]) / 10

读取数据,有时候会数据会校验失败等,多读几次就好了。

import RPi.GPIO as GPIO
import dht11
import time

# initialize GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.cleanup()

# read data using pin 4
instance = dht11.DHT11(pin = 4)
result = instance.read()

while True:
    if result.is_valid():
        print("T: %-3.1f C,H:%-3.1f %%" % (result.temperature,result.humidity))
    else:
        print("Error: %d" % result.error_code)
    time.sleep(2)

读取数据

发表评论

0条评论

设置
配色方案

布局

现在购买