文档章节

Raspberry Pi 使用DS18B20温度传感器

罗布V
 罗布V
发布于 2017/05/29 23:05
字数 475
阅读 67
收藏 2
点赞 0
评论 0

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
温州
程序员
将边缘分析集成到 IoT 解决方案中

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

Ori Pomerantz ⋅ 05/29 ⋅ 0

5 个帮助您加速 IoT 开发的流行 IoT 开发工具包

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

developerWorks中国 ⋅ 2017/11/23 ⋅ 0

Raspberry Pi 开箱报告

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

JonL ⋅ 2013/01/08 ⋅ 1

用树莓派搭建简单的传感器物联网应用

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

BetaYuan ⋅ 2016/10/25 ⋅ 0

温度传感器+I2C+串口+PC上位机(pyserial)例子

温度传感器+I2C+串口+PC上位机(pyserial)例子 例子写的有点乱,主要是学习: 温度传感器DS18b20,E2PROM,I2C, 串口读写,PC上位机(pyserial)数据显示 SerialPort.py PC串口上位机程序,...

小熊宝宝 ⋅ 2014/07/26 ⋅ 4

树莓派动手实验-2.温湿度传感器DHT11实验

前面用pi点亮了LED有点小兴奋有木有?下面牛逼些,平时看搞电子的工程师采个电压电流温湿度的,觉得倍牛,现在我们也试下。 准备工作,老样子Pi一只,温湿度传感器DHT11一头,10K欧姆的电阻一...

quanpower ⋅ 2013/11/30 ⋅ 1

树莓派与Yeelink的交互

安装ds18b20驱动 sudo modprobe w1-gpio sudo modprobe w1-therm cd /sys/bus/wi/devices/ ls 看传感器是否被正确识别 cat /sys/bus/w1/devices/传感器序列号/w1_slave 使用Python代码 读取数......

CSDNhuaong ⋅ 01/06 ⋅ 0

Micropython开发板DIY智能温控小风扇

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

bodasisiter ⋅ 2016/12/06 ⋅ 0

基于MXL90614设计温度传感器

摘要:提供了一种基于数字式红外传感器MLX90615的多点红外测温方法。STM32微处理器通过SMBus总线协议与MLX90615进行通信,首先分别对每个MLX90615地址进行修改,确保其地址编号在总线上的唯一...

victor790613 ⋅ 2017/04/12 ⋅ 0

stc89c52单片机 基于GSM的温度监测系统

那个STC89C52板子上不是有DS18B20温度传感器的接口嘛。请问,那谁那里有这个相关的温度采集程序吗?

ssby ⋅ 2013/01/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring Cloud构建微服务架构—创建“服务注册中心”

创建一个基础的Spring Boot工程,命名为eureka-server,并在pom.xml中引入需要的依赖内容: <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-par......

itcloud ⋅ 21分钟前 ⋅ 0

拖动

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>event</title> <style> #box { width: 100px; height: 100px; background-color: aquamarine; position: absolute; } </style......

fyliujj ⋅ 23分钟前 ⋅ 0

es6 polyfill array

polyfill之javascript函数的兼容写法——Array篇 1. Array.isArray(obj) if (!Array.isArray) { Array.isArray = function(arg) { return Object.prototype.toString.call(arg) === '[objec......

球球 ⋅ 25分钟前 ⋅ 0

kibana启动异常

检查一下:kibana.yml 每一对key:value中,冒号之后应有空格。

增删改查1 ⋅ 27分钟前 ⋅ 0

js修改img的src属性刷新图片时的图片缓存问题

问题:上传一张图片,通过js更新src属性刷新图片使其即时显示时, 当img的src当前的url与上次地址无变化时(只更改图片,名称不变,不同图片名称相同)图片不变化(仍显示原来的图片) 但通过...

HaierBrother ⋅ 27分钟前 ⋅ 0

Mysql

1.Jdbc Url 设置allowMultiQueries为true和false mysql的批量更新是要我们主动去设置的, 就是在数据库的连接url上设置一下,加上* &allowMultiQueries=true *即可。 参数名称 参数说明 缺省...

瑟青豆 ⋅ 31分钟前 ⋅ 0

mysql导出导入表结构与数据

当我们需要进行数据迁移时,mysql自带的mysqldump会是最好的方式。 1.导出某张表的结构和数据 首先,我们应当使用服务器,打开终端,连接到所需要导出的表所在的服务器上。执行命令: mysqld...

hengbao5 ⋅ 31分钟前 ⋅ 0

世界杯也走向“比拼”大数据的时代

《日本经济新闻》6月19日报道称,俄罗斯足球世界杯已于6月14日揭开战幕。作为第21次举办的足球世界杯,如何活用大数据有可能成为决定各支球队胜负的重要因素。从对阵球队的分析到战术建议,还...

加米谷大数据 ⋅ 31分钟前 ⋅ 0

金额转为千分制,金额转中文大写

金额转关为大写 /** 数字金额大写转换(可以处理整数,小数,负数) */ function digitUppercase(n){ if(!n) reutrn "" let fraction = ['角', '分']; let digit = [...

YXMBetter ⋅ 34分钟前 ⋅ 0

开发利器JRebel部署SpringBoot项目

不要以为年纪轻轻就跌倒了人生谷底,未来还有更大的下降空间等着你。 idea下载和安装JRebel 激活JRebel 访问https://my.jrebel.com/ 使用facebook或twitter登录 勾选 Build project automati...

郑龙飞 ⋅ 40分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部