Obtenez des informations sur le processeur de Raspberry Pi avec Python

Environnement de développement

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

Motivation

RaspberyPi a une commande simple appelée commandes vcgencmd qui obtient des informations internes sur RaspberyPi.

RPI vcgencmd usage

RPI vcgencmd commands Means
vcgencmd measure_temp Température du CPU
vcgencmd measure_clock arm Fréquence du processeur Python
vcgencmd measure_voltsp Acquisition de tension
vcgencmd get_mem arm CPU(arm)utilisation de la mémoire
vcgencmd get_mem gpu GPU(gpu)utilisation de la mémoire

J'avais l'habitude d'écrire ceci dans shell, mais comme Python est plus compatible avec le dessin de graphe ultérieur, j'ai commencé avec le sentiment que je l'écrirais pour que les commandes externes puissent être exécutées en Python.

Code source

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

#Importez la bibliothèque.$
import os
import commands

#Exécuter la commande de contrôle Raspbian (vcgencmd)$

#Commande RPi pour obtenir la température
temp = commands.getoutput("vcgencmd measure_temp").split('=')
print temp[1]

#Obtenir la fréquence du processeur
clock=commands.getoutput("vcgencmd measure_clock arm").split('=')
print clock[1]

#Obtenez la tension
volt=commands.getoutput("vcgencmd measure_volts").split('=')
print volt[1]

#CPU(arm),Utilisation de la mémoire GPU
arm=commands.getoutput("vcgencmd get_mem arm").split('=')
print arm[1]

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

Résultat d'exécution

38.5'C
700000000
1.2000V
448M
64M

Explication du code source

** getoutput () ** exécute des commandes externes à partir de Python. getoutput () renvoie uniquement le résultat de l'exécution de la commande. Si vous utilisez getoutput (), veuillez importer le module de commandes.

import commands
commands.getoutput('ls')

** str.split (sep) ** est une méthode qui divise les mots en une liste en utilisant sep comme délimiteur. Si aucun délimiteur n'est spécifié, il peut s'agir d'une règle spéciale séparée par des espaces, des tabulations et des chaînes de saut de ligne. Dans ce cas, ils sont séparés par «=». La raison en est que si vous l'exécutez sans fractionnement

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

Résultat d'exécution

temp=37.9'C

Cette fois, lors de son utilisation dans un graphique, la température est superflue car je ne veux utiliser que des valeurs numériques. Séparez les caractères par split ('=').

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

Résultat d'exécution

['temp', "38.5'C"]

Puisqu'il se distingue comme une liste comme celle-ci, après cela, spécifiez l'indice et extraire et n'affichez que la partie numérique. De plus, étant donné que la valeur après avoir été séparée à ce stade est ** str type **, lorsque vous la traitez comme une valeur numérique, convertissez la chaîne de caractères en valeur numérique avec ** int () **.

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

Matériel de référence

J'ai essayé d'obtenir la température du processeur de Raspberry Pi (Raspbian) sans utiliser cat Comment exécuter des commandes et des scripts shell externes avec python Split, join, rsplit

Recommended Posts

Obtenez des informations sur le processeur de Raspberry Pi avec Python
Mesurer la température du processeur de Raspeye avec Python
Obtenez des informations sur l'alambic avec Python
Exploitons GPIO de Raspeye avec Python CGI
Utilisez vl53l0x avec RaspberryPi (python)
Obtenez des informations météorologiques avec Python et le grattage
J'ai essayé d'exécuter Movidius NCS avec python de Raspberry Pi3
Obtenez des informations sur la propriété en grattant avec python
[Python] Obtenez des informations sur le package Python avec l'API PyPI
Travailler avec le GPS en Python pour Raspberry Pi 3
PhytoMine-I a essayé d'obtenir les informations génétiques de la plante avec Python
Discord bot raspberry pi zéro avec python [Note]
GPGPU avec Raspberry Pi
J'ai essayé L-Chika avec Razpai 4 (édition Python)
[Python] Débarrassez-vous de la datation avec des expressions régulières
Sortie CSV des données d'impulsion avec Raspberry Pi (sortie CSV)
Obtenez date avec python
DigitalSignage avec Raspberry Pi
Obtenez la température et l'humidité avec DHT11 et Raspberry Pi
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
Une doublure qui produit 10000 chiffres de rapport de circonférence avec Python
Connectez-vous à MySQL avec Python sur Raspberry Pi
Script Python pour obtenir des informations de note avec REAPER
Suivi GPS avec Raspeye 4B + BU-353S4 (Python)
Informer périodiquement l'état de traitement de Raspberry Pi avec python → Google Spreadsheet → LINE
Essayez d'utiliser le processeur à 4 cœurs du Raspberry Pi 2 avec Parallel Python
Essayez de déboguer Python sur Raspberry Pi avec Visual Studio.
Prenez la valeur du thermo-hygromètre SwitchBot avec Raspberry Pi
Changer les valeurs du thermo-hygromètre Bot avec Raspberry Pi
Ubuntu 20.04 sur raspberry pi 4 avec OpenCV et utilisation avec python
Obtenez l'état de fonctionnement de JR West avec Python
[Python] Obtenez des informations sur les utilisateurs et des articles sur l'API de Qiita
Afficher l'image de la caméra USB avec OpenCV de Python avec Raspeye
Obtenez le code du pays avec python
Obtenez la chronologie Twitter avec Python
Raspeye + Python + Mémo OpenGL
raspberry pi 1 modèle b, python
Commencez avec Python! ~ ② Grammaire ~
Obtenez des stocks avec Python
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Obtenez des informations équivalentes à l'onglet Réseau des outils de développement Chrome avec Python + Selenium
Mettre à jour Raspberry Pi Python vers 3.7 ou version ultérieure avec pyenv
Débutant Python s'ouvre et se ferme avec Raspberry Pi
Obtenez une liste des livres électroniques DMM achetés avec Python + Selenium
Production de système de contrôle de température avec tarte aux framboises et ESP32 (1)
Exécutez l'exemple de code python BNO055 avec I2C (Raspberry Pi 3B)
Débarrassez-vous des données sales avec Python et les expressions régulières
SSD 1306 OLED peut être utilisé avec Raspeye + python (Remarque)
getrpimodel: Reconnaître le modèle Raspberry Pi (A, B, B +, B2, B3, etc.) avec python
Exemple d'analyse HTTP GET et JSON avec Pepper Python
[Python x Zapier] Obtenez des informations d'alerte et notifiez avec Slack
Essayez Juniper JUNOS PyEz (bibliothèque python) Note 2 ~ Obtenez des informations avec PyEz ~
Connectez Raspberry Pi à Alibaba Cloud IoT Platform avec «Python»
Récupérez la source de la page à charger indéfiniment avec python.
Comment obtenir les informations des organisations, Cost Explorer d'un autre compte AWS avec Lambda (python)
[Raspberry Pi] Contrôle du moteur pas à pas avec Raspberry Pi
Obtenez des informations sur les fichiers vidéo avec ffmpeg-python