ePyx-online.de Just a moment ;-)

5Aug/090

[Electronics] Arduino verschickt Wake-On-LAN Pakete

Nachdem ich ja im Einführungspost es ja angekündigt hatte, hab ich es nun auch in die Tat umgesetzt und mein neues Arduinoboard um die Funktionalität erweitert Wake-On-LAn-Pakete (WOL-Pakete) zu verschicken. Prinzipiell hab ich nicht viel verändert, da in der Bibliothek zu meine EtherShield schon so gut wie alles drin war. Es musste nur noch eine Funktion her, die die Magic-Packets zusammenbaut und anschließend auch versendet.

Kombiniert mit dem rudimentären Webinterface aus den Beispielen, könnte nun an jede x-beliebige MAC-Adresse ein solche Paket verschickt werden. Ein weitere Vorteil der Mikrocontroller-Lösung ist auf jeden Fall, dass man ARP-Pakete ohne root-Rechte erzeugen und verschicken kann.

Ardunio-WOL

Ardunio-WOL

Versuche das Ganze als Applikation für Linux und Windows zu realisieren, scheiterten oftmals daran das unter Linux root-Rechte erforderlich waren oder man unter Windows nicht weit genug im OSI-Modell herunterkam um ARP-Pakete (diese können so gut wie garnicht von Firewalls geblockt werden) zu erzeugen.

Ein kleines Tool, realisiert mit Qt gibt es indes schon, allerdings basiert diese Lösung auf UDP, was natürlich keine Empfangsgarantie liefert und darüber hinaus noch eine IP-Adresse benötigt.

Da mein EtherShield auf dem ENC28J60 basiert und dieser wohl nicht dem Standard-Ethershield von Arduino.cc entspricht sei darauf hingewiesen, dass die Änderungen bzw. ein Übernehmen des Patches dort nicht funktionieren werden. Allerdings sollte es auch dort kein Problem sein so etwas zu implementieren.

Ardunio EtherShield WOL patch - Patch for Arduino EthernetShield Libary (bases on enc28j60)
Seite 1 von 11