Forum: Mikrocontroller und Digitale Elektronik Wake on Lan via Webinterface


von Richard N. (richard_nahm)


Lesenswert?

Hallo ihr lieben,

laut sufu gab es hier ja schon massig beiträge zum thema WoL. Diese 
beschränkten sich aber meist auf bewegungsfaule Probleme innerhalb des 
selben gebäudes.

Ich habe folgendes Problem.

ich möchte meinen fileserver via internet mittel wol wecken.

Da die meisten router keine wol pakete durchlassen muss ein erreichbares 
gerät im netz sein, welches das aufwecken übernimmt.

dieses gerät will ich nun selbst basteln.

Es soll über http angesprochen werden und dann das magic packet 
versenden.

Nun mein anliegen:

Was brauch ich dafür und es sollte möglichst klein und günstig sein.

Zur info, auf dem gebiet μC bin ich ein blutiger einsteiger. Dies soll 
mein erstes projekt werden und ich wäre füre jede Hilfe dankbar.

LG Richard

von Ützelbrützel (Gast)


Lesenswert?

Ein möglicher Startpunkt wäre das AVR-NET-IO von Pollin.
Oder ein RasPI.

von Richard N. (richard_nahm)


Lesenswert?

Ützelbrützel schrieb:
> Ein möglicher Startpunkt wäre das AVR-NET-IO von Pollin.
> Oder ein RasPI.

Die beiden sind mir zu mächtig für diesen einen zweck.

Wäre sowas damit realisierbar?
http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F97J60

Lg

von Bitdlüsterer (Gast)


Lesenswert?

Für einen Anfänger absolut illusorisch. Der lernt erstmal ein paar Jahre 
(im besten Fall ein paar Monate) auf einem PC programmieren. Dann noch 
ein paar Monate Praxis auf dem uC.

Dann machst Du das genauso mit 'nem PIC wie mit dem AVR.

Übrigens: Von dem AVR-NetIo zu sagen, er sei zu "fett" ist ebenso 
Anfängergeschwafel.

OK. Also: Nimm Dir jemanden, der das macht. Für das rohe Ding so ein 
paar Hundert Euro. Ich natürlich nicht, da ich Dir diesen Rate gebe.

von Pi (Gast)


Lesenswert?

Nimm nen RPi. Dazu findest du massig Hilfe in anderen Foren.

Wenn Du nur bei Mikros Anfänger bist und schon auf pc programmiert hast, 
ist das ne Sache von ein paar Tagen höchstens...

Ansonsten lern Python und nimm trotzdem den RPi. Mit python kommst du 
schnell zu brauchbaren Ergebnissen... Vor allem mit webintetface... 
Bringt dir aber dann für mikros nix,wenn Du dabei bleiben willst.

Ciao

von c-hater (Gast)


Lesenswert?

Richard Nahm schrieb:

> Wäre sowas damit realisierbar?
> http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F97J60

Im Prinzip schon. Aber in den nächsten ein bis zwei Jahren wohl nicht 
für dich. Ungefähr so lange wirst du brauchen, um all das zu lernen, was 
dafür nötig ist, ein derartiges Projekt realisieren zu können.

> Ützelbrützel schrieb:
>> Ein möglicher Startpunkt wäre das AVR-NET-IO von Pollin.
>> Oder ein RasPI.

> Die beiden sind mir zu mächtig für diesen einen zweck.

Der PIC ist nicht weniger "mächtig" als das AVR-Net-IO. Nur schwieriger 
zu löten und im Gegensatz zum AVR-NetIO wirst du keine fertigen 
Softwarepakete dafür finden, die nur noch minimal an den konkreten Zweck 
anzupassen sind, wie sie für den AVR-NetIO in Form von Ethersex 
bereitstehen.

Aber ich möchte dir den PIC keinesfalls ausreden. Wenn du die Zeit 
wirklich investierst, hast du zwar nicht quasi sofort ein Ergebnis, aber 
dafür in einem Jahr schon sehr gute Kenntnisse der µC-Programmierung und 
weißt auch eine ganze Menge über Netzwerkprotokolle. Darauf kannst du 
dann für weitere Projekte sehr gut aufbauen.

von Michi (Gast)


Lesenswert?

Nimm ein AVR-NET-IO und mach ne ethersex firmware drauf, die enthält den 
WOL-Support bereits, das dauert keine paar stunden und du hast was du 
willst.

Ausser du willst dabei was lernen, dann lieber doch selber machen ;-)

von (prx) A. K. (prx)


Lesenswert?

Richard Nahm schrieb:
> Da die meisten router keine wol pakete durchlassen muss ein erreichbares
> gerät im netz sein, welches das aufwecken übernimmt.

Manche Router können aber WoL Frames erzeugen, wie die Fritzboxen.

von Dirk B. (dirkb2)


Lesenswert?

Möglich wäre ja auch eine APP². Das Smartphone liegt dann rum und beim 
Anruf oder SMS wird der Rechner geweckt.

Dann spart man sich auch das NAT im Router.

²Ich kenne keine, die das kann.

von Jürgen S. (jurs)


Lesenswert?

Richard Nahm schrieb:
> Da die meisten router keine wol pakete durchlassen muss ein erreichbares
> gerät im netz sein, welches das aufwecken übernimmt.
>
> dieses gerät will ich nun selbst basteln.
>
> Es soll über http angesprochen werden und dann das magic packet
> versenden.
>
> Nun mein anliegen:
>
> Was brauch ich dafür und es sollte möglichst klein und günstig sein.


Als Arduino-Programmierer schlage ich mal vor:
- 1x Board Arduino UNO (kompatibel) mit USB-Kabel
- 1x Ethernet Shield (W5100) mit Netzwerkkabel
- 1x 5V USB-Netzteil/Ladegerät

Beim Kauf "kompatibler" Komponenten (Arduino ist "Open Hardware") aus 
China fallen ca. 10 EUR für das Board und ca. 7 EUR für das 
Ethernetshield an. "Original" Arduino gelabelte Markenhardware ist 
natürlich teurer.

Ein einfacher WOL Arduino-Sketch wurde erst vor kurzem hier im Forum 
gepostet, da habe ich noch bei der Code-Korrektur ausgeholfen, damit es 
läuft. Daran noch das http-Userinterface dranstricken und fertig.

von Frank (Gast)


Lesenswert?

Basteln zum Erkenntnisgewinn und fürs Erfolgserlebnis ist ok.

Wenns aber einfach nur funktionieren soll - Zeitverschwendung. Ich regle 
genau diese Aufgabe mit ein par Zeilen PHP auf dem Webserver eines NAS, 
was sowieso immer läuft ...

von Richard N. (richard_nahm)


Lesenswert?

Hallo,

Vielen dank für die vielen antworten.


Jürgen S. schrieb:
> Als Arduino-Programmierer schlage ich mal vor:
> - 1x Board Arduino UNO (kompatibel) mit USB-Kabel
> - 1x Ethernet Shield (W5100) mit Netzwerkkabel
> - 1x 5V USB-Netzteil/Ladegerät
>
> Beim Kauf "kompatibler" Komponenten (Arduino ist "Open Hardware") aus
> China fallen ca. 10 EUR für das Board und ca. 7 EUR für das
> Ethernetshield an.

Hast du da einen Link für mich bzw. einige Bezeichnungen nach denen ich 
suchen kann? Speziell für diese kompatible Komponenten.

---------
Fritzbox is leider keine alternative - für mich
---------
C und CPP sind mir nicht fremd
--------
Das mit der Handy APP ist auch eine nette idee , aber das Handy würde 
ich dann doch gerne außerhalb des LAN nutzen xD
--------
Erkenntnis Gewinn ist das primäre Ziel ;P
--------

Also nach euren ganzen Beiträgen Denke ich nun dass ich die sasche auf 
arduino kompatible Komponenten eingrenze. Wenn möglich irgendwie von den 
maßen her sehr viel kleiner als das Marken board.

LG Richard

von Mark 99 (Gast)


Lesenswert?

Für so etwas würde ich keine einzige Zeile Code schreiben. WoL Proxies 
gibt es wie Sand am Meer.

Wenn man viel Glück hat geht es auch ohne Proxy im LAN direkt mit dem 
Heimrouter. Einige lassen sich so konfigurieren, dass sie ein UDP-Paket 
vom WAN ins LAN broadcasten (directed broadcasting). Z.B. über eine 
Portfreigabe. Wenn dann noch der Provider mitspielt und UDP directed 
broadcasting nicht rausfiltert ...

von Cyblord -. (cyblord)


Lesenswert?

Mark 99 schrieb:

> Wenn man viel Glück hat

> Einige lassen sich so konfigurieren,

> Wenn dann noch der Provider mitspielt

Wenn meine Tante Eier hätte, wäre sie mein Onkel.

von Jürgen S. (jurs)


Lesenswert?

Richard Nahm schrieb:
> Hast du da einen Link für mich bzw. einige Bezeichnungen nach denen ich
> suchen kann? Speziell für diese kompatible Komponenten.

Ein deutscher Versender, der originale Arduino-Hardware anbietet, ist 
beispielsweise Firma Watterott:
Arduino UNO R3: http://www.watterott.com/de/Arduino-Uno
Ethernet-Shield: http://www.watterott.com/de/Arduino-Ethernet-Shield
Oder wenn Du es besonders kompakt haben möchtest, mit dem 
Atmega-Controller und dem Ethernet-Controller auf einem gemeinsamen 
Board:
Arduino Ethernet: 
http://www.watterott.com/de/Arduino-Ethernet-w/o-PoE-module
Allerdings kann dieses letzte Kombi-Board nicht direkt über USB 
programmiert werden, sondern Du müßtest zum Programmieren entweder einen 
ISP-Programmer haben oder zum Programmieren einen gesonderten 
Serial-TTL-USB Adapter anschließen.

China-Versender von Arduino-kompatibler Hardware sind leicht zu finden, 
wenn Du als Suchoption "Artikelstandort weltweit" aktivierst und dann 
Suchbegriffe wie "Arduino UNO Board" oder "Arduino Ethernet Shield" 
eingibst, z.B. als Board #291193024916 oder als Ethernet-Shield 
#400737494436 oder einen der unzähligen anderen Versender. Allerdings 
beträgt die Lieferzeit aus China auch relativ oft schon mal 30 bis 40 
Tage und einfuhrabgabenfrei sind nur Lieferungen bis ca. 22,50 EUR 
Warenwert.

> Also nach euren ganzen Beiträgen Denke ich nun dass ich die sasche auf
> arduino kompatible Komponenten eingrenze. Wenn möglich irgendwie von den
> maßen her sehr viel kleiner als das Marken board.

Wenn es kleiner werden soll, gäbe es auch Arduino "Nano" und "Micro" 
Boards, allerdings läßt sich da dann kein Ethernet-Shield mehr 
standardmäßig aufstecken. Eine Alternative wäre dann entweder ein 
Breakout-Board mit W5100 Ethernet-Chip, aber da haben viele 
Arduino-Anfänger dann schon extreme Probleme, das funktionsfähig an das 
Arduino-Board zu schalten, oder ein Breakout-Board mit ENC28J60 
Ethernet-Chip. Dieser ist zwar leicht mit einem Arduino-Board zu 
verkabeln, aber er ist nicht zur standardmäßigen Arduino-Library 
kompatibel und muß mit einer Drittanbieter-Library programmiert werden. 
Darüber hinaus ist es ein "dummer" Internet-Chip, dessen Funktionalität 
erst der Arduino-Controller über die Library bereitstellen muß, so dass 
von den 32 KB Flash-Speicher und 2KB RAM-Speicher eines Atmega schon das 
meiste belegt ist, bevor der Chip läuft.

Als Alternative vielleicht doch den o.g. "Arduino Ethernet" als 
Kombiboard nehmen, dann ist wenigstens die Bauhöhe nicht so hoch wie mit 
einem Standard-Board plus aufgestecktem Shield. Falls Du keinen 
ISP-Programmer hast, dann mit einem USB-TTL-Adapter a la eBay 
#331091430842 zum Programmieren des Boards.

von Richard N. (richard_nahm)


Lesenswert?

Vielen Dank für die ausführlichen Tipps:

Ich habe mal bei ebay gestöbert und mich dank eines online tutorials für 
folgendes set entschieden:

- Arduino Nano V3.0 mit ATMEGA328P

- SunFounder ENC28J60 Ethernet LAN Network Module für Arduino SPI AVR 
PIC LPC

- Ethercard library

Tutorial: 
http://m.instructables.com/id/Add-Ethernet-to-any-Arduino-project-for-less-than-/all/?lang=de

Die Teile sind nicht allzu billig da sie nicht aus China geliefert 
werden. Dafür ist der Versand auch schneller


LG Richard

von Peter II (Gast)


Lesenswert?

Richard Nahm schrieb:
> Da die meisten router keine wol pakete durchlassen muss ein erreichbares
> gerät im netz sein, welches das aufwecken übernimmt.

nein.

bei WOL packet kommt die Mac-Adresse nur 16mal hintereinander vor. Es 
kann in jedes UDP Paket gesteckt werden.

Eine Portweiterleitung auf die Broadcast Adresse sollte dann ausreichen.

von Richard N. (richard_nahm)


Lesenswert?

Peter II schrieb:
> Richard Nahm schrieb:
>> Da die meisten router keine wol pakete durchlassen muss ein erreichbares
>> gerät im netz sein, welches das aufwecken übernimmt.
>
> nein.
>
> bei WOL packet kommt die Mac-Adresse nur 16mal hintereinander vor. Es
> kann in jedes UDP Paket gesteckt werden.
>
> Eine Portweiterleitung auf die Broadcast Adresse sollte dann ausreichen.


Doch, da bestimmte router keine Port Weiterleitung auf die broadcast 
Adresse zulassen

Beispiel: speedport w700v

Leitet ports an gespeicherte und erkannte PC weiter

Habe die Firmware so modifiziert, dass in der Liste der erkannten PCs 
auch die 255 auftaucht... Anschließend den "PC" gespeichert und den UDP 
9 auf den Broadcast "PC" weitergeleitet... Ohne Erfolg

Fazit: ein gerät im LAN muss permanent erreichbar sein um das magic 
packet an die dementsprechende MAC Adresse zu senden. Jedenfalls mit den 
aktuell verwendeten Routern bei mir zu Hause.

LG

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.