Ergebnis 1 bis 1 von 1
-
09.06.2012, 21:55 #1Bl4ck M4ch!n3
Projektvorstellung : WatchYourTemp
Ich würde euch gern ein kleines Projekt vorstellen.
Zur Vorgeschichte :
Ich habe vor ein paar Monaten einen Intel Core2Quad geschenkt bekommen, weil er sonst verschrottet worden wäre.
Da mein PC zu dem Zeitpunkt noch mit einem übertakteten Core2Duo lief habe ich den Quad natürlich mit Vorfreude entgegen genommen ;D
Also PC aufgeschraubt und CPUs getauscht.
Doch dann zu früh gefreut : Alte Wärmeleitpaste war richtig auf den CPU-Kühler festgebrannt.
Nicht mal Isopropylalkohol hat was gebracht
Trotzdem alles sorgfältig eingebaut, Prime95 laufen lassen und nach knapp 10 Sekunden waren schon 2 Kerne auf über 80°C
Habe dann gleich ein neues Gehäuse + Lüfter und CPU-Kühler bestellt.
Zusammengebaut - läuft cremig
Prime95 : Nicht höher als 45°C - So muss das
Doch ich wollte meine Temps nicht nur während Prime95 überwachen, sondern auch gerne wenn ich zocke oder DVD's schau.
Ein Overlay mit DirectX wollte ich nicht programmieren :
Die benötigte Zeit zum einlesen ist einfach zu groß für so eine Kleinigkeit.
Außerdem würde sowas warscheinlich extrem stören bei Filmen/Spielen.
Eine Tastatur mit LCD wollte ich nicht kaufen :
An sich ist's nicht mal viel Geld, aber für mich hätte es sicht nicht gelohnt.
Dafür bin ich zu selten am Rechner.
Core Temp + Android App zum anzeigen der Temperaturen :
Kam für mich nicht in Frage, da mein Handy dann ständig eingeschaltet und im WLAN neben mir liegen müsste.
Und da kommt mein Projekt ins Spiel :
WatchYourTemp
In erster Linie ist WatchYourTemp ein von mir programmiertes Zusatzprogramm für Core Temp.
Falls einige Core Temp nicht kennen :
Core Temp ist ein Programm, welches die Temperaturen der CPU, sowie deren Kerne ausliest.
Core Temp Homepage
Auf der Seite gibt es eine "Abteilung" für Developer, wo sich das SDK downloaden lässt.
Also habe ich mich ans Werk gemacht, das SDK gedownloadet und die DLL in meinem Projekt eingebunden.
Gearbeitet habe ich mit dem Visual Studio 2010 und der Programmiersprache Visual Basic
(Warum gerade Visual Basic, darauf gehe ich dann am Ende kurz ein)
Aussehen tut das Ganze zur Zeit so :
So weit, so gut.
Natürlich wird das Programm grafisch noch ein wenig aufpoliert
Jetzt könnte man ja meinen "Bl4ck macht Bullshit, ist doch das selbe wie Core Temp"
Hier kommt jetzt der interessante Part :
Ich benutze zusätzlich zur Software noch Hardware aus meiner damaligen Ausbildung :
Ein PIC-Board (PIC wegen dem Mikrocontroller PIC16F887) + LCD-Anzeige (mit Standard HD44780-Controller).
Das PIC-Board hat ein Azubi aus meinem Lehrjahr entwickelt.
Hätte ich auch gern übernommen, aber ich war mit meinem Nixie- und VFD-Uhr Projekt beschäftigt (Kann ich auf Wunsch ebenfalls gerne vorstellen )
Bestückt habe ich aber alles selber
Auf dem PIC-Board befindet sich neben dem PIC auch ein Mini-USB-Anschluss, ein Prolific-2303 (Seriell auf USB-Wandler) und ein Wannenstecker, zum anstecken des LCD's.
Ganz zu schweigen von meiner coolen Sicherung daneben
Eigentlich ist noch ein ganzer Haufen mehr drauf, aber das ist für das Projekt uninteressant.
In der Windows-Software lässt sich einstellen, in welchen Abständen die Temperatur von Core Temp geholt werden soll und an welchem COM-Port das PIC-Board angeschlossen ist.
Eigentlich ist das PIC-Board ja an gar keinem COM-Port angeschlossen, sondern an einem USB-Anschluss
Dafür sorgt der vorhin erwähnte Prolific-2303.
Dieser wandelt die seriellen Signale des PICs um in USB-Taugliche und natürlich auch umgekehrt.
Ein PC-Treiber sorgt dann dafür das der Prolific als serielle Schnittstelle (COM-Port) erkannt wird.
Somit lässt sich auf einfachste Weise eine Kommunkation zwischen PC und PIC ermöglichen.
Hier mal ein kleiner Screen des Einstellungs-Tabs
Die Software holt sich also in einem einstellbaren Intervall die Temperaturen von Core Temp und zeigt sie im Fenster an.
Zusätzlich wird überprüft, ob sich die Temperaturen seit der letzten Aktualisierung geändert haben.
Sollte dies der Fall sein, so werden die aktuellen Temperaturen über die serielle Schnittstelle an den PIC übertragen.
Somit lässt sich unnötiges senden sparen.
Übertragen werden die Daten mit einem Protokoll, welches ich selber entwickelt habe.
Es beinhaltet eine Erkennung für fehlerhafte Übertragungen und bringt dementsprechende Rückmeldungen.
Erkannt werden können :
Fehlerhafte Steuer- und/oder Optionszeichen sowie Verlust von Daten.
Steuer- und Optionszeichen sind Teile meines Protokolles, damit der PIC weiß was er tun soll.
Auf Wunsch kann ich einen kleinen Einblick in das Protokoll gewähren
Jetzt hat der PIC also die Daten (Temperaturen) und ordnet diese den Kernen zu, bzw. der richtigen Position auf dem Display.
Das Programm für den PIC ist in C geschrieben, benutzt wurde der Compiler bzw. die IDE mikroC PRO for PIC.
Aussehen tut es am Ende dann so :
Falls es wen interessiert wieso ich das ganze in Visual Basic realisiert habe, der kann den Spoiler öffnen
Vielen Dank für die Aufmerksamkeit!
Ich weiß es war viel zu lesen, hoffentlich nicht zu viel
Würde mich sehr über Rückmeldungen freuen!
mfG
-
Ähnliche Themen
-
Projektvorstellung www.serversponsor.com: Hallo Community. Hiermit möchte ich Euch mein aktuelles Internetprojekt vorstellen. Es handelt sich dabei um eine Plattform, wo sich Sponsoren...
Ein Geowaz-Deck hat gerade eines der größten Pocket-Turniere gewonnen btw. Und so sehr hier manche User sichtlich über Celebi-ex erschüttert sind,...
Pokémon Trading Card: Pocket