实时查看M1的CPU温度

实时查看M1的CPU温度

刚刚知道可以通过sensors指令查看当前CPU的温度,当我们在输入sensors指令后,就可以看到如下的内容:


如果你运行sensors指令提示错误的话,是由于没有安装此程序,可能通过如下指令进行安装:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install sensors

好了,现在我们已经能知道当前的CPU的温度了,但是如果我们想随时知道这个数值,反复运行这个指令就过于麻烦了,我的思路是让M1随时的把这个数值上传到http://www.yeelink.net/网站上,我们可以通过网页或者客户端随时查看CPU的温度,感觉是不是很方便?!下面我们一起来完成它吧。

1、首先我们要去http://www.yeelink.net/ 注册一个用户

2、完成后进入用户中心,得到API key值,如下图


3、增加新设备,内容可以自行简单填写


4、在管理设备页面中增加一个传感器



5、获取URL和ID数值

我们是通过利用python的requests模块将获取的数据post到yeelink网站。这里用的对应传感器的Url及ID通过下图获得


6、代码实现

首先安装python3的requests模块,安装指令如下:

apt-get install python3-requests


以下代码在python3.2下实验通过

将下面代码的XXXXXX和YYYYYY替换成你自己的ID代码和API key值就可以了。

#!/usr/bin/envpython3
#-*- coding: utf-8 -*-
importsubprocess
importrequests
importjson
#获得当前cpu的温度信息
p= subprocess.Popen('sensors',stdout=subprocess.PIPE)
#读取CPU温度信息
s= p.stdout.read().decode('utf-8')
#读取读取CPU温度信息第三行的内容
tt= s.split("\n")[2]
#切割出我们想要的CPU温度数值
cputem=tt[15:19]
#yeelink设备地址
cputem_apiurl='http://api.yeelink.net/v1.0/device/233219/sensor/XXXXXXX/datapoints'
#设置ApiKey,设置headers内容
apiheaders={'U-ApiKey':'YYYYYY','content-type':'application/json'}
#设置CPU温度数值内容
payload= {'value':cputem}
#传送CPU温度数值内容到yeelink网站
requests.post(cputem_apiurl,data=json.dumps(payload), headers=apiheaders)

运行程序文件就可以把当前的CPU温度数值传送到网站上去了

python3cpu.py


本人所使用的是BPI的NAS操作系统,也就是Openmediavault系统,这个系统是本人最喜欢的系统了,其网页管理界面中就有计划任务功能,我们可以设定5分钟让系统来执行一下我们刚才编写的程序,这样网站上就可以随时显示我们当前的CPU数值了。



运行一段时间后你也就可以看到如下的图样了。


和树莓派一样

原理相通啊!!!

赞一个

是只能用NAS吗?我用BPI-M1-Plus_Raspbian_V4.0,sudo apt-get install sensors后出现E: Unable to locate package sensors,sudo apt-get update后也不行。

m1的debian系统下应该都可以