Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   CPU Tempertur auslesen (https://www.delphipraxis.net/195932-cpu-tempertur-auslesen.html)

tomkupitz 8. Apr 2018 13:54

CPU Tempertur auslesen
 
Hallo,

gibt es ausser Win32_TemperatureProbe und WMI (welches augenscheinlich nicht funktioniert) noch andere Möglichkeiten die CPU Temperatur auszulesen? Und das im Quelltext oder aber auch als externe Module (dll, o.ä.)?

Danke und beste Grüße

bnreimer42 8. Apr 2018 14:04

AW: CPU Tempertur auslesen
 
Hast Du SMBIOS mal probiert?

Aber wenn WMI nicht funktioniert....
Funktioniert WMI grundsätzlich nicht oder nur auf Deinem Rechner?

Codehunter 8. Apr 2018 14:15

AW: CPU Tempertur auslesen
 
Mit Geld oder ohne Geld?

Das Zauberwort heißt SMBIOS. Du kannst die Freeware-Anwendung verwenden um zu testen, ob dein System/Chipsettreiber überhaupt Temperatur-Infos zur Verfügung stellt. Dort guckst du unter Motherboard -> SMBIOS DMI -> Temperature Probe. Wenn dort Nodecount = 0 steht kannst du dich auf den Kopf stellen, dann bekommst du keine Temperaturinfos vom System.

Nicht verwechseln mit Herstellertools vom Mainboard. Die verwenden propritäre Abfragen die nicht dokumentiert sind.

OLDIE1950 8. Apr 2018 15:20

AW: CPU Tempertur auslesen
 
https://www.delphipraxis.net/114483-...ed-memory.html

tomkupitz 8. Apr 2018 16:12

AW: CPU Tempertur auslesen
 
Funktioniert leider alles nicht.

Danke und beste Grüße

himitsu 8. Apr 2018 16:41

AW: CPU Tempertur auslesen
 
Die CPU-Kern-Temp wird doch in der CPU gemessen, aber wie diese Temperatur ins Mainboard/BIOS kommt ... k.A., also ob über eigene Anschlüsse oder über einen BUS.
Eventuell kommt man über CPU-Register/Befehle ran?

WMI hat selber keine Daten, sondern ist nur eine von vielen Schnittstellen.
"Alles" was WMI liefert, kann man sich auch von irgendwo anders her besorgen. Genau so, wie WMI das intern macht.

Wenn SMBIOS nicht hilft, dann kannst du natürlich auch erstmal mit den Hersteller-Tools deines Mainboards schauen, ob es da was gibt, dann entweder auf der Herstellerwebseite nach deren Spezifikation/API suchen, den Hersteller fragen oder deren Programm debuggen/reverse enginieren.

Es gibt auch Programme, welche man eventuell ansprechen kann. z.B.
http://www.alcpu.com/CoreTemp/
http://www.alcpu.com/CoreTemp/developers.html



Die CPU-Kerntemperatur bekommst du extern nicht,
aber die Kühlertemperatur (möglichst nah am Kern, aber nicht im Luftstrom).
Ein temperaturabhängiger Widerstand (oder ein Temperatur-IC mit I²C/SPI), ein ATMini, ein USB-Stecker und paar Minuten zum Löten und Programmieren (2-3€).
https://www.amazon.de/DigiSpark-Ardu.../dp/B00BHE7CD6
https://electronics.stackexchange.co...2-0-connection
https://www.mouser.de/Sensors/Temper...f1wp&pop=3fz4v
https://elektroniktutor.de/bauteilkunde/ptcntc.html
(bei I2C/SPI mußt du nichts messen/berechnen/kalibrieren)

Codehunter 8. Apr 2018 19:10

AW: CPU Tempertur auslesen
 
Die entscheidende Frage sollte doch erstmal sein: Soll das nur ein Bastelprojekt auf einem bestimmten Rechner sein oder wird es ein universelles Tool?

KodeZwerg 8. Apr 2018 21:14

AW: CPU Tempertur auslesen
 
Das OpenSource Projekt CPUID kann sowas, für generelle Nutzung leider nur Avg. CPU Temp, man kann Source auf bestimmte Typen spezialisieren das auch einzelne Kern-Temperaturen ausgelesen werden bzw hinterlegte Min/Max Werte pro Core/Kern.

OLDIE1950 8. Apr 2018 22:10

AW: CPU Tempertur auslesen
 
Zu #6:
Die meisten Programme, die CPU-Register auslesen, nutzen die RDMSR-Funktion in der WinRing0.dll o.ä.
Delphi-Quellcode:
procedure InitializeDll(); stdcall; external 'WinRing0.dll';
procedure DeinitializeDll(); stdcall; external 'WinRing0.dll';
function Rdmsr(index:DWORD;eax:dWORD;edx:DWORD): DWord; stdcall; external 'WinRing0.dll';
Ist von OpenLibSys.

devidespe 9. Apr 2018 10:10

AW: CPU Tempertur auslesen
 
Vielleicht ist das hier interessant für Dich:

https://www.computerbase.de/2017-05/cpu-temperatur/

Dein Ansatz mit den MSRs ist schon korrekt denke ich...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz