树莓派温度检测
一、shell命令
登录树莓派之后使用指令查看CPU温度,依次输入以下指令:
# 进入目录
cd /sys/class/thermal/thermal_zone0
# 查看温度
cat temp
# 树莓派返回
47236
这时温度是47.236摄氏度。
二、终端一条命令
vcgencmd measure_temp,#然后回车
vcgencmd measure_temp
这时温度是46.7摄氏度。
三、把温度上传云端
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温度信息了。