new_contents: # DHT11/DHT22 driver for MicroPython on ESP8266
  # MIT license; Copyright (c) 2016 Damien P. George
  
  import esp
  
  class DHTBase:
      def __init__(self, pin):
          self.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")
  
  class DHT11(DHTBase):
      def humidity(self):
          return self.buf[0]
  
      def temperature(self):
          return self.buf[2]
  
  class DHT22(DHTBase):
      def humidity(self):
          return (self.buf[0] << 8 | self.buf[1]) * 0.1
  
      def temperature(self):
          t = ((self.buf[2] & 0x7f) << 8 | self.buf[3]) * 0.1
          if self.buf[2] & 0x80:
              t = -t
          return t
  
subject: Add dht.py script for high-level control of DHT11/DHT22 sensor.