Holen Sie sich CPU-Informationen von Raspberry Pi mit Python

Entwicklungsumgebung

HD RaspberryPi B+
OS Raspbian GNU/Linux 8.0 (jessie)
Python ver 2.7.9

Motivation

RaspberyPi verfügt über einen einfachen Befehl namens "vcgencmd-Befehle", der Insiderinformationen zu RaspberyPi abruft.

RPI vcgencmd usage

RPI vcgencmd commands Means
vcgencmd measure_temp CPU-Temperatur
vcgencmd measure_clock arm Python-CPU-Frequenz
vcgencmd measure_voltsp Spannungserfassung
vcgencmd get_mem arm CPU(arm)Speichernutzung
vcgencmd get_mem gpu GPU(gpu)Speichernutzung

Früher habe ich dies in "Shell" geschrieben, aber da Python besser mit späteren Grafikzeichnungen kompatibel ist, hatte ich das Gefühl, dass ich es schreiben würde, damit externe Befehle in Python ausgeführt werden können.

Quellcode

#!/usr/bin/env python$
#coding:utf-8$

#Importieren Sie die Bibliothek.$
import os
import commands

#Führen Sie den Raspbian-Steuerbefehl (vcgencmd) aus.$

#RPi-Befehl zum Abrufen der Temperatur
temp = commands.getoutput("vcgencmd measure_temp").split('=')
print temp[1]

#CPU-Frequenz abrufen
clock=commands.getoutput("vcgencmd measure_clock arm").split('=')
print clock[1]

#Spannung bekommen
volt=commands.getoutput("vcgencmd measure_volts").split('=')
print volt[1]

#CPU(arm),GPU-Speichernutzung
arm=commands.getoutput("vcgencmd get_mem arm").split('=')
print arm[1]

gpu=commands.getoutput("vcgencmd get_mem gpu").split('=')
print gpu[1]

Ausführungsergebnis

38.5'C
700000000
1.2000V
448M
64M

Erklärung des Quellcodes

** getoutput () ** führt externe Befehle von Python aus. getoutput () gibt nur das Ergebnis der Ausführung des Befehls zurück. Wenn Sie getoutput () verwenden, importieren Sie bitte das Befehlsmodul.

import commands
commands.getoutput('ls')

** str.split (sep) ** ist eine Methode, die Wörter mit sep als Trennzeichen in eine Liste unterteilt. Wenn kein Trennzeichen angegeben ist, kann es sich um eine Sonderregel handeln, die durch Leerzeichen, Tabulatoren und Zeilenvorschubzeichenfolgen getrennt ist. In diesem Fall werden sie durch = getrennt. Der Grund ist, dass, wenn Sie es ohne Split ausführen

temp = commands.getoutput("vcgencmd measure_temp")
print temp

Ausführungsergebnis

temp=37.9'C

Dieses Mal ist Temp überflüssig, wenn ich es in einem Diagramm verwende, da ich nur numerische Werte verwenden möchte. Trennen Sie Zeichen mit "split ('=')".

temp = commands.getoutput("vcgencmd measure_temp").split('=')
print temp

Ausführungsergebnis

['temp', "38.5'C"]

Da es sich um eine solche Liste handelt, geben Sie danach den Index an und extrahieren und zeigen Sie nur den numerischen Teil an. Da der Wert nach dem Trennen zu diesem Zeitpunkt vom Typ ** str ** ist, konvertieren Sie die Zeichenfolge mit ** int () ** in einen numerischen Wert, wenn Sie ihn als numerischen Wert behandeln.

temp = commands.getoutput("vcgencmd measure_temp").split('=')
temp_i = int(temp[1])

Referenzmaterial

Ich habe versucht, die CPU-Temperatur von Raspberry Pi (Raspbian) ohne Verwendung von cat zu ermitteln So führen Sie externe Shell-Skripte und -Befehle mit Python aus String teilen / verbinden, verbinden, rsplit

Recommended Posts

Holen Sie sich CPU-Informationen von Raspberry Pi mit Python
Messen Sie die CPU-Temperatur von Raspeye mit Python
Holen Sie sich Alembic-Informationen mit Python
Lassen Sie uns GPIO von Raspeye mit Python CGI betreiben
Verwenden Sie vl53l0x mit RaspberryPi (Python)
Holen Sie sich Wetterinformationen mit Python & Scraping
Ich habe versucht, Movidius NCS mit Python von Raspberry Pi3 auszuführen
Abrufen von Eigenschaftsinformationen durch Scraping mit Python
[Python] Python-Paketinformationen mit der PyPI-API abrufen
Arbeiten mit GPS in Python für Raspberry Pi 3
PhytoMine-I hat versucht, mit Python die genetischen Informationen der Pflanze zu erhalten
Discord Bot Himbeere Pi Null mit Python [Hinweis]
GPGPU mit Raspberry Pi
Ich habe L-Chika mit Razpai 4 (Python Edition) ausprobiert.
[Python] Werden Sie die Datierung mit regulären Ausdrücken los
CSV-Ausgabe von Impulsdaten mit Raspberry Pi (CSV-Ausgabe)
Holen Sie sich ein Date mit Python
DigitalSignage mit Raspberry Pi
Holen Sie sich Temperatur und Luftfeuchtigkeit mit DHT11 und Raspberry Pi
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Ein Liner, der mit Python ein Umfangsverhältnis von 10000 Stellen ausgibt
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Python-Skript zum Abrufen von Notizinformationen mit REAPER
GPS-Tracking mit Raspeye 4B + BU-353S4 (Python)
Benachrichtigen Sie regelmäßig den Verarbeitungsstatus von Raspberry Pi mit Python → Google Spreadsheet → LINE
Versuchen Sie, die 4-Kern-CPU des Raspberry Pi 2 mit Parallel Python zu verbrauchen
Versuchen Sie, Python auf Raspberry Pi mit Visual Studio zu debuggen.
Nehmen Sie den Wert des SwitchBot-Thermo-Hygrometers mit Raspberry Pi
Umschalten der Bot-Thermo-Hygrometer-Werte mit Raspberry Pi
Ubuntu 20.04 auf Himbeer-Pi 4 mit OpenCV und mit Python verwenden
Holen Sie sich mit Python den Betriebsstatus von JR West
[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
Zeigen Sie das Bild der USB-Kamera mit OpenCV von Python mit Raspeye an
Holen Sie sich den Ländercode mit Python
Holen Sie sich Twitter-Timeline mit Python
Raspeye + Python + OpenGL-Memo
Himbeere pi 1 Modell b, Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Holen Sie sich Lager mit Python
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Mit Python + Selenium erhalten Sie Informationen, die der Registerkarte "Netzwerk" der Chrome-Entwicklertools entsprechen
Aktualisieren Sie Raspberry Pi Python mit pyenv auf 3.7 oder höher
Python-Anfänger öffnet und schließt die ineinandergreifende Kamera mit Raspberry Pi
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Herstellung eines Temperaturregelungssystems mit Himbeerkuchen und ESP32 (1)
Führen Sie den Python-Beispielcode BNO055 mit I2C (Raspberry Pi 3B) aus.
Befreien Sie sich mit Python und regulären Ausdrücken von schmutzigen Daten
SSD 1306 OLED kann mit Raspeye + Python verwendet werden (Hinweis)
getrpimodel: Erkennen Sie das Himbeer-Pi-Modell (A, B, B +, B2, B3 usw.) mit Python
Beispiel für das Parsen von HTTP GET und JSON mit Pfefferpython
[Python x Zapier] Erhalten Sie Warninformationen und benachrichtigen Sie mit Slack
Probieren Sie Juniper JUNOS PyEz (Python-Bibliothek) aus. Hinweis 2 ~ Informationen mit PyEz ~ abrufen ~
Verbinden Sie Raspberry Pi mit "Python" mit der Alibaba Cloud IoT Platform
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
So erhalten Sie Informationen von Organisationen, Cost Explorer eines anderen AWS-Kontos bei Lambda (Python)
[Raspberry Pi] Schrittmotorsteuerung mit Raspberry Pi
Holen Sie sich Informationen zu Videodateien mit ffmpeg-python