Be Quit Lüfter + Raspberry PI 3 Cluster - CPU TMP woher ?

  • Hallo,


    wie der Titel schon verrät möchte ich ein Rapberry PI Cluster mit einem Be Quit Lüfter kühlen.

    Ich besitze zwei von diesen - ich nenne es mal "PI-Racks" die hier (hoffentlich) auf diesen Bild zu sehen sind: BILD ( Ich habe es nicht geschafft das Bild unter dem Bild Tag in den Artikel zu bekommen :wallbash: ).


    Und möchte diese PI-Racks mit diesem Kühler (Amazon-Link (Affiliate-Link)) kühlen. Soweit so gut, nach dem groben überfliegen des Datenblatt des Kühlers habe ich sogar gesehen, dass ihm einfach ein Steuersignal ( PWM - meine Ich ) gegeben werden kann.


    Stellt sich jetzt die Frage, wie ich am geschicktesten an die Temperatur der CPU und "GPU" des PI's ran komme. Ich habe mehre Wege gefunden. Die meisten Arbeiten mit Shell-tools o.ä.


    Und ich wollte hier mal nach der best practice fragen. Gibt es vielleicht irgendeine C-Library die ich anzapfen könnte oder etwas in Phyton?

    Ich würde ungern den "umweg" über ein externes Tool gehen wollen.


    Hab Ihr Ideen ? Erfahrungen? Ich bin für jeden Vorschlag offen!


    Vielen Dank im voraus!


    VG


    P.S. Und ich hoffe, das ich in den richtigen Abschnitt gepostet habe - falls nicht, wäre ich dem MOD, der diesen Thread in den richtigen Abschnitt moved sehr dankbar ;)

  • Hofei Danke für deine schnelle Antwort.


    Ich möchte gerne ohne subprocess Arbeiten. Nach meinen Wissen ist der Unix Kernel in C geschrieben - Das heißt es muss irgendeinen Header geben, den ich includen kann, der mir eine Methode liefert mit der Ich die CPU Temperatur auslesen kann. In meinem Code selber.


    vcgencmd schafft es ja auch


    EDIT: Ich habe unter diesem LINKden Header tatsächlich gefunden :o


    Was muss ich tun, damit ich ihn in einem C/C++ Projekt nutzten kann ?

    Edited 2 times, last by jRaspbian: Link war falsch ().

  • Servus jRaspbian ,

    Ich möchte gerne ohne subprocess Arbeiten. Nach meinen Wissen ist der Unix Kernel in C geschrieben - Das heißt es muss irgendeinen Header geben, den ich includen kann, der mir eine Methode liefert mit der Ich die CPU Temperatur auslesen kann. In meinem Code selber.

    ein Header liefert keine Methoden ... in einem Header sind i.d.R. lediglich Deklarationen und Konstanten aufgeführt.

    Du kannst aber nicht einfach die dort deklarierten Funktionen aufrufen, schon gar nicht wenn sie sich im Kernel befinden. Auf den hast Du gar keinen Zugriff aus dem Userspace.

    Du musst also versuchen herauszufinden welche Kernel-API Dir die gewünschten Funktionen zur Verfügung stellt.


    Wenn ich mich aber nicht irre, dass gibt es einen sysfs-Eintrag, der DIr die Temperatur liefert.

    Den kannst Du einfach auslesen ...


    cu,

    -ds-

  • Wenn ich mich aber nicht irre, dass gibt es einen sysfs-Eintrag, der DIr die Temperatur liefert.

    Jepp:


    Code
    pi@raspberrypi ~ $ vcgencmd measure_temp
    temp=59.1'C
    pi@raspberrypi ~ $ cat /sys/class/thermal/thermal_zone0/temp 
    60148

    Der minimale Unterschied dürfte ja wohl egal sein, CPU und GPU sind ja im Grunde "eins" beim Raspi.


    Edit: Der Unterschied ist wohl der Verzögerung der beiden Befehle geschuldet:

    Code
    pi@raspberrypi ~ $ vcgencmd measure_temp; cat /sys/class/thermal/thermal_zone0/temp
    temp=60.1'C
    60148