Skript zur ausgabe der Temperatur von der CPU

  • Hallo,
    in diesem Projekt möchte ich versuchen eine einfache, auf PHP und HTML basierende Anwendung zu gestalten, mit der die Temperatur des CPUs, des GPUs, die aslastung der CPU usw. dargestellt wird.

    Mithilfe würde mich sehr freuen :helpnew: :denker: !

    ver. 0.2:
    [code=php]#
    # ver. 0.2
    # written by DrMaxHasenOhr
    # 14.08.2015
    #

    <?php
    $output = shell_exec('sudo vcgencmd measure_temp');
    $output2 = shell_exec('sudo vcgencmd get_config int');
    echo "<title>Messanstalt des Pi2</title>
    <center>
    <h1>Aktuelle Temperatur der CPU des Pis:</h1>
    <br>
    <br>
    <p><b><i>$output</i></b></p>
    <br>
    <br>
    <h1>Aktuelle config.txt::</h1>
    <br>
    <br>
    <p><b><i>$output2</i></b></p>
    </center>";
    ?>
    [/php]

    gez.

    DrMaxHasenOhr

    DrMaxHasenOhr.png

    Einmal editiert, zuletzt von DrMaxHasenOhr (14. August 2015 um 16:05)

  • Hallo,

    die bekommst jede Menge Infos zum System über das `/sys` und `/proc` Dateisystem - da brauchst du keine externe Programme, die auch noch Root-Rechte brauchen.

    Die Auslastung der CPU kann sich im Mikrosekundentakt ändern, von daher ist eine Ist-Darstellung wenig sinnvoll. Wenn müsstest du eine Mittelwert der letzten X Sekunden anzeigen.

    Die Anzeige könntest du dann z.B. via AJAX alle X Sekunden aktualisieren.

    BTW: ich gehe davon aus, dass du das Projekt aus Spaß an der Freude bzw. zum Üben machst? Weil Systemmonitore, die alle das schon aufbereitet anzeigen, gibt's schon reichlich.

    Gruß, noisefloor

  • vcgencmd Verursacht selbst jede menge CPU Last - sollte also wenn möglich vermieden werden.

    Wie noisefloor schon erwähnte, kann man die meisten Informationen aus dem virtuellen Dateisystem /sys/ auslesen - wo auch die CPU Temperatur dazu gehört. Bevor du aber nun dazu übergehst einen Konsolen Befehl über PHP darauf anzuwenden, solltest du lieber eine native Funktion von PHP zum auslesen von Dateien verwenden ;) Versuche immer so viel wie möglich in der Sprache zu machen die du aktuell verwendest - das schont die Ressourcen und wäre zudem auch schöner.

    Aber der schwer wiegenste und wichtigste Grund wäre dem www-data Benutzer nicht unnötig sudo Rechte geben zu müssen. Versucht das ebenfalls so gut es geht zu vermeiden, und wenn es wirklich absolut nicht anders geht (nicht nur aus Bequemlichkeit) dann werft zumindest ein Blick aufs 'sudo webscript'

    Du kannst auch ein Blick in meine cpu.php werfen wenn du nicht weiter kommst...
    (ja ich weiß, auch kein sudo webscript - aber ich muss hier ja nicht alles fixundfertig vorkauen oder?)


    //EDIT: Und ich glaub HTML Konform wäre auch <br/> anstelle von <br> :fies:
    Du kannst auch den <?php .. ?> Teil wieder schließen nachdem du die Daten ausgelesen hast, dann den HTML Code normal schreiben und nur an den Stellen wo du die php Variablen ausgeben willst erneut <?php ... ?> nutzen. Das wäre ebenfalls besser, schnellere Ausgabe und - schöner :D

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!