树莓派DHT11温湿度监控

功能

  • 远程监控温湿度 数据持久化 在网页查看历史数据

效果

  • 系统实物图
    树莓派DHT11温湿度监控_第1张图片
    树莓派和DHT11
  • 网页
    树莓派DHT11温湿度监控_第2张图片
    温湿度

原理

  • 使用树莓派I/O驱动DHT11 向模块发送一个高电平后 根据时序信号接收数据
  • DHT11原理

硬件设计

  • 使用树莓派为DHT11供电 将BCM编码的18引脚与DHT11的OUT引脚连接

软件设计

  • 开启DHT11
GPIO.setup(channel, GPIO.OUT)
GPIO.output(channel, GPIO.LOW)
time.sleep(0.02)
GPIO.output(channel, GPIO.HIGH)
GPIO.setup(channel, GPIO.IN)
  • 接受数据
while j < 40:
  k = 0
  while GPIO.input(channel) == GPIO.LOW:
    continue
  while GPIO.input(channel) == GPIO.HIGH:
    k += 1
    if k > 100:
      break
  if k < 8:
    data.append(0)
  else:
    data.append(1)
  j += 1
  • 校验数据
for i in range(8):
  humidity += humidity_bit[i] * 2 ** (7-i)
  humidity_point += humidity_point_bit[i] * 2 ** (7-i)
  temperature += temperature_bit[i] * 2 ** (7-i)
  temperature_point += temperature_point_bit[i] * 2 ** (7-i)
  check += check_bit[i] * 2 ** (7-i)

源码

项目源码

你可能感兴趣的:(树莓派DHT11温湿度监控)