树莓派加上温度传感器实现室内温度监控。可用于家庭,轿车,工业,农业 等许多方面。可做温度预警,自动降温等操作。各位小伙伴可自行脑补发挥。

1.硬件准备

a.树莓派(Raspberry Pi)一个

b.DS18B20温度传感器一个

c.4.7kΩ电阻一个 或 DS18B20模块一个

d.杜邦线(双头母)

2.组装(如图)

按照例图接好线 组装完成以后,确认硬件接线是否正确并生效。首先使用命令升级内核,命令如下:

apt-get update
apt-get upgrade

打开配置文件 sudo nano /boot/config.txt 在最后一行手动添加

dtoverlay=w1-gpio-pullup,gpiopin=4,保存并重启树莓派。

确认设备是否生效

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

查看当前温度:

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=25000

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

25000/1000=25摄氏度。

3.用python读取温度值

#/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

将以上代码文件存放:/home/pi/temperature.py 命令行运行代码。
python /home/pi/temperature.py 就可得出结果数值

4.数据上报物联网平台

yeelink是国内比较知名的免费物联网数据平台,国外有COSM(https://cosm.com)。注册yeelink 账号并添加设备和传感器。
修改刚刚写好的 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]
#用空格分割字符串成数组,并取最后一个,即t=23000
temperaturedata = secondline.split(" ")[9]
#取t=后面的数值,并转换为浮点型
temperature = float(temperaturedata[2:])
#转换单位为摄氏度
temperature = temperature / 1000
#拼接API 所需json数据
res = '{"value":%f}' %temperature
#打开创建文件,将温度值写入:/home/pi/datafile.txt
output = open('/home/pi/datafile.txt', 'w')
#写入数据
output.write(res)
#关闭文件
output.close

新增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。

添加到计划任务

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

这样就好20分钟讲温度数据上传到 yeelink 物联网平台,然后就可以在个人页面 看到数据变化曲线了。当然你也可以自己在树莓派上自己做页面,做曲线图分析数据及其他功能。这个就要靠各位自己发挥想象了。嘿嘿~~

关注一下,更多精彩,不容错过!

output怎么用_用树莓派实现室内温度监控相关推荐

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

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

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

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

  3. 树莓派远程视频监控的移植pistreaming

    现在有一种在树莓派远程视频监控方法,直接在浏览器中打开即可. 源码下载地址:https://github.com/waveform80/pistreaming 一.安装 1.安装各种依赖 $ sudo ...

  4. 图像 引言 深度学习_用树莓派4b构建深度学习应用(十二)口罩篇

    前言上一篇我们把环境和网络问题都解决了,这一篇在 COVID-19 仍在全世界肆虐的当下,我们尝试用 AI 来做一个有趣的自动戴口罩应用.主要用 OpenCV + CNN 来提取面部关键点坐标,再将口 ...

  5. python 网关控制家居_在树莓派上搭建智能家居网关

    智能家居系统利用大量的物联网设备(如温湿度传感器.安防系统.照明系统)实时监控家庭内部状态,完成智能调节.人机互动.随着物联网技术的发展,其应用范围.数据规模.市场份额将进一步扩大,智能家居设备之间的 ...

  6. 在树莓派上进行python编程_在树莓派上用Python控制LED

    所需材料 一个已经安装配置好了的树莓派 连接控制树莓派所用的其他必须设备 200Ω电阻 x 8 led x 8 面包板及连接线若干 电路连接 电路图 按照电路图所示,在面包板上进行连接. 编写程序 安 ...

  7. 树莓派外接显示器黑屏_解决树莓派连接显示屏No Signal的问题

    最近在树莓派4b上装了retropie,并且专门在网上购买了一块7寸的电子屏,想把它打造成一个便携式的街机.不料开机后发现,此电子屏一直显示No signal,于是开始调试这个问题. 1.首先怀疑电子 ...

  8. 4 anbox 树莓派_使用树莓派制作的远程开门器

    背景: 话说自从我厂的商务部门搬到旁边的商务楼之后,工程师发现漂亮的前台MM也搬走了,某区只留下冷冷清清的鱼缸.然后,工程师们发现开门成了个问题.鉴于进门需要刷卡,所以没有带卡的工程师就不得不摁下门铃 ...

  9. 树莓派python控制两个舵机_利用树莓派,光敏电阻和小型舵机实现自动获取 《最终幻想 X HD重制版》 连续避雷200次奖杯...

    我相信大家只要是玩过最终幻想 X的同学肯定头疼于跑鸟和连续避雷200次,为此可以说不眠不休,甚至连砸机器的心都有,这两个小游戏可谓极度变态.对于连续避雷200次这个小游戏,不仅要求玩家在屏幕出现闪电后 ...

最新文章

  1. 【C++】STL队列和栈的使用
  2. 05丨数据同步:主从库如何实现数据一致
  3. .NET Core验证ASP.NET密码
  4. python 颜色_如何使用python中matplotlib库分析图像颜色
  5. 疯了,要建飞铁!比飞机快3倍,4000km/h,北京到深圳半小时
  6. mongodb 权限设置--用户名、密码、端口
  7. 学习英语,先记下留着后用
  8. Java面试题之 static执行顺序
  9. C语言图书信息管理系统
  10. 让油猴脚本只执行一次
  11. 18650锂电池保护板接线图_锂电池保护板的原理介绍保护板的构成和主要作用
  12. Android 笔记 json GSON,Android中使用Gson解析JSON数据
  13. 计算机本科毕设答辩经验
  14. 思维导图----百度百科
  15. 计算机cpu风扇不转怎么办,电脑cpu风扇不转是怎么回事
  16. linpack实验:MPI代码调优
  17. 新冠疫情中,机器人开始担任基本劳动力...
  18. java读取txt文件乱码解决方案
  19. 电路设计中电容的常见作用
  20. MYSQL on和where的区别

热门文章

  1. 3500 yuan to php,350 CNY to PHP Currency Converter - 人民币 菲律宾比索 汇率兑换
  2. LSGO软件技术团队2015~2016学年第十六周(1214~1220)总结
  3. 连接 Microsoft Cloud App Security 的数据
  4. WSS 数据库表中的 UserInfo 表中的 tp_SystemId 字段的使用
  5. 详解Class类文件的结构(下)
  6. 一步步编写操作系统 39 二级页表1
  7. android 安卓市场,安卓市场(Android Market).doc
  8. 网络通道数2的倍数_限流笔记-通道限流(二)
  9. mybatis plus 事务管理器_SpringBoot第七篇:springboot开启声明式事务
  10. this指针不全等于对象地址