小e开发板使用了ESP-WROOM-02模块,可以很方便的运行micropython。小e上面还有DHT11温湿度传感器,它是单线接口(但不是oenwire接口),而micropython内置了DHT11的单线驱动,我们可以非常简单的读取DHT11的传感器参数。
先输入DHT11的库:
import esp
from machine import Pin
class DHT11(object): def __init__(self, pin): self.pin = Pin(pin) self.buf = bytearray(5) def measure(self): buf = self.buf esp.dht_readinto(self.pin, buf) if (buf[0] + buf[1] + buf[2] + buf[3]) & 0xff != buf[4]: raise Exception("checksum error") return buf def getHumi(self): return self.measure()[0] def getTemp(self): return self.measure()[2] def get(self): return [self.measure()[0], self.measure()[2]] 然后定义一个DHT11的变量,因为在开发板上DHT11连接的是GPIO05,所以参数是5。
dht=DHT11(5)
读取温度和湿度参数:
d.getTemp()
d.getHumi()
同时读取:
d.get()
DHT11.zip (377 字节)