文档章节

Raspberry Pi 使用DS18B20温度传感器

罗布V
 罗布V
发布于 2017/05/29 23:05
字数 475
阅读 603
收藏 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
博文 62
码字总数 51109
作品 0
温州
程序员
私信 提问
加载中

评论(0)

树莓派 Zero W+温度传感器DS18B20

树莓派 Zero W+温度传感器DS18B20 作者:陈拓chentuo@ms.xab.ac.cn 2018.05.28/2018.06.01 0. 概述 用树莓派 Zero W读取DS18B20温度,上传到物联网平台。 1. 准备 1.1 硬件 树莓派Pi Zero W...

osc_j0zz20y1
2018/07/05
0
0
用树莓派和DS18B20做个汽车温度记录仪[原创]

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

helesheng
2018/08/01
0
0
用树莓派和DS18B20做个汽车温度记录仪

原文:用树莓派和DS18B20做个汽车温度记录仪 用树莓派和DS18B20做个汽车温度记录仪[原创] 很想知道夏日阳光暴晒下,汽车内的最高温度以及温度的变化情况。觉得用树莓派和DS18B20来实现应该很简...

osc_nnd0q3n4
2018/08/02
3
0
玩转X-CTR100 l STM32F4 l DS18B20单总线温度传感器

我造轮子,你造车,创客一起造起来!塔克创新资讯【塔克社区 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/ 】 本文介绍X-CTR100控制器 扩展DS18B20温度传感器。 原理 DS18B20 是美信公...

xtarker
2018/08/06
0
0
将边缘分析集成到 IoT 解决方案中

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

Ori Pomerantz
2018/05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Python基础-04元组

4.元组     元组的主要特性为: 1.元组在创建之后,具有不可以更改的特性,因此不能直接给元组的元素赋值 2.元组的元素类型可以为任意类型,如字典、字符串、列表等 3.元组常用于在程序的整...

osc_b2jll5m6
32分钟前
22
0
怎么在流程图中插入超链接?迅捷画图带你两步解决!

怎么在流程图中插入超链接?如何在WORD中插入超链接很多人都知道,但是对于陌生的流程图,很多人在进行流程图展示和讲解的时候,都会选择提前将需要的网页打开,然后手动进行更换。 这种手动...

真不莲
32分钟前
19
0
直播中音视频处理的一般流程

数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1、数据采集: 摄像机及拾音器收集视频及音频数据,此时得到的为原始数据 涉及技术或协议: 摄像机:CCD、CMOS 拾音器:声...

图玩智能科技
33分钟前
27
0
IntelliJ中的main函数和System.out.println()快捷键

https://blog.csdn.net/shijiebei2009/article/details/44726433

诗书易经
33分钟前
19
0
python 数据可视化实战(1)折线图绘制

  本篇博客新开一个数据分析后的数据可视化的例子讲解,每一篇博客是一个例子。   这节课学习如何绘制一个折线图。题目如下:   代码如下: import matplotlib.pyplot as pltimport m...

osc_xdc1vjza
33分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部