yeelink是一个物联网服务网站,可以将传感器的数据上传到yeelink上,将数据更好的展示出来,而且,可以使用yeelink开发更多有趣的东西,比如使用手机开关门窗等等。这篇文章教大家如何将树莓派的CPU、GPU温度传感器数据上传到yeelink上,并且进行监控,这样就可以以直观的图表查看树莓派的温度。
一、准备工作
所需材料:
树莓派一台,B或者B+信号的都可以
树莓派需要联网
1、注册yeelink账号
在Yeelink首页 注册一个账号并且登陆,按照开发指南添加设备、添加传感器
2、获取key以及传感器URL
在管理页面可以获得您的API Key,把他记下来
在用户中心页面,可以看到添加的传感器URL,共有两个,分别是树莓派CPU、GPU传感器URL。获得这些数据后就可以连接树莓派进行下一步的开发了。
二、使用yeelink API开始上传数
在准备工作完成后,可以登陆树莓派进行下一步工作。
1、安装vim
sudo apt-get install vim
2、更新系统
sudo apt-get update
3、新建文件 yeelink.py 添加以下内容
#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import time import commands def main(): # 需要填自己申请到的yeelink api Key 以及你的数据的url apiheaders = {'U-ApiKey': 'af14f3696b351f81431243243a968d8', 'content-type': 'application/json'} apiurl_gpu = 'http://api.yeelink.net/v1.0/device/348441/sensor/389816/datapoints' apiurl_cpu = 'http://api.yeelink.net/v1.0/device/348441/sensor/389815/datapoints' # 查看GPU温度 gpu = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' ) gpu = float(gpu) #print('gpu value:%.2f' % gpu) payload_gpu = {'value': gpu} r = requests.post(apiurl_gpu, headers=apiheaders, data=json.dumps(payload_gpu)) # 查看CPU温度 file = open("/sys/class/thermal/thermal_zone0/temp") cpu = float(file.read()) / 1000 file.close() payload_cpu = {'value': cpu} r = requests.post(apiurl_cpu, headers=apiheaders, data=json.dumps(payload_cpu)) time.sleep(1) if __name__ == '__main__': main()
4、运行 yeelink.py 文件,开始上报数据
py yeelink.py
等待程序执行完成,这时登陆yeelink网站,就可以看到树莓派的CPU、GPU温度数据了。
三、自动树莓派上传温度数据
第二步完成后,只有运行yeelink.py这个文件才能上报树莓派的温度监控数据,如果我们想让它自动完成,那么可以新建一个定时任务,来每隔一定时间自动上报温度数据。方法如下:
1、新建crontab计划任务
crontab -e
2、输入计划任务
详细的格式可以参考 linux下使用 crontab 设定定时任务 这篇文章,我们这里设定一个每隔5分钟上传数据的任务,在文件的最下方添加
*/5 * * * * python ~/yeelink.py
就像这样
这样就实现了树莓派每隔5分钟自动上传CPU、GPU温度数据的功能,就可以看到树莓派的CPU、GPU温度信息了。
监控页面在这里:
http://www.yeelink.net/devices/348441
2020年 4月 5日 星期日 11时52分03秒 CST 更新:
刚才看到这篇文章,真的是感慨万千,没想到设备在yeelink上还能看到,虽然yeelink已经不能登陆了。可以看到树莓派的状态更新时间永远的停留在了“11:10:03 2016-07-08
”,那是我最后撤出实验室的时间。从学校淄博坐火车回家是7月8日,树莓派是在走的前一天断掉的,之后就再也没有更新过了。
在设备的页面上,还可以看到设备原来的地址,真的是非常熟悉。
如果有机会,我想还在淄博。
原创文章,转载请注明: 转载自科技爱好者博客
本文链接地址: 树莓派上使用yeelink监控CPU、GPU温度 (https://www.tujing.site/1611)
如果博客对您有帮助,请给我 赞助
大神,我看到你的文章写的很不错,所以我自己也照着做了,但是在运行脚本的时候报错…
Traceback (most recent call last):
File "./yeelink.py", line 3, in <module>
import requests
ImportError: No module named requests
他说没有定义传感器的名字,但是我不会呀。不知道哪里需要改…请大神告知…谢谢
554412630@qq.com
你可能是没有安装requests这个库,安装后再试试吧:
pip install requests
大神 你好…我又来你的博客了…..
yeelink这篇教程写的很经典.我也成功了…
http://www.yeelink.net/devices/352548
但是我看见打什么的树莓派检测页面多出了,平衡负载,内存使用之类,比较高端的..我也想弄一个..所以请大神,分享下代码…CPU GPU 显示 太单一了,不能更好的显示树莓派的状况…
谢谢了。可以邮件发给我… 554412630@qq.com 晚安
那个代码在树莓派上,还没来得及发博客,然后树莓派放家里去了,现在也没办法给你发,不过有个树莓派状态信息的监控代码,你可以参考下:
http://www.tujing.site/1886
好的,一直没有回复.我看过了,参考了一下.最好博主还是发到博客,这样大家就都可以用了。
我最近没机会发出来,如果你弄好的话可以写篇文章介绍一下