文档章节

Raspberry Pi 使用DS18B20温度传感器

罗布V
 罗布V
发布于 2017/05/29 23:05
字数 475
阅读 101
收藏 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)

© 著作权归作者所有

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

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

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

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

Ori Pomerantz
05/29
0
0
[MicroPython]stm32f407控制DS18B20检测温度

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

bodasisiter
08/13
0
0
Raspberry Pi 开箱报告

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

JonL
2013/01/08
0
1
5 个帮助您加速 IoT 开发的流行 IoT 开发工具包

IoT 开发工具包是专为快速开发 IoT 解决方案而设计的硬件工具包。开发工具包将一个微控制器或单板计算机和兼容的组件捆绑在一起,您可以使用它们设计 IoT 设备的原型。IoT 开发工具包通常包含...

developerWorks中国
2017/11/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链教程以太坊源码分析chain-indexer区块链索引一

兄弟连区块链教程以太坊源码分析chain-indexer区块链索引一 chain_indexer 区块链索引 chain_indexer.go 源码解析 chain_indexer 顾名思义, 就是用来给区块链创建索引的功能。 之前在eth协议...

兄弟连区块链入门教程
19分钟前
1
0
社会化分享插件集成分享

一.前提摘要 社会化分享每个app必备的推广需求,无论是拉新,邀请,游戏奖励,等等都离不开分享的影子,下面我们介绍下社会化分享的插件; 首先要说下,现在的社交App,社区App等,国内外的...

佳妮
20分钟前
1
0
IOC 之 Spring 统一资源加载策略

统一资源:Resource org.springframework.core.io.Resource 为 Spring 框架所有资源的抽象和访问接口 它继承 org.springframework.core.io.InputStreamSource接口 作为所有资源的统一抽象,S...

职业搬砖20年
20分钟前
1
0
Python爬虫实战入门一:工具准备

一、基础知识 使用Python编写爬虫,当然至少得了解Python基本的语法,了解: 基本数据结构 数据类型 控制流 函数的使用 模块的使用 不需要过多过深的Python知识,仅此而已。 个人推荐《Pytho...

糖宝lsh
24分钟前
1
0
Hanlp中使用纯JAVA实现CRF分词

Hanlp中使用纯JAVA实现CRF分词 与基于隐马尔可夫模型的最短路径分词、N-最短路径分词相比,基于条件随机场(CRF)的分词对未登录词有更好的支持。本文(HanLP)使用纯Java实现CRF模型的读取与...

左手的倒影
26分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部