Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度
2014-09-05 20:58
316 查看
软件平台: Raspberry
系统与前期安装请参见:树莓派(Rospberry Pi B+)到货亲测 :http://blog.csdn.net/xiabodan/article/details/38984617#0-qzone-1-66514-d020d2d2a4e8d1a374a433f596ad1440
更多内容关注http://blog.csdn.net/xiabodan
安装easy_install:
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install requests
安装好之后 在运行python,如果没报错 那就说明安装成功了
申请帐号很简单 在官网上偶详细的说明文档:http://www.yeelink.net/
重要的是我们需要添加两个设备,一个是CPU温度另一个是GPU温度,在此我们要获取两个重要的东西,也就是写程序消息POST的目的地(自己申请的)
1 'ApiKey' 在“我的账户设置”中查看
2 URL: http://api.yeelink.net/v1.0/device/13926/sensor/23121/datapoints(自己申请)
编写完成之后,只中断中直接运行
调试没错之后,此步骤完成
添加如下代码:
重启 reboot
查看刚才时候生成新进程
可以看到我们的进程为 2840
通过kill 2840 可以关闭进程
树莓派学习笔记——定时向yeelink上传树莓派CPU温度 : /article/2601008.html
python requests的安装与简单运用 :http://www.zhidaow.com/post/python-requests-install-and-brief-introduction
树莓派+温度传感器实现室内温度监控 :http://shumeipai.nxez.com/2013/10/03/raspberry-pi-temperature-sensor-monitors.html
获取树莓派的CPU和GPU温度(Python) : http://shumeipai.nxez.com/2014/02/20/get-raspberry-pi-cpu-and-gpu-temperature-python.html
ROS ZYNQ移植 (安装easy_install) :/article/1495618.html
理解Linux系统/etc/init.d目录和/etc/rc.local脚本 :/article/2149437.html
linux下杀死进程(kill)的N种方法 :http://blog.csdn.net/andy572633/article/details/7211546
树莓派 插电自动登录、自动运行程序 :http://www.lightdew.com/a/chengxujishu/505.html
Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度
硬件平台: Raspberry Pi B+软件平台: Raspberry
系统与前期安装请参见:树莓派(Rospberry Pi B+)到货亲测 :http://blog.csdn.net/xiabodan/article/details/38984617#0-qzone-1-66514-d020d2d2a4e8d1a374a433f596ad1440
更多内容关注http://blog.csdn.net/xiabodan
1 安装 requests 库
首先我们要先解决requests库,当我们向YEELINK POST 消息的时候会用到 : r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload))安装easy_install:
wget http://peak.telecommunity.com/dist/ez_setup.py
python ez_setup.py
easy_install requests
安装好之后 在运行python,如果没报错 那就说明安装成功了
python import requests
2 申请YEELINK帐号并添加设备
一家中国的创业公司Yeelink,物联网平台,也正在利用无线网络、开源硬件和软件,当然还有智能手机和App来做到这一点。申请帐号很简单 在官网上偶详细的说明文档:http://www.yeelink.net/
重要的是我们需要添加两个设备,一个是CPU温度另一个是GPU温度,在此我们要获取两个重要的东西,也就是写程序消息POST的目的地(自己申请的)
1 'ApiKey' 在“我的账户设置”中查看
2 URL: http://api.yeelink.net/v1.0/device/13926/sensor/23121/datapoints(自己申请)
3 编写python源程序
有了YEELINK平台之后,我们做的工作就是需要在树莓派B+上,定时的将温度数据传到YEELINK上,新建pi_temp.py的python文件#!/usr/bin/env python # -*- coding: utf-8 -*- import requests import json import time import commands def main(): # fileRecord = open("result.txt", "w") # fileRecord.write("connect to yeelink\n"); # fileRecord.close() while True: # 打开文件 apiheaders = {'U-ApiKey': 'a96bbccdd8f5e6e24fd3b2358d6cbc45', 'content-type': 'application/json'} gpu = commands.getoutput( '/opt/vc/bin/vcgencmd measure_temp' ).replace( 'temp=', '' ).replace( '\'C', '' ) gpu = float(gpu) #print('gpu value:%.2f' % gpu) # GPU设备URI apiurl_gpu = 'http://api.yeelink.net/v1.0/device/13926/sensor/23125/datapoints' #YEELINK 用户密码, 指定上传编码为JSON格式i #apiheaders = {'U-ApiKey': 'a96bbccdd8f5e6e24fd3b2358d6cbc45', 'content-type': 'application/json'} payload_gpu = {'value': gpu} r = requests.post(apiurl_gpu, headers=apiheaders, data=json.dumps(payload_gpu)) file = open("/sys/class/thermal/thermal_zone0/temp") # 读取结果,并转换为浮点数 cpu = float(file.read()) / 1000 # 关闭文件 file.close() #print('cpu value:%.2f' % cpu) # CPU设备URI apiurl_cpu = 'http://api.yeelink.net/v1.0/device/13926/sensor/23121/datapoints' #YEELINK 用户密码, 指定上传编码为JSON格式 #apiheaders = {'U-ApiKey': 'a96bbccdd8f5e6e24fd3b2358d6cbc45', 'content-type': 'application/json'} # 字典类型数据,在post过程中被json.dumps转换为JSON格式字符串 {"value": 48.123} payload_cpu = {'value': cpu} #发送请求 r = requests.post(apiurl_cpu, headers=apiheaders, data=json.dumps(payload_cpu)) # 向控制台打印结果 # fileRecord = open("result.txt", "a") # strTime = time.strftime('%Y-%m-%d:%H-%M-%S',time.localtime(time.time())) #fileRecord.writelines(strTime + "\n") #strTemp = "temp : %.1f" %temp + "\n" #fileRecord.writelines(strTemp) #fileRecord.writelines(str(r.status_code) + "\n") #fileRecord.close() time.sleep(1*60) if __name__ == '__main__': main()
编写完成之后,只中断中直接运行
python pi_temp.py
调试没错之后,此步骤完成
4 添加脚本文件auto_start.sh
新建auto_start.sh文件,内容添加如下#!/bin/bash cd /workplace/ python pi_temp.py &
5 开机启动 修改/etc/rc.local文件
vim /etc/rc.local
添加如下代码:
# 向yeelink上传树莓派CPU温度 注意.sh文件路径为自己的添加路径,我的是/workplace /workplace/auto-start.sh start
重启 reboot
查看刚才时候生成新进程
ps aux | grep pi_temp.py
可以看到我们的进程为 2840
通过kill 2840 可以关闭进程
6 刷新YEELINK设备网页
可以看到已经有数据上传到服务器了参考:
树莓派(Rospberry Pi B+)到货亲测 : http://blog.csdn.net/xiabodan/article/details/38984617#0-qzone-1-66514-d020d2d2a4e8d1a374a433f596ad1440
树莓派学习笔记——定时向yeelink上传树莓派CPU温度 : /article/2601008.htmlpython requests的安装与简单运用 :http://www.zhidaow.com/post/python-requests-install-and-brief-introduction
树莓派+温度传感器实现室内温度监控 :http://shumeipai.nxez.com/2013/10/03/raspberry-pi-temperature-sensor-monitors.html
获取树莓派的CPU和GPU温度(Python) : http://shumeipai.nxez.com/2014/02/20/get-raspberry-pi-cpu-and-gpu-temperature-python.html
ROS ZYNQ移植 (安装easy_install) :/article/1495618.html
理解Linux系统/etc/init.d目录和/etc/rc.local脚本 :/article/2149437.html
linux下杀死进程(kill)的N种方法 :http://blog.csdn.net/andy572633/article/details/7211546
树莓派 插电自动登录、自动运行程序 :http://www.lightdew.com/a/chengxujishu/505.html
相关文章推荐
- Raspberry Pi B+ 定时向物联网yeelink上传CPU GPU温度
- 定时向yeelink上传树莓派CPU温度
- 树莓派学习笔记——定时向yeelink上传树莓派CPU温度
- 将树莓派的CPU温度和GPU温度上传到yeelink
- 读取 raspberrypi 的cpu和gpu温度
- 树莓派-获取CPU和GPU温度
- 读取树莓派CPU/GPU温度,内存,硬盘使用率
- 获取树莓派cpu温度上传yeeklink
- python C语言文件IO读取树莓派CPU、GPU温度
- 树莓派查看CPU和GPU温度
- 读取树莓派的CPU和GPU温度
- ubuntu中检测CPU&主板温度,风扇转速,电源适配器电压命令
- 双剑合璧:CPU+GPU异构计算完全解析
- CPU GPU设计工作原理《转》
- GPU CPU NPU
- 探梦方寸间 移动终端CPU、GPU浅析
- CUDA中记录GPU耗时与C编程中记录CPU耗时的方法
- 【TensorFlow】Windows+Anaconda3+Tensorflow(CPU&GPU)+Pycharm 安装
- 再谈异构计算CPU+GPU(APU)
- Intel caffe 安装及用gpu训练即去掉CPU-Only的方法