香蕉派正确吃法之物联网–获取温度并在图表中显示出来

上次说了如何将数据显示到图表中,这次说如何将BPI的CPU温度写到数据库并通过图表显示出来以下是BPI-M3的获取温度方法(python代码,因为M1的不知道咋弄就没写了)

# -*- coding: utf-8 -*-
# 打开文件
file = open("/sys/class/thermal/thermal_zone0/temp")
# 读取结果,并转换为浮点数
temp = float(file.read())
# 关闭文件
file.close()
# 向控制台打印
print "temp: %.2f" %temp

由炫Q大神友情提供,原文地址:forum.eepw.com.cn/thread/279378/1新建python文件:

sudo nano ./uploadtemp.py


粘贴以下代码:

# author: Qubot
import urllib
def fetch_thing(url, params, method):
params = urllib.urlencode(params)
if method=='POST':
f = urllib.urlopen(url, params)
else:
f = urllib.urlopen(url+'?'+params)
return (f.read(), f.code)

file = open("/sys/class/thermal/thermal_zone0/temp")
temp = float(file.read())
file.close()
print "temp: %.2f" %temp

content, response_code = fetch_thing(
'http://127.0.0.1/settemp.php',
{'id': 1, 'temp': temp},
'GET'
)


ctrl+x保存并退出,运行:

python ./uploadtemp.py


然后你会发现在showtemp.php文件下出现了一些数据
这些是我不停手动运行程序获得的数据,接下来教大家如何自动运行首先创建一个文件:

sudo nano /home/bananapi/job.sh


然后复制以下代码进去


sudo python /home/bananapi/uploadtemp.py


ctrl+x保存并退出设置权限:

sudo chmod 755 /home/bananapi/job.sh

然后设置定时运行:

sudo crontab -e

在最后一行加:

*/1 * * * *  /home/bananapi/job.sh


这里是设置一分钟运行一次,你也可以修改成每小时运行一次:

0 */1 * * *  /home/bananapi/job.sh

或者每天12点运行:

0 12 * * * /home/bananapi/job.sh

保存后就可以看到结果了

哟、、受教了。。