一、硬件准备
1、树莓派(Raspberry Pi)一个
2、DS18B20温度传感器一个(淘宝大概5元左右)
3、4.7kΩ电阻一个 或 DS18B20模块一个(笔者用,淘宝1.5元一个,其实就是店家帮忙把电阻焊好了,接线稍好看些)。
4、杜邦线三根(双头母)

二、接线方式(如图所示)

三、确认硬件接线是否正确并生效,并读取温度
1、首先升级内核(可忽略,但如果版本较老,可能影响设备读取)

apt-get update
apt-get upgrade

修改配置:

sudo nano /boot/config.txt

在最后一行手动添加这个,保存并重启树莓派。

dtoverlay=w1-gpio-pullup,gpiopin=4

根据官方的说法,在2015-02-16之后的Raspbain版本,为了防止GPIO的冲突,使用了新的dt策略,查看 /boot/overlay/readme

2、确认设备是否生效

sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices/
ls

显示结果:

pi@raspberrypi:~$ cd /sys/bus/w1/devices/
pi@raspberrypi:/sys/bus/w1/devices$ ls
28-00000494cb79 w1_bus_master1

28-00000494cb79就是笔者外接的温度传感器设备,但并不是每个客户端都显示一样的,这个是传感器的序列号。

3、查看当前温度

cd 28-00000494cb79
cat w1_slave

显示结果:

70 01 4b 46 7f ff 10 10 e1 : crc=e1 YES
70 01 4b 46 7f ff 10 10 e1 t=23000

第二行的t=23000就是当前的温度值,要换算成摄氏度,除以1000,即当前温度为23000/1000=23摄氏度。

四、用python读取温度值
文件存放:/home/pi/temperature.py
内容如下:

#/home/pi/temperature.py
#打开温度传感器文件
tfile = open("/sys/bus/w1/devices/28-00000494cb79/w1_slave")
#读取文件所有内容
text = tfile.read()
#关闭文件
tfile.close()
#用换行符分割字符串成数组,并取第二行
secondline = text.split("\n")[1]
#用空格分割字符串成数组,并取最后一个,即t=23000
temperaturedata = secondline.split(" ")[9]
#取t=后面的数值,并转换为浮点型
temperature = float(temperaturedata[2:])
#转换单位为摄氏度
temperature = temperature / 1000
#打印值
print temperature

在命令行运行,即可得出结果数值:
python /home/pi/temperature.py

五、上报到yeelink
yeelink是国内比较知名的免费物联网数据平台,国外有COSM(https://cosm.com)。
申请yeelink账号及添加设备和传感器,以及API的学习,本文跳过,请大家自行去学习一下。

根据yeelink API的规则,我们需要提供一个文本文件,内容为一段JSON,如下:

{
“timestamp”:”2012-03-15T16:13:14″,
“value”:294.34
}

若未指定timestamp, 服务器会自动加上当前时间,所以本文的操作不添加该字段

1、修改python,将温度值用JSON格式保存到一个文本文件,全部如下:

#/home/pi/temperature.py
tfile = open("/sys/bus/w1/devices/28-00000494cb79/w1_slave")
text = tfile.read()
tfile.close()
secondline = text.split("\n")[1]
temperaturedata = secondline.split(" ")[9]
temperature = float(temperaturedata[2:])
temperature = temperature / 1000
res = '{"value":%f}' %temperature
output = open('/home/pi/datafile.txt', 'w')
output.write(res)
output.close

python将温度值写入:/home/pi/datafile.txt

2、新增yeelink.sh脚本
文件位置:/home/pi/yeelink.sh
内容如下:

sudo python /home/pi/temperature.py
curl --request POST --data-binary @"/home/pi/datafile.txt" --header "U-ApiKey:XXXXXXXXXXXXXXXX" http://api.yeelink.net/v1.0/device/1969/sensor/2533/datapoints

将U-ApiKey:XXXXXXXXXXXXXXXX替换为自已账户的API Key。
后面的URL也需要替换为自己申请的传感器URL。

3、添加到计划任务

#为脚本增加可执行权限
sudo chmod +x yeelink.sh
#将脚本加入cronjob(计划任务)
sudo crontab -e
#在cornjob文件中添加下面一行,并保存(表示10分钟执行一下脚本,时间可自行修改)
*/10 * * * * /home/pi/yeelink.sh

树莓派+温度传感器实现室内温度监控相关推荐

  1. php读取树莓派温度传感器,用树莓派实现室内温度监控

    树莓派加上温度传感器实现室内温度监控.可用于家庭,轿车,工业,农业 等许多方面.可做温度预警,自动降温等操作.各位小伙伴可自行脑补发挥. 1.硬件准备 a.树莓派(Raspberry Pi)一个 b. ...

  2. output怎么用_用树莓派实现室内温度监控

    树莓派加上温度传感器实现室内温度监控.可用于家庭,轿车,工业,农业 等许多方面.可做温度预警,自动降温等操作.各位小伙伴可自行脑补发挥. 1.硬件准备 a.树莓派(Raspberry Pi)一个 b. ...

  3. python实现树莓派监控_用树莓派实现室内温度监控

    树莓派加上温度传感器实现室内温度监控.可用于家庭,轿车,工业,农业 等许多方面.可做温度预警,自动降温等操作.各位小伙伴可自行脑补发挥. 1.硬件准备 a.树莓派(Raspberry Pi)一个 b. ...

  4. 树莓派+UVC摄像头+网络监控

    电脑上观看树莓派的USB摄像头图像 想在自家房间搭建个USB摄像头.城中村还是比较乱的.路人吵吵吵.不信任那些人的德行,自好自行做好准备一套好 装好拆的设备.想看他们时候,可以立马安装设备. 硬件上: ...

  5. 树莓派 摄像头 VLC实时监控

    这两天在捣鼓树莓派摄像头通过电脑实时监控,有一枚官方鱼眼摄像头,本来是打算实现在任何网络中都可以直接访问,看网上很多教程都是VLC,于是就按照教程来,后来发现VLC只能在局域网中,那就先局域网吧. 网 ...

  6. 12.树莓派mjpg-streamer实现实时监控(树莓派摄像头的安装)

    树莓派mjpg-streamer实现实时监控 准备工作 树莓派扩容 使用raspi-config扩容(推荐) 安装依赖库 安装git及git源码 编译安装mjpeg 使能摄像头 启动摄像头(验证) 参 ...

  7. 【树莓派】网络视频监控

    利用树莓派和CSI摄像头,通过两种常见方案,我们可以简单实现局域网内的实时视频监控,接下来就讲解下如何部署这两种方案. 测试环境 硬件:树莓派3B/3B+ 系统:Raspberry Debian 9 ...

  8. 树莓派+温度传感器DS18B20

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

  9. 树莓派usb摄像头网络监控(定时拍照+网络存储)

    (一)树莓派使用USB摄像头 说明最好是linux下能支持的uvc摄像头,我用的uvc301的摄像头,linux下一般免驱. 1.首先更新firmware: rpi-update是老外开发的一个更新树 ...

最新文章

  1. 计算机英语protocols,计算机网络协议词汇Protocols
  2. 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决
  3. UIViewAnimationOptions类型与modalTransitionStyle模态样式
  4. 单目视觉机器人的循迹_机器人视觉系统传感器的关键技术盘点
  5. javascript遍历json对象数据的方法
  6. mysql 查询polygon_如何通过mysql 判断点是否在指定多边形区域内
  7. Javascript对象数组排序
  8. 字符串转python对象
  9. 植物大战僵尸音乐计算机简谱,植物大战僵尸主题曲简谱|植物大战僵尸主题曲:Zombies on Your Lawn...
  10. Python实现问卷星表单机刷
  11. c# WPF中通过双击编辑DataGrid中Cell的示例(附源码)
  12. ggplot去掉背景网格线和更改为白色背景
  13. FirmAE安装指北
  14. python 汉字与拼音的转换--pypinyin
  15. 加强立法规制个人信息滥用
  16. jq实现购物车结算和数量更改功能
  17. python教程1009python教程_GitHub - gyl1009/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...
  18. css选择器优先级及权重计算
  19. Python中 whl包、tar.gz包的区别
  20. php养老院管理系统百度网盘_养老院信息管理系统源码老人管理系统

热门文章

  1. OA系统需求功能介绍
  2. Kali Linux 下载、引导、安装
  3. Spring应用启动后执行任务的几种方法
  4. JUC并发编程系列详解篇十四(自旋锁 VS 适应性自旋锁)
  5. 交通咨询系统(最短路径问题)
  6. CMD查看当前文件路径下的所有文件名
  7. break跳出几层循环_Go循环语句的使用
  8. OPC客户端分析 —— 读和写
  9. SolidWorks API Help------功能类别(3)
  10. 认识计算机操作系统ppt,使用操作系统,认识计算机.ppt