文档章节

Raspberry Pi 使用DS18B20温度传感器

罗布V
 罗布V
发布于 2017/05/29 23:05
字数 475
阅读 115
收藏 2

DS18B20 温度传感器

最近心血来潮的想要折腾raspberry,所以就买了一堆的传感器,现在主要讲解温度传感器的使用。

![屏幕快照 2017-05-29 下午10.31.39](http://7xrkms.com1.z0.glb.clouddn.com/屏幕快照 2017-05-29 下午10.31.39.png)

Pin1(GND)接到 P1-06(GND) Pin2(DQ)接到 P1-07(GPIO4) Pin3(VCC)接到P1-01(3.3v)

为了能够让系统正确的识别传感器,我们需要对**/boot/config.txt**文件进行编辑

sudo vim /boot/config.txt

在文件的未必添加下面的语句

dtoverlay=w1-gpio,gpiopin=4

添加完成之后我们重启raspberry

sudo reboot

重启完成之后我们需要进行/sys/bus/w1/devices目录

cd /sys/bus/w1/devices

通过调用ls命令,我们发现这个目录会有类似28-0416b3b833ff这样的一个目录,这个目录名称并是你传感器的ID,.在目录下面会有一个w1_slave文件,我们通过调用 cat命令可以读取到传感器的实时数据。

cd 28-0416b3b833ff ls cat w1_slave

完整的命令如下图所示 ![屏幕快照 2017-05-29 下午10.42.01](http://7xrkms.com1.z0.glb.clouddn.com/屏幕快照 2017-05-29 下午10.42.01.png) 其中t=30312是我实际测量到温度值,在上面的图中的温度为30.312度

同时我们可以利用python脚本来读取数据

#!/usr/bin/python
def gettemp(id):
  try:
    mytemp = ''
    filename = 'w1_slave'
    f = open('/sys/bus/w1/devices/' + id + '/' + filename, 'r')
    line = f.readline() # read 1st line
    crc = line.rsplit(' ',1)
    crc = crc[1].replace('\n', '')
    if crc=='YES':
      line = f.readline() # read 2nd line
      mytemp = line.rsplit('t=',1)
    else:
      mytemp = 99999
    f.close()
 
    return int(mytemp[1])
 
  except:
    return 99999
 
if __name__ == '__main__':
 
  # Script has been called directly
  id = '28-0416b3b833ff'
  print "Temp : " + '{:.3f}'.format(gettemp(id)/float(1000))

我们通过命令行调用,得到如类似下面的结果

![屏幕快照 2017-05-29 下午10.48.50](http://7xrkms.com1.z0.glb.clouddn.com/屏幕快照 2017-05-29 下午10.48.50.png)

© 著作权归作者所有

共有 人打赏支持
上一篇: bluebird 笔记
罗布V
粉丝 13
博文 60
码字总数 47114
作品 0
温州
程序员
私信 提问
用树莓派和DS18B20做个汽车温度记录仪[原创]

用树莓派和DS18B20做个汽车温度记录仪[原创] 很想知道夏日阳光暴晒下,汽车内的最高温度以及温度的变化情况。觉得用树莓派和DS18B20来实现应该很简单,于是就尝试捣鼓了一下,半天时间就搞定...

helesheng
08/01
0
0
将边缘分析集成到 IoT 解决方案中

分析边缘的传感器数据来预防干草堆火灾 系列内容: 此内容是该系列 # 部分中的第 # 部分: 网络边缘的 IoT,第 2 部分 此内容是该系列的一部分:网络边缘的 IoT,第 2 部分 敬请期待该系列的...

Ori Pomerantz
05/29
0
0
Raspberry Pi 开箱报告

淘宝网购的Raspberry Pi到货了,是中国版的。同时还购买了一个USBwifi网卡,一个5V2A的适配器,一张8GClass10的SD卡,一个20000mAh的移动电源能提供5V2A输出,一个黄色外壳。 店家将资料放在...

JonL
2013/01/08
0
1
[MicroPython]stm32f407控制DS18B20检测温度

1.实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法。 2. 进一步学习编制数据输出程序的设计方法。 3. 学习DS18B20的接线方法,并利用DS18B20检测当前温度。 2.所需元器件 F407Micropyt...

bodasisiter
08/13
0
0
用树莓派搭建简单的传感器物联网应用

这里选取DS18B20作为温度传感器,该传感器使用单总线连接至树莓派。本例将采集到的温度数据同时上传乐为物联及Yeelink两个IoT云端平台. 1. 挂载DS18B20 2. 安装Python的库单总线温度计访问库...

BetaYuan
2016/10/25
122
0

没有更多内容

加载失败,请刷新页面

加载更多

Andrew Ng教你如何引领公司进入AI时代

摘要: 人工智能时代,企业转型遇到困难?看看Andrew Ng的建议吧! AI(人工智能)技术就像100年前的电力一样,正准备改变每个行业。从现在到2030年,它将创造约13万亿美元的GDP增长。虽然它...

阿里云官方博客
4分钟前
0
0
斗图咖(www.doutuka.com)上线纪念

网站名称:斗图咖 网站描述:是一款年轻人都在玩的斗图网站,来斗图咖一起斗图装逼交朋友吧。站长每天上传收集的最新最火斗图,供大家娱乐聊天发表情;后期也会开发表情自主设计,自己设计表...

focusone
25分钟前
3
0
Spring AOP 切面编程记录日志和接口执行时间

最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统...

编程SHA
36分钟前
5
0
15个Spring的核心注释示例

众所周知,Spring DI和Spring IOC是Spring Framework的核心概念。让我们从org.springframework.beans.factory.annotation和org.springframework.context.annotation包中探索一些Spring核心注......

java菜分享
42分钟前
2
0
[LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7 返回他的分层遍历结果: [ [3], [...

honeymose
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部