Hi!
Jedes Jahr über die Weihnachtsfeiertag nehme ich mir ein kleines Coding-Projekt vor. Letztes Jahr war es meine <a href="http://www.ntsearch.com/search.php?q=website&v=56">website</a> (
http://www.theredguy.org). Folgend möchte ich mein heuriges Thema vorstellen.
Titel:
Red's Temperature ProjectThemaInfos und Temperaturen (CPU, MB) sollen von meinem Rechner ausgelesen und auf meine Webseite (
http://www.theredguy.org) gepostet werden. Daten sollen near Realtime sein.
Vorgaben- Webseite ist auf php/mysql basis und steht bei einem Provider. Ist nur über Inet erreichbar.
- Mein Rechner läuft auf <a href="http://www.ntsearch.com/search.php?q=Windows&v=56">Windows</a> XP und vorerst sollen nur Windows-Systeme unterstützt werden (win9x und trash nicht).
- Da Lokal sicher ein Tool benötigt wird, soll dieses in c# gecoded werden, weil ich es einfach üben will.
Grundsätzlicher PlanIch habe mir natürlich schon gedanken gemacht und folgendes Konzept aufgestellt.
PC mit speziellem Tool ---- periodischer HTTP Aufruf mit Daten ----> Apache/mySQL Speicherung in DB <--- Abruf der Daten dynamisch mit PHPgeneriert ---- Client
Eine Graphik kommt noch.
Es gibt also 3 Dinge, die man schreiben muss:
Tool am PC- Ich dachte entweder an ein Progamm oder an ein Service. Beides hat Vor- und Nachteile.
- Das Tool wird periodisch (Zeit einstellbar?) eine php-Seite und Daten hinschicken.
- Daten sind das Login meiner Webseite, ein Key(um einfaches cheaten zu vermeiden), diverse Temps.
- Temperaturen kann ich im Moment von ASUS Mainboards mit installiertem PC Probe auslesen.
PHP Script zur Aufnahme der DatenIst das geringste Problem. Es wird einfach die Daten in die DB eintragen. DB Modell wird noch aufgestellt. Eventuell mache ich ein Limit wieviel Einträge pro PCs in der DB sein können (100 oder so).
PHP Script für statistische und aktuelle Wiedergabe der Daten- Soll die aktuellen Werte anhand des Insertion Datums ausgeben.
- Eine Temperaturkurve wäre auch nett.
- Ich dachte auch an Tresholds, dh. wenn die CPU unter Last steht und die Temp steigt, wird das durch Änderung der Schriftfarbe dargestellt. Farbverlauf von blau bis rot.
- Wenn der letzte Eintrag älter als 5 Minuten ist, steht "System offline" dort.
- Da man das ganze auf Multiuser und Multisystem ausbauen könnte, könnte man ein Temp-Ranking sowie den Coolsten PC und den HotRod ausgeben. Alles relativ aktuell.
Technische Fragen meiner Seite- Temps kann ich bei meinem PC einfach mittels ASUS Probe dlls auslesen. Jedoch wäre etwas generisches Interessanter. Ausserdem muss ich im Moment eine ganze Reihe an dlls in mein Runtime Verzeichnis kopieren, da die dlls sich sonst untereinander nicht finden. Habt ihr da eine gute Idee, wie man Temperaturen (CPU/Mainboard/Speicher) generisch auslesen kann?
- Soll das Tool ein Service oder eine Applikation(sys-tray) sein?
- Gibts eine einfache kleine Verschlüsselung, die ich hardcoded machen könnte, die sich sowohl in c# als auch in php realisieren lässt ? Stichwort performance unter php.
- Neben username, rechnername, cpu temp, mb temp und mem temp würdet ihr gerne noch andere Infos dort sehen wollen ? Wenn ja welche?
- Vorerst code ich das ganze mal für mich alleine. Wenn ich aber das Gefühl habe, es läuft schon ganz gut, möchte dann jemand etwas beta-testen?
Soweit mal der Start. Die Idee ist mir gestern in der Nacht während des Schlafes gekommen. Obiges ist erstes Brainstorming und ein paar Zeilen Testcode. Ich will garnicht hören, dass es das schon gibt (auch wenn es mir im Moment nicht bekannt ist), denn es geht mir hauptsächlich darum, dass Coden nicht zu verlernen.
Seid ihr am Fortschritt des Projekts interessiert?
PS: Sollte das ganze mal stable funktionieren, wäre es eigentlich ein lustiges feature für oc.at oder?
EDIT:
Erster Screenshot: