機(jī)電之家 > 機(jī)電號 > 正文 申請入駐

三種方式獲取樹莓派CPU信息

  第一種方式,通過命令打開樹莓派的獲取溫度的臨時文件。

  如上圖所示,對于新手的我犯了個錯誤,就在于Linux命令的概念的不熟悉。就是cd和cat命令,以為cd命令也可以打開一個文件,但是顯示的沒有文件存在,用cat命令查看,37014,即是37.014度。

  查看了下網(wǎng)頁對這兩個命令的解讀如下:

  一個是切換目錄命令,一個是輸出命令,輸出到屏幕等。對概念的不熟悉,才會犯了這種錯誤。

  最后附上命令行:

  cd /sys/class/thermal/thermal_zone0/temp

  cat temp

  第二種方式:VI編譯器編寫程序,新建一個文件。對于樹莓派自帶的臨時文件輸出的并不是攝氏度,所以我們要自己弄為攝氏度。命令行:

  sudo vi temp.py

  寫上一下代碼。但是問題來了,對于新手來說,如何進(jìn)入編輯模式,如何保存,如何退出都是很頭大。我一開始也是很懵逼。但是基本操作幾次也可以上手了。

  按i 進(jìn)入編輯模式

  按ESC  退出編輯模式

  :wq 保存文件并退出vi  :w 保存文件但不退出vi

  :w file 將修改另外保存到file中,不退出vi

  :q 不保存文件,退出vi

  最后回車即可。

  然后在進(jìn)行以下操作:

  一開始我按照網(wǎng)友的chomd +x temp 老是提示沒權(quán)限。最后前面加了sudo就好了。

  網(wǎng)頁對sudo的解讀如下:

  sudo是superuser do的簡寫,sudo是linux系統(tǒng)管理指令,是允許系統(tǒng)管理員讓普通用戶執(zhí)行一些或者

  全部的root命令的一個工具,如halt,reboot,su等等。這樣不僅減少了root用戶的登陸 和管理時間

  ,同樣也提高了安全性。

  最后可以得到溫度為38.6度。

  附上VI代碼:

  #!/usr/bin/python

  # -*- coding: utf-8 -*-

  # 打開文件

  file = open("/sys/class/thermal/thermal_zone0/temp")

  # 讀取結(jié)果,并轉(zhuǎn)換為浮點數(shù)

  temp = float(file.read()) / 1000

  # 關(guān)閉文件

  file.close()

  # 向控制臺打印

  print "temp : %.1f" %temp

  第三種方式是使用蟒蛇來進(jìn)行獲取信息,不過這次獲取的信息相對比較多。包括溫度、內(nèi)存、硬盤、CPU。我也是根據(jù)網(wǎng)友的經(jīng)驗來進(jìn)行獲取的,網(wǎng)上也有很多教程,再次我根據(jù)我自身情況來說明。此部分是由nano編譯器來編寫的,我也很不熟悉。特別是一些命令行。跟VI不一樣,但是操作起來也蠻順手。網(wǎng)上的教程可能沒那么詳細(xì),就是貼了代碼后如何退出nano沒什么說明。nano保存退出就需要ctrl+o保存文件 ctrl+x退出文件即可。

  我要運行這個代碼的時候,發(fā)現(xiàn)使用./并不能運行,最后使用python后才可以。這個應(yīng)該是使用nano的話要運行蟒蛇的話就是使用python吧。


  附上命令行 有參考了網(wǎng)上的教程,百度上有,我只是總結(jié)了下我自身的情況。

  第一步 新建腳本:sudo nano get.py

  第二步 在編譯器輸入代碼:

  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))

  代碼寫完后按ctrl+o 再按ctrl+x即可保存退出。

  第三步:代入命令行:

  chmod +x get.py

  python get.py

  就有上圖的輸出了。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“機(jī)電號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of JDZJ Hao, which is a social media platform and only provides information storage services.

/企業(yè)主營產(chǎn)品/
/閱讀下一篇/

網(wǎng)線8根線的接法

相關(guān)推薦
熱點推薦
征途向海,動力永續(xù):專屬防水電機(jī)/水下伺服電機(jī),為特種應(yīng)用注入澎湃動能

征途向海,動力永續(xù):專屬防水電機(jī)/水下伺服電機(jī),為特種應(yīng)用注入澎湃動能

深圳市深空創(chuàng)想科技有限公司
2025/11/3 9:44:19
賦能特殊環(huán)境,打破柔性革命:這款真空線纜為何是高端制造的“生命線”

賦能特殊環(huán)境,打破柔性革命:這款真空線纜為何是高端制造的“生命線”

深圳市深空創(chuàng)想科技有限公司
2025/11/1 14:20:07
汽車展廳的”能耗儀表盤“:Acrel-5000如何讓4S店用能數(shù)據(jù)”可視化“?

汽車展廳的”能耗儀表盤“:Acrel-5000如何讓4S店用能數(shù)據(jù)”可視化“?

安科瑞電子商務(wù)(上海)有限公司
2025/10/31 14:46:03
破局而立,告訴你真空線纜的三大核心特質(zhì)

破局而立,告訴你真空線纜的三大核心特質(zhì)

深圳市深空創(chuàng)想科技有限公司
2025/10/28 11:26:32
告別“糊涂賬”!產(chǎn)業(yè)園區(qū)水電收費治理指南

告別“糊涂賬”!產(chǎn)業(yè)園區(qū)水電收費治理指南

安科瑞電子商務(wù)(上海)有限公司
2025/10/27 15:59:42
顯控觸摸屏觸摸響應(yīng)慢(維修)注意細(xì)節(jié)

顯控觸摸屏觸摸響應(yīng)慢(維修)注意細(xì)節(jié)

資訊
2025/10/25 15:42:28
高真空線纜用在哪些地方,有什么特點

高真空線纜用在哪些地方,有什么特點

深圳市深空創(chuàng)想科技有限公司
2025/10/24 17:48:54
【智慧測控】水電站閘門遠(yuǎn)程自動化控制系統(tǒng)解決方案概述

【智慧測控】水電站閘門遠(yuǎn)程自動化控制系統(tǒng)解決方案概述

成都國科自動化控制工程有限公司
2025/10/24 14:23:51
【智慧城市】防汛泄洪廣播預(yù)警系統(tǒng)概述及應(yīng)用場景

【智慧城市】防汛泄洪廣播預(yù)警系統(tǒng)概述及應(yīng)用場景

成都國科自動化控制工程有限公司
2025/10/22 15:12:30
防爆配電箱怎么使用和維護(hù)

防爆配電箱怎么使用和維護(hù)

樂清益安防爆電器科技有限公司
2025/10/11 16:00:57
三防漆怎么清洗掉?納米防水涂層相比會怎么樣呢?

三防漆怎么清洗掉?納米防水涂層相比會怎么樣呢?

深圳中氟科技有限公司
2025/10/10 17:19:50
“雙北斗+雙電源”,新一代PMC-2000系列時間同步裝置為您實現(xiàn)時間精準(zhǔn)管理

“雙北斗+雙電源”,新一代PMC-2000系列時間同步裝置為您實現(xiàn)時間精準(zhǔn)管理

深圳市中電電力技術(shù)股份有限公司
2025/9/30 14:22:21
得克隆正式納入POPs法規(guī)限制清單

得克隆正式納入POPs法規(guī)限制清單

蘇州天標(biāo)檢測技術(shù)有限公司
2025/9/29 13:14:58
MPP電力管與其他管道的區(qū)別

MPP電力管與其他管道的區(qū)別

江蘇潤碩管業(yè)有限公司
2025/9/28 15:32:13
智能滅火系統(tǒng):現(xiàn)代儲能安全不可或缺的核心保障!

智能滅火系統(tǒng):現(xiàn)代儲能安全不可或缺的核心保障!

山東普思智能科技有限公司
2025/9/9 10:38:12
160316文章數(shù) 2090關(guān)注度
往期回顧 全部

電子相關(guān)熱點

一站式SMT貼片加工到底包含哪些具體服務(wù)?

電子相關(guān)推薦

車輛識別系統(tǒng)如何加裝RFID讀寫器讓電動車實現(xiàn)自動開閘

頭條要聞

電力管道主要以什么材質(zhì)為主

電子要聞

為-40℃ -55度低溫惡劣環(huán)境而生的伺服電機(jī)有什么特點

電子資訊

低溫零下-40℃24V直流低壓伺服電機(jī)有什么特點

往期電子要聞

西門子技術(shù)助力柏林國立圖書館能耗減半