基于raspberry的温湿度传感器

 

实验器材:树莓派三代b型,温湿度传感器DHT11型号,5寸显示器,无线键盘,内存等。

树莓派实物图

基于raspberry的温湿度传感器_第1张图片

树莓派原理图

基于raspberry的温湿度传感器_第2张图片

 

上图中要中到的接口有

DC power 5v DC power 3.3v  Ground接口  GPIO接口

下面来看温湿度传感器DHT11实物原理图

 

基于raspberry的温湿度传感器_第3张图片

上图中要用到接口有VCC GND DATA接口

 

vcc接上电源正极pc power3.3v接口

gnd接到ground接口

data接到gpio接口

使用三根母对母的线进行连接

 

如果要使用5v的电源则 需要串联一个电阻,电阻起到限流的作用。

 

nc接口悬空(芯片中的nc引脚没有任何用途,只限于封装,但却必须存在)

 

在这里使用python脚本获得数据再将这些数据通过电位换算获得实际的温湿度

Import RPI.GPIO as GPIO 
Import time

Channel =4 
Data = []
J = 0

GPIO.setmode(GPIO.BCM)

Time.sleep(1)

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 GPIO.input(channel) == GPIO.LOW:
  Continue
While GPIO.input(channel) == GPIO.HIGH:
  Continue

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

Print “sensor is working.”
Print data

Humidity_bit = data[0:8]
Humidity_point_bit = data[8:16]
Temperature_bit = data[16:24]
Temperature_point_bit = data[24:32]
Check_bit = data[32:40]

Humidity = 0
Humidity_point = 0
Temperature = 0
Temperature_point = 0
Check = 0

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)

Tmp = humidity + humidity_point + temperature + temperature_point

If check == tmp:
  Print “temperature :”, temperature, “*C, humidity :”, humidity, “%”
Else:
  Print “wrong”
  Print “temperature :”, temperature, “*C, humidity :”, humidity, “% check :”, check, “, tmp :”, tmp

GPIO.cleanup()

说明:
1)GPIO.setmode(GPIO.BOARD),采用插座引脚编号方式。
由于进行过一次编码转换,所以channel只需要修改为对应的引脚即可

 

接线完成后 启动python脚本

基于raspberry的温湿度传感器_第4张图片

获得当前温度28摄氏度 湿度百分之58

 

 

2.将数据通过网页的形式显示出来

首先要配置apache服务器

apt-get install apache (下载阿帕奇服务)

service apache start(开启阿帕奇服务)

然后将启动 python temp.py >> /var/www/html/index.html

将数据重定向到服务器里

最后访问对应的ip地址80端口就可以随时随地查看当前的温度情况

 

基于raspberry的温湿度传感器_第5张图片

 

你可能感兴趣的:(基于raspberry的温湿度传感器)