Saintummers Projekte

Wake on Lan mit Infrarot Fernbedienung

Damit kann ein PC welcher im Keller steht, per LAN (Ethernet) fern eingeschaltet werden. Der Befehl zum Einschalten erfolgt per Taste an einer Infrarot Fernbedienung. Der PC dient als Medienserver, das HDMI Kabel und das Infrarotsignal wird per einem handelsüblichen HDMI, Infra Extender über die LAN Verkabelung zum TV Gerät weitergeleitet. Hier wird eine HDMI/IR Extender over CAT6 verwendet. Die Art der Leitungsverlängerung ist für die Wake On Lan Lösung egal. In die eine Richtung wird das HDMI Signal zum TV geleitet, in die andere Richtung das IR Signal zum PC.

Überblick IR_WOL

Als CPU wird ein Atmega328 verwendet, welcher mit einem IR-Empfänger und einem Ethernet Controller verbunden ist.

Schaltung

Schaltung

Der IR Epfänger TSOP4838 liegt an Pin4 der CPU. An PIN6 eine LED, die bei der erkannten Taste kurz aufleuchtet. An PIN26 eine LED welche im Betrieb blinkt. Damit sieht man dass die CPU lauft. Das Ethernet Modul W5100 hängt an den PINS 16,17,18,19 und 1. Hier sieht man dass der W5100 und der ISP nicht gleichzeitig verwendet werden können. Wenn die CPU programmiert wird, den W5100 ziehen. Die Drossel zwischen PIN20 und PIN7 hier mit Drahtbrücke realisieren, da nicht gebraucht weil hier keine ADC Funktionen eingebaut.

Infrarot Sender und Empfänger

In einem kleinen Kunststoffkästchen sind der IR-RX Empfänger des PCs, der TSOP4838 (RX) des IRWOLs und der IR Sender (TX) des HDMI/IR Repeaters untergebracht.
TSOP4838 ----\
IR-RX--------------------- IR TX
IR TX sendet an IR-RX und TSOP4838

Alugehäuse mit Print , Atmega328 und W5100 Modul

Komplett

Der Nachbau ist nur für erfahrene Elektroniker gedacht. Es wird hier mit Netzspannung gearbeitet. Das Gehäuse muss am Schutzleiter angeschlossen werden. Betrieb nur an dreipoliger Schukosteckdose möglich. Die Sicherheitsbestimmungen sind einzuhalten! 

Software für dieses Projekt

Danke an die Arduino Gemeinschaft für die Softwareteile welche hier verwendet werden können.
Hier ist die Arduino Quelldatei zum herunterladen

Die Software lauft in einer Schleife ob die Infrarot Taste erkannt wird. Die Software wird auch über einen Watchdog überwacht. Zur Kontrolle blinkt eine LED langsam per Timerinterrupt. Wenn die definierte Taste erkannt wird, dann wird das Wake ON LAN Paket an der Ethernetschnttstelle ausgesendet. Der PC schaltet ein. Die Schleife lauft weiter. Software Anpassen: IRCode der Fernbedienungstaste und MAC Adresse vom PC eintragen. Es wird die "AIRremote.h" für den IR Empfänger benötigt.
IN Zeile 35 die MACAdresse des PC eintragen: static byte g_TargetMacAddress[] = {0x00,0x19,0x99,0xAE,0x5E,0xE3}; //PC, welcher gestartet wird per WOL
Zeile 137 die Auskommentierung "//" entfernen. // Serial.println(rxir); //Zeigt IRCode an, sonst immer auskommentiert.
In der Seriellen Konsole der Arduino IDE den Tastencode feststellen und in Zeile 20 hier eintragen. String mytaste = "1416658004"; Hier ist nur der Code, welcher bei drücken der Taste mehrfach erkannt wird, interessant. Beginn und Ende Codes sind hier unerheblich. Testaufbau hier der Code einer Taste, welche lange gedrückt wird. Diesen Wert in die Variable "mytaste" übernehmen.

In Zeile 137 die "//" Auskommentierungen wieder einfügen, kompilieren, als "HEX-mit Bootloader" exportieren und per ISP in den Atmgea38 flasheh, oder in den UNO laden.

Zum Testen der Software ist ein Arduino UNO sehr geeignet. Auch für das Austesten der MACAdresse und der IR Taste
Testaufbau

Platinenlayout

hier herunter ladbares PCB-Layout als Pdf

Bestückungsplan

Bestückungsplan