www.mikrocontroller.net

Forum: PC Hard- und Software Relaiskarte - vor dem Hochfahren ansteuern?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Relai123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine PCI I/O Karte verbaut diese besitzt 8Relais. Alles kein 
Problem kann sie ansteuern die Relais schalten usw.

Jetzt komm ich zu meinem Hauptproblem, die Karte steuert eine LED die 
signalisiert ob der PC an ist oder nicht. Sprich die Karte muss 
angesteuert werden wenn der Rechner Hochfährt - automatisch und das 
Relai soll geschalten werden.
Nur fällt mir dazu überhaupt nichts ein?

Hat jemand eine Idee wie man so eine PCI Karte ansteuert bevor der 
Windows gebootet hat?

Gruß

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relai123 schrieb:
> Hat jemand eine Idee wie man so eine PCI Karte ansteuert bevor der
> Windows gebootet hat?

Theoretisch müsste man "nur" das bios umschreiben. Aber sehr viel 
einfacher ist es einfach ein Relay an die 5V oder 12V leitung von 
Netzteil anzuschliesen und schon bist du fertig.

Autor: ichschonwieder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relai123 (Gast) schrieb:
> Jetzt komm ich zu meinem Hauptproblem, die Karte steuert eine LED die
> signalisiert ob der PC an ist oder nicht.


Peter II (Gast) schrieb:
> Aber sehr viel einfacher ist es einfach ein Relay an die 5V oder 12V
> leitung von Netzteil anzuschliesen

@Peter II
du meinst wohl eine LED...

@Relai123
ja frueher konnte man noch ein LED ohne spezielle
Software und ohne PC zum leuchten bringen...

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relai123 schrieb:
> eine LED die
> signalisiert ob der PC an ist oder nicht.

Manche PCs haben sowas schon fest eingebaut.

Gruss Reinhard

Autor: Relai123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ja mir ist selber klar das es viel einfacher geht. Das System ist 
aber "geschlossen" da kann man von außen nix mehr ändern gar nix.

Peter II
>Theoretisch müsste man "nur" das bios umschreiben. Aber sehr viel
>einfacher ist es einfach ein Relay an die 5V oder 12V leitung von
>Netzteil anzuschliesen und schon bist du fertig.

Kannste da vlt. etwas genauer drauf eingehen, wie kann man den ein BIOS 
umschreiben und wozu :?

Autor: kopfkratzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
KOPFKRATZ

Relai123 schrieb:
> Hi, ja mir ist selber klar das es viel einfacher geht. Das System ist
> aber "geschlossen" da kann man von außen nix mehr ändern gar nix.

Was heißt "geschlossen", vergossen oder mit Schloß gesichert ?
Und vor allem warum hat der keine Status-LEDs ?
Üblicherweise sind da wenigstens zwei Stück vorhanden, eine für An/Aus 
und eine für die Platte.
Du könntest entweder eine Steckdosenleiste mit Glimmlampe nehmen oder 
wenn Du wirklich wissen willst ob der Rechner arbeitet eine Schaltung 
zur Leistungsaufnahme vor das Netzteil setzen.
Mit Deiner PCI-Relaiskarte wird das nix, außer Du hast noch USB dran, da 
liegen dann 5V an die Du nehmen könntest aber nicht +5V und D- 
verkuppeln :-P

Autor: Relai123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie bereits erwähnt ist keine Änderung mehr am System durchführbar.

PeterII hat den richtigen Ansatz, nur würde ich gerne wissen wie sich 
das umsetzen lässt.

Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relai123 schrieb:
> Hi, ja mir ist selber klar das es viel einfacher geht. Das System ist
> aber "geschlossen" da kann man von außen nix mehr ändern gar nix.

Hat der PC denn keinerlei Schnittstellen, an die man was anschließen 
könnte, das erkennt ob er an ist?

Relai123 schrieb:
> Kannste da vlt. etwas genauer drauf eingehen, wie kann man den ein BIOS
> umschreiben

So wie jede andere Software auch, indem man sich den Quelltext nimmt und 
ändert. Das setzt halt blöderweise voraus, daß du den Quelltext vom BIOS 
hast und jemanden, der sich damit auskennt. Mit ausreichend Zeit ließe 
sich das dann bestimmt machen. Für eine geeignete (sicher nicht geringe) 
Summe Geld kannst du bestimmt auch beim BIOS-Hersteller eine solche 
Anpassung machen lassen.
Das ist alles verdammt viel Aufwand für eine Power-LED.

> und wozu :?

Damit das BIOS die Karte so früh wie möglich anspricht und das Relais 
einschaltet.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relai123 schrieb:
> Peter II
>
>>Theoretisch müsste man "nur" das bios umschreiben. Aber sehr viel
>>einfacher ist es einfach ein Relay an die 5V oder 12V leitung von
>>Netzteil anzuschliesen und schon bist du fertig.
> Kannste da vlt. etwas genauer drauf eingehen, wie kann man den ein BIOS
> umschreiben und wozu :?

naja du brauchst nur den quelltext von bios. Vermutlich bekommst du ihn 
aber vom Hersteller nicht. Wenn du glück hast findest du interstützung 
bei

coreboot: http://www.coreboot.org/Supported_Motherboards

Wenn nichts, müsstest du das Bios selber zerlegen und patchen - aber 
kann du ein paar manmonate einplanen.

Autor: tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es muss ja nicht das Bios sein. Setz doch vor deinen Windows Bootloader 
einfach einen GRUB Bootmanager und ergänze den um das ansteuern der LED. 
Den Quellcode vom BIOS wirst du nicht so einfach bekommen und selbst 
dann ist das schon mehr als ein Wochenendprojekt. Die Sourcen vom GRUB 
gibts einfach im Netz und man kann mit einer VM einfach debuggen.

Autor: amateur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt X Möglichkeiten ein Licht aufgehen zu lassen.
Die Frage bleibt ja: Was signalisierst Du damit?
- Mein 08/15 Rechner hat, wie wahrscheinlich die meisten aktuellen
  Rechner, im BIOS die Möglichkeit ihn so einzustellen, dass er bei
  der "Rückkehr" der Netzspannung automatisch startet.
  Also 230V am Rechner = Rechner an. Ob und wie weit er dabei einen
  hoch bekommt ist eine andere Sache.
- Einige Spannungen werden ebenfalls, mit Einschalten der Netzspannung
  in Betrieb genommen. Für Wake On irgendwas.
- Zu den meisten Karten gibt es Bibliotheken dazu. Ein Mikroprogramm,
  in den Bootprozess eingebunden, kann Dir Dein Lieblingsrelais z.B.
  über ein Kommandozeilenprogramm, einschalten.

Und, und, und.

Autor: Relai123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo vielen danke für die Antworten.
Bei der Karte handelt es sich um diese hier:
http://www.icpdas.com/products/DAQ/pc_based/pci_p16r16.htm

>Zu den meisten Karten gibt es Bibliotheken dazu. Ein Mikroprogramm,
>in den Bootprozess eingebunden, kann Dir Dein Lieblingsrelais z.B.
>über ein Kommandozeilenprogramm, einschalten.

Soweit ich das beurteilen kann gibt es leider hier keins.



>Es muss ja nicht das Bios sein. Setz doch vor deinen Windows Bootloader
>einfach einen GRUB Bootmanager und ergänze den um das ansteuern der LED.
>Den Quellcode vom BIOS wirst du nicht so einfach bekommen und selbst
>dann ist das schon mehr als ein Wochenendprojekt. Die Sourcen vom GRUB
>gibts einfach im Netz und man kann mit einer VM einfach debuggen.

Das ist eine interessante Lösung, gibts da etwas dazu zu lesen?


Ps. Nochmal, es ist mir bewusst das es auch mit der LED um einiges 
einfacher geht, aber das liegt nicht an mir - es muss und wird auch 
durch das Relais angesteuert.

Autor: amateur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Relai123

Unter dem Link, den Du angegeben hast gibt es den Button: "Software" - 
oh' Wunder.

>>>
The PCI-P16R16/PCI-P8R8 supports various OS such as Linux, DOS, Windows 
98, Windows 2000, Windows NT, Windows XP 32-Bit, Vista 32-Bit and 
Windows 7 32-Bit. It also provides the DLL and Active X control, and 
various language sample programs in Turbo C++, Borland c++, Microsoft 
C++, Visual C++, Borland Delphi, Borland C++ Builder, Visual Basic, 
C#.NET, Visual Basic.NET and LabVIEW to help users to quickly and easily 
develop their applications.
<<<

Sich damit ein Kommandozeilenprogramm zusammenzupappen dürfte wohl 
wirklich nicht der große Bringer sein. Angeblich haben die auch 
Beispiele für Klicky-Bunty.

Autor: Rolf Magnus (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du mit der LED denn nun eigentlich erreichen? Wenn du das im 
Bootmanager machst, geht die halt ein paar Sekunden früher an, aber 
trotzdem erst, nachdem das BIOS mit allem durch ist und dann anfängt, 
von der Festplatte zu booten. Ist es dann überhaupt noch so schlimm, 
noch ein paar Sekunden länger zu warten, bis das Betriebssystem fertig 
gebootet hat?

Autor: Rudi Radlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relai123 schrieb:
> werden wenn der Rechner Hochfährt - automatisch und das
> RelaiS soll geschalten werden.

Kanonen gegen Spatzen? Master-Slave-Steckdosenleiste?
http://de.wikipedia.org/wiki/Master-Slave-Steckdose

Autor: Relais123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
amateur schrieb:
> Sich damit ein Kommandozeilenprogramm zusammenzupappen dürfte wohl
> wirklich nicht der große Bringer sein. Angeblich haben die auch
> Beispiele für Klicky-Bunty.

Danke für die Antwort, das ist mir bewusst. Wie gesagt unter Windows ist 
das ja auch kein Problem aber wie schreibe ich dazu ein Programm welches 
beim Hochfahren die Karte ansteuert?

Autor: Relais123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rolf Magnus schrieb:
> Was willst du mit der LED denn nun eigentlich erreichen? Wenn du das im
> Bootmanager machst, geht die halt ein paar Sekunden früher an, aber
> trotzdem erst, nachdem das BIOS mit allem durch ist und dann anfängt,
> von der Festplatte zu booten. Ist es dann überhaupt noch so schlimm,
> noch ein paar Sekunden länger zu warten, bis das Betriebssystem fertig
> gebootet hat?

Nein an sich nicht, aber da der Rechner nicht direkt angeschlossen ist 
und per Remote Verbindung gesteuert wird. Wird der Rechner nach dem 
booten vor dem Anmeldebildschirm feststehen.
Wie gesagt ich nehme gerne jede Anregung entgegen, ich habe sowas nur 
noch nie gebraucht.

Autor: Vielfachmesser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gib dem Rechner z.B. einen rechtearmen User, der im Autostart Deine 
irgendwas.bat hat, die all Deine Wünsche erfüllt.

Autor: vn nn (wefwef_s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du endlich Rahmenbedingungen posten würdest, und dagen würdest, 
warum du die vorgeschlagenen Lösungen wie Netzteil anzapfen oder die 
Status-LED zu verwenden nicht umsetzen kannst, könnte man dir auch 
sinnvoll helfen.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relais123 schrieb:
> Nein an sich nicht, aber da der Rechner nicht direkt angeschlossen ist
> und per Remote Verbindung gesteuert wird. Wird der Rechner nach dem
> booten vor dem Anmeldebildschirm feststehen.
> Wie gesagt ich nehme gerne jede Anregung entgegen, ich habe sowas nur
> noch nie gebraucht.

dann sag doch mal vorher solche infos. Dafür macht man sich einen Dienst 
dieser wird auch gestartet wenn niemand angemeldet ist. Oder Wenn du 
nicht Programmieren willst, dann einfach einen geplanten Task (Aufgabe) 
Da kann man sogar einstellen das er beim computer start ausgeführt 
werden soll.

Autor: Relais123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter II schrieb:
> dann sag doch mal vorher solche infos. Dafür macht man sich einen Dienst
> dieser wird auch gestartet wenn niemand angemeldet ist. Oder Wenn du
> nicht Programmieren willst, dann einfach einen geplanten Task (Aufgabe)
> Da kann man sogar einstellen das er beim computer start ausgeführt
> werden soll.

Super vielen Dank für die Antwort da sind wir glaub ich schon sehr nahe 
an der Lösung. Hättest du vlt. einen Link oder einen Begriff nach dem 
ich mich erkundigen kann?
Gruß

>Gib dem Rechner z.B. einen rechtearmen User, der im Autostart Deine
>irgendwas.bat hat, die all Deine Wünsche erfüllt.

Ah danke für den Tipp kannste das vlt. etwas weiter ausführen ?
Gruß






>Wenn du endlich Rahmenbedingungen posten würdest, und dagen würdest,
>warum du die vorgeschlagenen Lösungen wie Netzteil anzapfen oder die
>Status-LED zu verwenden nicht umsetzen kannst, könnte man dir auch
>sinnvoll helfen.

Wie bereits erwähnt, das muss auf diese Weise umgesetzt werden und zwar 
in Software ich bin nicht befugt die Hardware zu ändern.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relais123 schrieb:
> Peter II schrieb:
>> dann sag doch mal vorher solche infos. Dafür macht man sich einen Dienst
>> dieser wird auch gestartet wenn niemand angemeldet ist. Oder Wenn du
>> nicht Programmieren willst, dann einfach einen geplanten Task (Aufgabe)
>> Da kann man sogar einstellen das er beim computer start ausgeführt
>> werden soll.
>
> Super vielen Dank für die Antwort da sind wir glaub ich schon sehr nahe
> an der Lösung. Hättest du vlt. einen Link oder einen Begriff nach dem
> ich mich erkundigen kann?
> Gruß

was brauchst du denn noch für Begriffe? Reicht "Dienst" "Geplante Task" 
"Aufgaben" dann immer noch nicht?

Autor: Relais123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Doch, ich dachte es wäre etwas komplizierter hab mir das schon 
angesehen, danke. Es kann also einfach eine Exe sein, richtig?

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relais123 schrieb:
> Es kann also einfach eine Exe sein, richtig?

Ein Dienst ist eine EXE, aber eine EXE noch lange kein Dienst. Da fehlt 
doch noch viel Knowhow. Die nächsten Schritte wären A was ist ein Dienst 
B wie schreibe ich einen. Aber bitte nicht einfach hier fragen, was ist 
ein Dienst, so ganz ohne eigene Arbeit geht das nicht, aber es gibt 
zigtausende Artikel drüber.

Gruss Reinhard

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Für diese Aufgabe ist kein Dienst erforderlich. Der Windows-eigene 
Taskplaner kann beliebige Programme beim Starten des Computers 
ausführen, dazu muss nur "Geplante Tasks" aufgerufen werden, das 
auszuführende Programm gewählt und --siehe Anhang-- eingestellt werden. 
Nachfolgend ist noch das Benutzerkonto auszuwählen, in dem das Programm 
auszuführen ist und fertig ist die Laube.

Autor: amateur (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Relais123

Grundsätzlich: Man kann jedes ausführbare Programm (.exe) während des 
Rechnerstartes ausführen. So kannst Du dafür sorge tragen, dass 
Datenbankverbindungen oder andere Dienste gleich am Anfang zur Verfügung 
stehen. Windows ist es, mit geringen Einschränkungen, dabei egal was Du 
startest. Wenn Dein Programm, nur mal kurz auf irgendwelche Peripherie 
zugreift und sich dann beendet - wen interessiert's.
Früher war’s noch einfacher, da hat man so etwas in die autoexec.bat 
oder  config.sys geklatscht, heute gibt es dafür eigene Dienste im 
Windows.

Autor: Relais123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, Problem gelöst LED leuchtet!

Autor: heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kannst Du auch sagen wie?

Weil Dienst setzt ja eigentlich voraus dass PCI Treiber für die Karte 
schon geladen ist.

Zur Bios Lösung. Früher ging das etwas einfacher (muss ich mal wieder 
probieren) - einfach in den INT10 Routinen eine suchen die nicht 
gebraucht wird und eigene Soft drüber.

Im Flatassembler Forum versucht da einer was mit optional ROM und 
gepatchten Netzwerkkarten.

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
heinz schrieb:
> Weil Dienst setzt ja eigentlich voraus dass PCI Treiber für die Karte
> schon geladen ist.

warum sollte das nicht der Fall sein? Gerätetreiber werden üblicherweise 
als erstes geladen.

Autor: heinz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok. Ich hab keine Ahnung von der Bootfolge in Windows. Dachte aber dass 
die spät kommen weil keine MS Treiber

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
heinz schrieb:
> Weil Dienst setzt ja eigentlich voraus dass PCI Treiber für die Karte
> schon geladen ist.

Das ist ja auch vollkommen in Ordnung.

Der Thredstarter hat sich nur ausgesprochen unglücklich ausgedrückt, als 
er schrieb "vor dem Hochfahren", wo ihm doch "beim" bzw. "bei jedem 
Hochfahren" völlig ausreichte.

Versuche, die Karte zu initialisieren, bevor Windows bootet, sind sehr 
kompliziert, und für die Aufgabenstellung hier kompletter Unfug.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.