PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auslesen der BIOS-Werte (Temperatur etc) ?



KsB
14.05.2008, 19:49
Hallo ihr alle,

ich bin gerade an der Projektierung eines Projekts von mir.
Und auch gleich auf ein Problem gestoßen, selbst langes Googlen hat nichts geholfen. ;-)

Weiß irgendwer wie ich die Werte wie Core Spannung, Lüfterdrehzahl,
CPU Temperatur u.s.w. auslesen kann?
Programme wie Speedfan und so können das ja auch.

Die Programmiersprache is erstmal nicht so wichtig, wichtiger ist
mir das WIE es geht?

Man muss diese Werte doch irgendwie aus irgendeinem Register auslesen können, oder so????? *grübel*

Ich hoffe ihr könnt mir weiter helfen, habe irgenwie keine Idee dazu

Ein wunderschönen Abend noch

Benny

avion23
14.05.2008, 21:10
Ich meine das geht über den SMbus aka i2c.

Ceos
15.05.2008, 11:48
mich würde zunächst mal interessieren wie man mittels PC-programm da ran kommt, dann kann man bestimmt auch physikalisch irgendwie ran, aber man hat die möglichkeit die daten vorher am PC vorher auszuwerten

PS was für ein board/bios ist es denn? ich habe zu einigen boaards anleitungen gefunden fürs WIE aber nie für mein eigenes :p

KsB
15.05.2008, 14:46
Icke habe nen Asus a8n-sli deluxe.
Aber mir gehts halt auch um den Grundsätzlichen weg an die Daten zu kommen.
Ich kann ja auf nen LCD mit irgend son LCD Prog (jaLCD usw) auch alle Daten anzeigen lassen.

Aber wo finde ich diese Infos um Sie in mein eigenes (zukünftiges) Programm zu basteln.
Ich möchte ne Lüftersteuerung realisieren welche auch mit den schon Standardmäßig ausgelesenden werten Arbeitet.

Hab mir das so vorgestellt:

Ich schreibe ein Programm mit netter GUI.
Die Werte von meinen Hardwarekomponenten im PC sollen eingelesen und verarbeitet werden und dann gebe ich über LPT oder Seriell meine Daten an meine Steuerhardware(AVR) welche dann die Lüfter reguliert Beleuchtung von Case steuert usw.

Eigentlich möchte ich mit dem Auslesen der Peripheriedaten verhindern dass ich überall zusätzlich Temperaturfühler anbasteln muss.

johns
15.05.2008, 20:58
hallo,

linux: zb http://www.nongnu.org/dmidecode/

windows:
zb http://msdn.microsoft.com/en-us/library/aa394084%28VS.85%29.aspx
Win32_Fan
Win32_TemperatureProbe

powershell beispiel: get-wmiobject -class "win32_fan"

abhängig von der SMBIOS implementierung des bios sind nicht alle (oder auch garkeine) daten verfügbar, uU finden sich gesuchte daten auch in anderen win32 wmi klassen.

es gibt sicherlich noch andere möglichkeiten an die daten zu kommen, diese sind mir jedoch nicht bekannt, und auch ich wäre an solchen sehr interessiert.

und programmier den controller so dass im falle eines system- oder programmabsturzes ausreichend kühlleistung gewährleistet ist!

lg

Jaecko
16.05.2008, 07:03
Wenn die Programmiersprache egal ist:
http://www.vbarchiv.net/tipps/details.php?id=1029

KsB
16.05.2008, 22:39
Hey danke jungs,
das sieht ja schon mal sehr Interessant aus.
Werde mich die nächste Zeit mal mehr damit befassen.
Nu habe ich schon mal eine Richtung in die ich Schwimmen kann,
der Rest kommt dann schon.

Nie verzagen im RoboForum fragen ;-)

KsB
17.05.2008, 16:33
Hab mir das mal alles etwas genauer angeschaut.
Also irgendwie sind das VB und ich nicht ganz auf einer Wellenlänge.
Bin mehr in der C++ Region heimisch. :-)

Gibt des vielleicht ein Tutorial wie ich die Win32_Fan
Win32_TemperatureProbe usw. mit C++ auslesen kann?
Oder Beispielcode wäre auch nett, dann könnte ich es damit mal versuchen.

Auf der Microsoftseite gibt es ja ein paar Infos.... aber vielleicht kennt jemand auch noch irgend eine andere SCHÖNE Seite.

LG Benny

Ceos
17.05.2008, 17:17
versuchs doch mal mit c#, das iss "wie" c++ benutzt aber die gleichen quellen/bibos und ist auch sonst sehr ähnlich mit VB was den zugriff auf die ressourcen angeht

littlemaster
30.08.2008, 12:51
Hallo Leute

Also, du wirst auf jeden fall auf ne richtige Programmiersprache zurückgreifen müssen. Ich Programmier gerne in Visual C# Express und habe mich letzte Woche auf die Suche gemacht um mit Managed Code Hardware auszulesen. Das ergebnis bis jetzt ist das du auf jeden Fall DLL's die mit C++ geschrieben worden sind einbinden musst. Der Beitrag vom johns ist richtig, nur WMI funktioniert eigentlich sogar sehr unzuverlässiger. Das Problem dabei ist, dass WMI leider nicht wirklich Hardware nah ausliest. Beim einen Rechner gehts beim anderen nicht.

Wenn du mal in die Materie von SDK's reinschaust machst du nichts falsch. Es gibt einige OpenSource Projekte bei denen man das Rad nicht neu erfinden muss^^

Eigentlich hat Microsoft in den DLL's die auf vielen Windows System ähnlich sind alle Funktionen eingebaut die du brauchst. Windows Vista bietet mit abstand die meisten funktionen. Wenn du C++ nicht fürchtest guck mal in Visual C++ Express rein. Das Problem aber ist, dass es da wirklich übel hergeht und man wirklich Programmieren muss. Das nächste Problem hat jeder schon mitbekommen. Microsoft Dokumentiert nicht alles und Verkauft nur für viel Geld einblicke in bestimmte Bereiche um dann Komerzielle Anwendungen herzustellen. Also keine spielereien wie WMI das man mal nebenbei lernt oder zusammen Pastet.

Kurz und bündig, im prinzip brauchst du "nur" auf DLL's zurück greifen die du in dein Progs einbinden musst.

Hier eine alternative, kostenlose und dokumentierte Librarie (DLL) die ich gerade selbst Teste: WinRing0
Das ist ein Open Source C# .Net FrameWork. Die Kommunitie stellt eine DLL bereit um einfacheren zugriff im Managed Code auf die Hardware zu bekommen.
http://openlibsys.org

Andere Links:

PInvoke
http://pinvoke.net
Das ist eine Seite für C++ Funktionen in C#. Alles gut Dokumentiert und mit Beispiele. Jeder der eine weile Programmiert braucht irgendwann ne so eine Funktion von C++..

http://www.codeplex.com

CoreTemp
http://www.alcpu.com/CoreTemp/developers.html
CoreTemp ist ein CPU Programm um Werte auszulesen. Der Hersteller stell ein kostenloses .Net FrameWork das sehr genau CPU Werte liefert.

codeproject
http://www.codeproject.com



Richtig gute Infos von Menschen die sich beruflich mit Programmieren und Windows beschäftigen bekommst du in den Microsoft Newgroups.

Okey,

das wars. Wenn jemand mehr Infos hat her damit, ich suche auch noch

Gruß M

carlitoco
28.09.2008, 08:49
Also mien A8N-SLI Delueuxe regelt den Lüfter automatisch hoch wenn die CPU wärmer wird.
Mit dem etwas älteren Zahlmann modell komme ich beim browsen auf 38°C an der CPU. Wenn ich den Rechner auf volllast betreibe komme ich auf 45-48°C.

Ich verstehe die Intention nicht ein intaktes Temperatur - Lüfter System nicht verwenden zu wollen.

"dont touch a running sytem"

gruss carlitoco

ps habe den Threat nur überflogen

Nachtrag mien Lüfter macht 900-max1600 RPM d.h. er ist recht leise...

NumberFive
30.11.2008, 07:20
Wenn du was gefunden hast was passt sag doch mal hier bescheit bitte.
Da ich in mein Bot das Epia-borad verwende währe es für mich interressant so was für den C3 -Processor zu haben. Mir geh es hier nicht um die Lüfter steuerunf sondern um die gesamt prüfng des systems.

Gruß