PC Temperatur etc mit PI auslesen und Anzeigen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Liebe Gemeinde,

    ich möchte eine PI benutzten um die Temperatur, Lüftergeschwindkeit, Taktrate des Prozessoren etc.... auszulesen und auf einen separten Display was ich in das PC-Gehäuse verbauen will anzeigen zu lassen.

    Wie will ich es machen/Was ich möchte

    - Ich möchte den Raspberry Pi per Mainboard Internen USB Port anschließen.

    - An den Raspberry ein Display anschließen z.B. (https://www.amazon.de/geeekpi-Capacitive-Monitor-Raspberry-BeagleBone/dp/B0749K932T/ref=sr_1_12?s=computers&ie=UTF8&qid=1539358742&sr=1-12&keywords=Raspberry+Pi&tag=psblog-21 [Anzeige])

    - Ich möchte das der Raspberry sich über den USB Port Strom holt und die Informationen ausließt

    - Ich möchte das der Raspberry sich mit dem PC an und aus schaltet (das sollte aber kein Problem sein, da wenn PC aus die USB Ports ja auch keinen Strom bekommen)

    Dann brauche ich noch eine Software die startet sobald der Raspberry sich anschaltet und Grafisch die gewünschten Werte anzeigt.....

    Was ich Habe:

    - Einen Raspberry Pi 2 B

    - Ein MSI Z370 Gaming M5 Mainboard

    Kann mir irgendwer mit dem Projekt helfen ? Hat vllt. jemand sowas schon gemacht ?

    Bitte für jede Hilfe sehr Dankbar

  • Hallo,

    wie stellst du dir das den vor, dass der Gaming PC "freiwillig" die Sensordaten via USB-Port ausgibt?

    Zitat

    - Ich möchte das der Raspberry sich mit dem PC an und aus schaltet (das sollte aber kein Problem sein, da wenn PC aus die USB Ports ja auch keinen Strom bekommen)

    Sagen wir mal das mit der Stromversorgung funktioniert so, dann ist das hochfahren kein Problem. Das Runterfahren ist eins, weil der Raspi nicht runtergefahren wird, sondern es wird - bildlich gesprochen - der Stecker gezogen. Das kann gut gehen, aber sich nicht für immer. Das Risiko, dass du dir das Dateisystem und / oder OS abschießt, ist gegeben.

    Ich denke, ich würde - falls es nicht so wie so fertige Hardwarelösungen dafür gibt - auf dem Gaming-PC einen Serverdienst einrichten, der über eine REST-ähnliche Schnlttstelle die gewünschten Daten ausspuckt. Die kannst du beliebig abfragen und visualisieren.

    Der Serverdienst ist mit ein paar Zeilen Code (z.B. Python) zu programmieren.

    Gruß, noisefloor

  • Heyho,

    wie stellst du dir das den vor, dass der Gaming PC "freiwillig" die Sensordaten via USB-Port ausgibt?

    Idealerweise soll ja die Software auf dem PI die Sensordaten auslesen. Die Quelle sollte ja zu ermitteln sein, da es mittlerweile 100+ Programme(Freeware) die auf die Daten problemlos zugreifen können.

    Fertige Hardwarelösungen habe ich bisher nicht dafür gefunden.

    Das mit der REST-Schnlttstelle ist ein Ansatz, danke.

    Mittlerweile habe ich was Interasstes gefunden :

    Was die Frage des Anschließen beantworten sollte =)

    • Offizieller Beitrag

    Ich möchte das der Raspberry sich über den USB Port Strom holt

    [...]

    - Einen Raspberry Pi 2 B

    Sagen wir mal das mit der Stromversorgung funktioniert so

    Da bist Du ist ja sehr optimistisch! ;) Ein Zero ja, aber ein 2B?

    //Edit Deadflocke Bitte bearbeite Deine Beiträge solange noch keiner darauf geantwortet hat! :danke_ATDE:

  • Hallo,

    Zitat

    Idealerweise soll ja die Software auf dem PI die Sensordaten auslesen. Die Quelle sollte ja zu ermitteln sein, da es mittlerweile 100+ Programme(Freeware) die auf die Daten problemlos zugreifen können.

    So funktioniert das aber nicht - ich glaube, du hast da eine etwas vereinfachte Vorstellung, wie das so läuft...

    Der Pi kann ja nicht an der USB-Schnittstelle "saugen" und die Daten kommen auf "automagische" Art und Weise. Der PC muss Daten an die USB-Schnittstelle mit einem definierten Protokoll liefern, sonst bekommt der Pi gar nichts.

    Welche OS läuft auf dem Gaming PC? Linux oder Windows?

    Gruß, noisefloor

  • Welche OS läuft auf dem Gaming PC? Linux oder Windows?

    Windows

    So funktioniert das aber nicht - ich glaube, du hast da eine etwas vereinfachte Vorstellung, wie das so läuft...

    Der Pi kann ja nicht an der USB-Schnittstelle "saugen" und die Daten kommen auf "automagische" Art und Weise. Der PC muss Daten an die USB-Schnittstelle mit einem definierten Protokoll liefern, sonst bekommt der Pi gar nichts.

    Das bei sowas nicht´s "Automagisch" funktioniert weiß ich schon, deswegen frage ich hier um Hilfe......

    Ich ging bis jetzt davon aus wenn ich "theoretisch" den USB Port vollen Zugriff frei gebe sich so der PI die Daten ziehen kann.

    Alternativ kann man ja auch über eine Software/Programm die Daten an den PI senden/bereitstellen.....

    Es muss ja auch nicht unbedingt über USB übertragen werden, von mir aus gerne per Netzwerk etc wenn dies einfacher ist =)

    Bin für jeden Lösungsansatz dankbar

  • Hallo,

    Zitat

    Ich ging bis jetzt davon aus wenn ich "theoretisch" den USB Port vollen Zugriff frei gebe sich so der PI die Daten ziehen kann.

    Nee, das funktioniert nicht. Das "S" ins USB steht für "serial", also ein serielles Protokoll. USB ist ja (in erster Linie) zum Anschluss von Peripherie gemacht worden ist, nicht um zwei Rechner zu verbinden. Das ist nach wie vor über eine "konventionelle" serielle Schnittstelle wie RS-232 einfacher (insbesonders für Hobbyprogrammierer). Oder halt "moderner" über's Netzwerk, wie die bereits vorgeschlagen.

    Wie man in Windows "low level" an die Sensordaten kommt, damit man die überhaupt irgendwie senden kann - keine Ahnung, das ist nicht meine Welt. Aber es geht sicherlich über die PowerShell oder das .NET Framework. Die Daten, wenn sie einmal auf dem Pi sind, auf ein Display bringen, ist das kleinere Problem.

    Mit welchen Programmiersprachen hast du Erfahrung?

    Gruß, noisefloor

  • ich möchte eine PI benutzten um die Temperatur, Lüftergeschwindkeit, Taktrate des Prozessoren etc.... auszulesen und auf einen separten Display was ich in das PC-Gehäuse verbauen will anzeigen zu lassen.

    Nur: Warum?

    Einen Computer in einen Computer bauen, um Daten anzeigen zu lassen?

    Das kann der Computer auch selber: Ein Display mit I2C oder SPI Schnittstelle, ein USB-I2C oder USB-SPI Wandler und damit auf einen freien internen USB-Stecker. Die Ansteuerung kann dann vom PC mit dem gleichen Programm erfolgen, was auch die Temperaturen ausliest.

    Dein größeres Problem ist: Wie kommst Du an die Sensorwerte ran? Das macht nämlich jeder Boardhersteller anders, deswegen zeigen Tools wie HWinfo auch mitunter so Mist an. Du musst das also speziell für Dein Board anpassen und beim nächsten Board stimmt dann schon wieder nicht.

  • Dein größeres Problem ist: Wie kommst Du an die Sensorwerte ran? Das macht nämlich jeder Boardhersteller anders, deswegen zeigen Tools wie HWinfo auch mitunter so Mist an. Du musst das also speziell für Dein Board anpassen und beim nächsten Board stimmt dann schon wieder nicht.

    Abgesehen davon, dass ich die Aussage nicht beurteilen kann, ob das stimmt oder nicht, bzw. wie weit die tatsächlichen Werte abweichen, so wäre das Programm Core Temp für dich Interssant. Kenne das Programm ansich selbst nicht, hab ich nur mal schnell gegoogelt für dein Anliegen und bei mir installiert. Warum ist es interssant für dich? Weil man bei dem Programm "logging" aktivieren kann, damit wird eine CSV Datei mit den Werten mit geschrieben. Diese kannst du dir anschließend via Samba freigeben.

    Wie man in Windows "low level" an die Sensordaten kommt, damit man die überhaupt irgendwie senden kann - keine Ahnung, das ist nicht meine Welt. Aber es geht sicherlich über die PowerShell oder das .NET Framework. Die Daten, wenn sie einmal auf dem Pi sind, auf ein Display bringen, ist das kleinere Problem.

    Somit wäre der Schritt wie man an die Daten kommen kann geklärt. Zumindest was die Temperaturwerte betrifft.


    EDIT:

    Aber warum reicht dir denn keine Anzeige am PC Monitor? Die Hintegründe dazu würden mich noch interessieren

  • Viel interessanter ist doch, wie Programme wie CoreTemp an ihre Daten kommen. Dann kann man das selber programmieren.

    Unter Linux gibt es ja einige Angaben unter

    Code
    /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
    /sys/class/thermal/thermal_zone0/temp
    /proc/meminfo
    /proc/uptime

    Aber irgendwie müssen die ja auch das reinkommen. Wäre vielleicht mal einen Blick in den Kernel wert, wo der die Werte abgreift.

  • Aber das ist Linux, verständlich, praktisch, offen, gut :)

    Ja und? Es greift auf die gleichen Schnittstellen am Motherboard zu wie Windows.

    Wenn Du einen OpenSource Hardwaremonitor unter Windows findest, kannst Du auch da schauen, auf welche Schnittstellen der zugreift. Ich kenn keinen.

  • Hallo,

    Zitat

    Ja und? Es greift auf die gleichen Schnittstellen am Motherboard zu wie Windows.

    Ja schon, nur das der Linux-Kernel das praktischerweise direkt als Datei im /proc oder /sys Verzeichnis bereit stellt. Bei Windows geht das wohl über das WMI (Windows Management Instrumentation) System, wenn ich das richtig verstehe.
    Was jetzt "einfacher" ist, ist sicherlich Gewohnheitssache. Als Linux-Nutzer ist man nun mal "everything is a file" gewöhnt :)

    Gruß, noisefloor

Jetzt mitmachen!

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