<tr id="stl47"><source id="stl47"></source></tr>

<form id="stl47"><span id="stl47"><track id="stl47"></track></span></form>
<wbr id="stl47"></wbr>
    <form id="stl47"></form>
      <sub id="stl47"></sub>
        <tr id="stl47"></tr>
      1. <form id="stl47"></form>
        <form id="stl47"><th id="stl47"><noscript id="stl47"></noscript></th></form>

          <sub id="stl47"></sub><table id="stl47"><th id="stl47"><track id="stl47"></track></th></table>
            三種方式獲取樹莓派CPU信息
            發布者: RCSN  發布時間:2016-12-05 09:37:30  訪問次數:789

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

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

              查看了下網頁對這兩個命令的解讀如下:

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

              最后附上命令行:

              cd /sys/class/thermal/thermal_zone0/temp

              cat temp

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

              sudo vi temp.py

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

              按i 進入編輯模式

              按ESC  退出編輯模式

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

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

              :q 不保存文件,退出vi

              最后回車即可。

              然后在進行以下操作:

              一開始我按照網友的chomd +x temp 老是提示沒權限。最后前面加了sudo就好了。

              網頁對sudo的解讀如下:

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

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

              ,同樣也提高了安全性。

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

              附上VI代碼:

              #!/usr/bin/python

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

              # 打開文件

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

              # 讀取結果,并轉換為浮點數

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

              # 關閉文件

              file.close()

              # 向控制臺打印

              print "temp : %.1f" %temp

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

              我要運行這個代碼的時候,發現使用./并不能運行,最后使用python后才可以。這個應該是使用nano的話要運行蟒蛇的話就是使用python吧。


              附上命令行 有參考了網上的教程,百度上有,我只是總結了下我自身的情況。

              第一步 新建腳本: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

              就有上圖的輸出了。

          來源: RCSN
          免責聲明:焊材網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
          0571-87774297  
          国产www在线观看