树莓派+温度传感器实现室内温度监控
一、硬件准备
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
树莓派+温度传感器实现室内温度监控相关推荐
- php读取树莓派温度传感器,用树莓派实现室内温度监控
树莓派加上温度传感器实现室内温度监控.可用于家庭,轿车,工业,农业 等许多方面.可做温度预警,自动降温等操作.各位小伙伴可自行脑补发挥. 1.硬件准备 a.树莓派(Raspberry Pi)一个 b. ...
- output怎么用_用树莓派实现室内温度监控
树莓派加上温度传感器实现室内温度监控.可用于家庭,轿车,工业,农业 等许多方面.可做温度预警,自动降温等操作.各位小伙伴可自行脑补发挥. 1.硬件准备 a.树莓派(Raspberry Pi)一个 b. ...
- python实现树莓派监控_用树莓派实现室内温度监控
树莓派加上温度传感器实现室内温度监控.可用于家庭,轿车,工业,农业 等许多方面.可做温度预警,自动降温等操作.各位小伙伴可自行脑补发挥. 1.硬件准备 a.树莓派(Raspberry Pi)一个 b. ...
- 树莓派+UVC摄像头+网络监控
电脑上观看树莓派的USB摄像头图像 想在自家房间搭建个USB摄像头.城中村还是比较乱的.路人吵吵吵.不信任那些人的德行,自好自行做好准备一套好 装好拆的设备.想看他们时候,可以立马安装设备. 硬件上: ...
- 树莓派 摄像头 VLC实时监控
这两天在捣鼓树莓派摄像头通过电脑实时监控,有一枚官方鱼眼摄像头,本来是打算实现在任何网络中都可以直接访问,看网上很多教程都是VLC,于是就按照教程来,后来发现VLC只能在局域网中,那就先局域网吧. 网 ...
- 12.树莓派mjpg-streamer实现实时监控(树莓派摄像头的安装)
树莓派mjpg-streamer实现实时监控 准备工作 树莓派扩容 使用raspi-config扩容(推荐) 安装依赖库 安装git及git源码 编译安装mjpeg 使能摄像头 启动摄像头(验证) 参 ...
- 【树莓派】网络视频监控
利用树莓派和CSI摄像头,通过两种常见方案,我们可以简单实现局域网内的实时视频监控,接下来就讲解下如何部署这两种方案. 测试环境 硬件:树莓派3B/3B+ 系统:Raspberry Debian 9 ...
- 树莓派+温度传感器DS18B20
作者:陈拓chentuo@ms.xab.ac.cn 2018.05.28/2018.06.01 0. 概述 用树莓派读取DS18B20温度,上传到物联网平台. 1. 准备 1.1 硬件 我用树莓派 ...
- 树莓派usb摄像头网络监控(定时拍照+网络存储)
(一)树莓派使用USB摄像头 说明最好是linux下能支持的uvc摄像头,我用的uvc301的摄像头,linux下一般免驱. 1.首先更新firmware: rpi-update是老外开发的一个更新树 ...
最新文章
- 计算机英语protocols,计算机网络协议词汇Protocols
- 计算机数据恢复教程视频,视频删了怎么恢复?小技巧帮你快速解决
- UIViewAnimationOptions类型与modalTransitionStyle模态样式
- 单目视觉机器人的循迹_机器人视觉系统传感器的关键技术盘点
- javascript遍历json对象数据的方法
- mysql 查询polygon_如何通过mysql 判断点是否在指定多边形区域内
- Javascript对象数组排序
- 字符串转python对象
- 植物大战僵尸音乐计算机简谱,植物大战僵尸主题曲简谱|植物大战僵尸主题曲:Zombies on Your Lawn...
- Python实现问卷星表单机刷
- c# WPF中通过双击编辑DataGrid中Cell的示例(附源码)
- ggplot去掉背景网格线和更改为白色背景
- FirmAE安装指北
- python 汉字与拼音的转换--pypinyin
- 加强立法规制个人信息滥用
- jq实现购物车结算和数量更改功能
- python教程1009python教程_GitHub - gyl1009/codeparkshare: Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐...
- css选择器优先级及权重计算
- Python中 whl包、tar.gz包的区别
- php养老院管理系统百度网盘_养老院信息管理系统源码老人管理系统