树莓派cpu温度曲线工作时cpu的温度多少正常

如何产看树莓派cpu温度_百度知道
如何产看树莓派cpu温度
我有更好的答案
如果温度太高, 可以摸一下CPU。 差不多50度左右应该不会太烫手。需要芯片上带有传感器才成。
夏天的时候注意散热。如果你手指上没有静电,就加个小风扇。
CPU的温度查看似乎没有这个功能通常温度不太高。别在太高温的环境下通常都可以支持
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁【树莓派教程 】——获取树莓派当前状态和数据
本帖最后由 凌风清羽 于
20:02 编辑
代码:
import os
# Return CPU temperature as a character string& && && && && && && && && && && && &
def getCPUtemperature():
& & res = os.popen('vcgencmd measure_temp').readline()
& & return(res.replace(&temp=&,&&).replace(&'C\n&,&&))
# Return RAM information (unit=kb) in a list& && && && && && && && && && && && &&&
# Index 0: total RAM& && && && && && && && && && && && && && && && && && && && &&&
# Index 1: used RAM& && && && && && && && && && && && && && && && && && && && && &
# Index 2: free RAM& && && && && && && && && && && && && && && && && && && && && &
def getRAMinfo():
& & p = os.popen('free')
& & i = 0
& & while 1:
& && &&&i = i + 1
& && &&&line = p.readline()
& && &&&if i==2:
& && && && &return(line.split()[1:4])
# Return % of CPU used by user as a character string& && && && && && && && && && &
def getCPUuse():
& & return(str(os.popen(&top -n1 | awk '/Cpu\(s\):/ {print $2}'&).readline().strip()))
# Return information about disk space as a list (unit included)& && && && && && &&&
# Index 0: total disk space& && && && && && && && && && && && && && && && && && &&&
# Index 1: used disk space& && && && && && && && && && && && && && && && && && &&&
# Index 2: remaining disk space& && && && && && && && && && && && && && && && && &
# Index 3: percentage of disk used& && && && && && && && && && && && && && && && &
def getDiskSpace():
& & p = os.popen(&df -h /&)
& & i = 0
& & while 1:
& && &&&i = i +1
& && &&&line = p.readline()
& && &&&if i==2:
& && && && &return(line.split()[1:5])
# CPU informatiom
CPU_temp = getCPUtemperature()
CPU_usage = getCPUuse()
# RAM information
# Output is in kb, here I convert it in Mb for readability
RAM_stats = getRAMinfo()
RAM_total = round(int(RAM_stats[0]) / 1000,1)
RAM_used = round(int(RAM_stats[1]) / 1000,1)
RAM_free = round(int(RAM_stats[2]) / 1000,1)
# Disk information
DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0]
DISK_used = DISK_stats[1]
DISK_perc = DISK_stats[3]
if __name__ == '__main__':
& & print('')
& & print('CPU Temperature = '+CPU_temp)
& & print('CPU Use = '+CPU_usage)
& & print('')
& & print('RAM Total = '+str(RAM_total)+' MB')
& & print('RAM Used = '+str(RAM_used)+' MB')
& & print('RAM Free = '+str(RAM_free)+' MB')
& & print('')
& & print('DISK Total Space = '+str(DISK_total)+'B')
& & print('DISK Used Space = '+str(DISK_used)+'B')
& & print('DISK Used Percentage = '+str(DISK_perc))复制代码
然后执行python get.py
00.jpg (41.88 KB, 下载次数: 0)
12:57 上传
测试了一下树莓派再有风扇和没有风扇时候的的温度,差距还是比较大啊,为了保护我们的小派还是装个风扇吧~~
(明天上图吧,网速实在不敢恭维~~是不是DF该升级服务器了呢,哈哈~~)
获取的是树莓派的数据?
获取的是树莓派的数据?
对的,树莓派的实时数据~~
新手请教~~~
新手请教~~~
额 我是新手
额 我是新手
我也是新手。。。
我也是新手。。。
我也是新手。。。我也是新手。。。
有木有用过pcduino,安卓系统的
有木有用过pcduino,安卓系统的
木有,说rasp也可以装安卓啦
不能只贴代码啊= = 加点注释也行
不能只贴代码啊= = 加点注释也行
恩恩,这几天有空就开始改进,
不能只贴代码啊= = 加点注释也行
恩恩,这几天有空就开始改进,
不能只贴代码啊= = 加点注释也行
恩恩,这几天有空就开始改进,
不能只贴代码啊= = 加点注释也行
恩恩,这几天有空就开始改进,
创造力1719
萌萌哒新人
小蘑菇勋章
蘑菇人勋章
楼主的其它帖子
本次的活动由身处美国旧金山的DF参展小分队,为大家带来零时差的最新的图文直播。
我们的智能婴儿监控系统可以: 在婴儿睡眠或玩耍时进行监控。 在婴儿啼哭时通知父母..
浓缩了2015一整年满满黑科技的干货,不要错过哦~
没错,本次教大家造的就是那个《星球大战:原力觉醒》电影中的机器人
上海智位机器人股份有限公司
Powered by博客访问: 1121244
博文数量: 368
博客积分: 8284
博客等级: 中将
技术积分: 4508
注册时间:
天行健,君子以自强不息
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Python/Ruby
1、编写python脚本
#no 2.2.6&&&&&&&&&&&&&&&&&&&& File: post_temp
#/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
# 打开文件
file = open("/sys/class/thermal/thermal_zone0/temp")
# 读取结果,并转换为浮点数
temp = float(file.read()) / 1000
# 关闭文件
file.close()
# 向控制台打印结果
print "temp : %.1f" %temp
apiurl ='http://api.yeelink.net/v1.1/device/16485/sensor/28490/datapoints'
#'http://api.yeelink.net/v1.1/device/1949/sensor/2510/datapoints'
# 用户密码, 指定上传编码为JSON格式
apiheaders = {'U-ApiKey': 'a3ac2fb0XXXX', 'content-type': 'application/json'}
# 字典类型数据,在post过程中被json.dumps转换为JSON格式字符串 {"value": 48.123}
payload = {'value': temp}
r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload))
# 打印返回码
print "response status: %d" %r.status_code
2、python post_temp
会提示requests没有安装。错误如下:
3、再网上搜了下,找到一个老外的论坛:
/questions//importerror-no-module-named-requests
里面的原话是这样说的:
Use $ pip install requests if you have an osx/ linux system with pip installed, or
> Path\easy_install.exe requests if you have a
windows machine, where easy_install can be found in your Python\Scripts
folder, if it was installed. (Note Path\easy_install.exe is an example,
mine is C:\Python32\Scripts\easy_install.exe)
4、所以要安装requests,但是在终端输入命令 pip install requests,提示没有安装pip。
5、安装pip。
sudo apt-get install python-pip
6、然后安装requests
apt-get install requests
7、执行脚本
python post_temp
终端效果如下:
yeelink云端效果如下:
1、定时传输温度值到yelink
脚本代码如下:
nano& post_temp_bytime
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import time
def main():
&&&&&&&&fileRecord = open("result.txt", "w")
&&&&&&&&fileRecord.write("connect to yeelink\n");
&&&&&&&&fileRecord.close()
&&&&&&&&while True:
&&&&&&&&&&&&&&&&# 打开文件
&&&&&&&&&&&&&&&&file = open("/sys/class/thermal/thermal_zone0/temp")
&&&&&&&&&&&&&&&&# 读取结果,并转换为浮点数
&&&&&&&&&&&&&&&&temp = float(file.read()) / 1000
&&&&&&&&&&&&&&&&# 关闭文件
&&&&&&&&&&&&&&&&file.close()
&&&&&&&&&&&&&&&&# 设备URI
&&&&&&&&&&&&&&&&apiurl = 'http://api.yeelink.net/v1.1/device/16485/sensor/28490/datapoints'
&&&&&&&&&&&&&&&&# 用户密码, 指定上传编码为JSON格式
&&&&&&&&&&&&&&&&apiheaders = {'U-ApiKey': 'a3ac2fb0XXXX', 'content-type': 'application/json'}
&&&&&&&&&&&&&&&&# 字典类型数据,在post过程中被json.dumps转换为JSON格式字符串 {"value": 48.123}
&&&&&&&&&&&&&&&&payload = {'value': temp}
&&&&&&&&&&&&&&&&#发送请求
&&&&&&&&&&&&&&&&r = requests.post(apiurl, headers=apiheaders, data=json.dumps(payload))
&&&&&&&&&&&&&&&&# 向控制台打印结果
&&&&&&&&&&&&&&&&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(10)
if __name__ == '__main__':
&&&&&&&&main()
这里再强调一下,一定要注意代码的缩进,代码的层次缩进用tab键
执行脚本& python post_temp_bytime
程序就会一直执行,按ctrl+c就可以退出,然后通过yeelink查看数据
让定时发送温度程序开机自启动
1、编写启动post_temp_bytime& 的脚本
nano& bootup.sh
#!/bin/bash
&cd /home/pi/test
&python post_temp_bytime &
2、把bootup.sh脚本添加到/etc/rc.local中
Nano /etc/rc.local
#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
&&printf "My IP address is %s\n" "$_IP"
/home/pi/test/bootup.sh
在exit 0前一行添加bootup.sh的路径,见上代码。
3、reboot,重启树莓派
ps aux |grep post_temp_bytime
效果如下图:
如果不是两行,说明没有开机自启动成功,脚本没有后台运行
也可以kill& -s& 9&& 2097& 来杀掉进程。如果提示进程不存在,就没有成功自启动。
4、在yeelink下看重启后传来的温度值
阅读(1512) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。求助 | 树莓派爱好者小组 | 果壳网 科技有意思
13418人加入此小组
我在将树莓派cpu温度上传到yeelink上时,下载request模块装不上去,是怎么回事?大神指点啊,下载安装包后 python setup.py install 显示can't open file 'setup.py':[errno 2]No such file or directory怎么搞的啊,愁死了
+ 加入我的果篮
问题很明显啊,你的python用的是python的哪个版本,2和3是不一样的,后面的哪个报错已经很明显了,找不到你指定的文件,你进错目录了或者你文件里根本没有这个文件
(C)2016果壳网&&&&&京ICP备号-2&&&&&[原创]树莓派远程监控家里温度
  上周在网上买了一大堆传感器,里面有一个温度传感器DS18B20,这是一个单功能的不带湿度的传感器,很便宜,只有4块钱,于是准备通过树莓派来获取其温度。
&  下面先来讲一下传感器与树莓派的线路接法,上图
  这个传感器据说误差是正负0.5度,感觉还能接受,它有三个针脚,将该传感器有字的一面朝上从左到右三个针脚分别是3.3V、数据、GND,把他分别接入树莓派的相应接口后,我们别忘了加一个4.7K的电阻,不然可能有不可遇知的问题哦,为了我们心爱的树莓派一定要仔细检查线路的连接,一个微小的错误,轻则烧掉传感器,重则会影响到树莓派。因此不管是调试LED也好,其他传感器也好,我强烈建议大家一定要在给树莓派外接设备时要仔细检查线路,确保无误才通电,这样才比较安全。
  接下来就开始程序的编写了,不过在网上查看资料的时候发现一个比较重要的细节,那就是对于树莓派2升级新内核之后,为了防止gpio冲突,使用了新的dt策略。于是我们需要做好下的步骤:
在/boot/config.txt配置文件的最后添加如下内容: dtoverlay=w1-gpio-pullup,gpiopin=17
这里的gpiopin可以设置成你自己的实际连接的树莓派的GPIO口,修改完之后用sudo reboot重启,然后就可以进行程序编写了。
在控制台执行如下命令:
sudo modprobe w1-gpio
sudo modprobe w1-therm
cd /sys/bus/w1/devices
cd 28-xxxx (这里以具体上面ls出来的目录为准)
cat w1_slave
执行的结果如下 :
7b 01 55 00 7f ff 0c 10 92 : crc=92 YES
7b 01 55 00 7f ff 0c 10 92 t=23687
我们看到t=23687,这个数值除以1000就得出了家里的当前温度为23.687。
下面我们编写python程序来获取这个温度
我们建立temp.py这个文章,用sudo nano temp.py
然后输入如下代码:
tfile=open("/sys/bus/w1/devices/28-ff/w1_slave")
text=tfile.read()
tfile.close()
secondline=text.split("\n")[1]
temp=secondline.split(" ")[9]
temp=float(temp[2:])
temp=temp/1000
print "temp="+str(temp)
保存完之后,在控制台运行python
temp.py,得到temp=23.625,注意这个值与上面在控制台命令得到的有少些变化,这也证明了我们的传感器的温度在变化,你还可以将手指放到温度传感器上,来感受更大的温度变化。
那么在完成了通过python程序获取温度之后,我们还需要进行远程监控家里的温度,因此我们需要将获取的温度上传到网上,这里为了偷懒就不自己写服务端程序了,找了一下正好发现有一个yeelink的网站是做物联网云端服务的,因此就在yeelink上注册了帐号。下面再上程序:
#yeelinkhome.py
import requests
import json,time,string
def getcputemperature():
& & cputemp=os.popen('vcgencmd
measure_temp').readline()
sumcputemp=cputemp.replace("temp=","").replace("'C\n","")
& & return sumcputemp
def gethometemp():
tfile=open("/sys/bus/w1/devices/28-ff/w1_slave")
& & text=tfile.read()
& & tfile.close()
secondline=text.split("\n")[1]
& & temp=secondline.split("
& & temp=float(temp[2:])
& & temp=temp/1000
& & return temp
apiheaders={'U-ApiKey':'f3e59b948df201d2851fa26f81617a15','content-type':
'application/json'}
temp_apiurl=""
if __name__=='__main__':
& & while 1:
& home_temp=gethometemp()
& hometemp_payload={'value':home_temp}
& r=requests.post(temp_apiurl, headers=apiheaders,
data=json.dumps(hometemp_payload))
& print home_temp
& time.sleep(60)
执行程序,会每60秒上传一次家里的温度到yeelink上
读者如果在改成自己的程序的话,要替换上面程序里面三个地方:
1、28-ff,这个是我的温度传感器获取的值,肯定与你接入的会有不同,改成你自己的串即可,当然可以用程序去模糊查找,这里就不深究。
2、f3e59b948df201d2851fa26f81617a15,这一串是我的yeelink的api
key,也替换成大家自己的key
3、,这是个POST的网关,用大家自己的。
到此,我们已经可以在办公室的电脑上通过yeelink的后台程序来实时的监控自己家里的温度了,虽然这只是一个简单的例子,但是已经有那么一点物联网的意思了,大家可以举一反三来验证更多的物联网应用。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。}

我要回帖

更多关于 树莓派 cpu温度 风扇 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信