基于raspberry的温湿度传感器

 

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

树莓派实物图

树莓派原理图

 

上图中要中到的接口有

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

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

 

上图中要用到接口有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脚本

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

 

 

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

首先要配置apache服务器

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

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

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

将数据重定向到服务器里

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

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值