Wake on LAN (WOL)

Introducere

Proiectul implementeaza un server web care porneste sau opreste un PC din acelasi LAN, iar pentru un PC din afara LAN-ului se foloseste un router legat de placuta. Webserverul consuma mult mai putina putere decat un PC normal. Practic, din ratiuni de securitate computerul va trece in starea de stand-by. Avem astfel un server web care are functia wake-on-lan pentru a nu trebui sa mergem la respectivul computer si sa avem contact fizic.

Descriere generală

Vom folosi un controller ENC28J60. Acesta se va monta pe placuta. ENC28J60 e pe post de slave, in timp ce ATMega16 va fi master. Se va folosi un LCD care sa afiseze o interfata web.

ENC28J60 este un controller Ethernet cu interfata SPI. Este special proiectat pentru a fi conectat prin SPI la un controller, oferind acestuia o interfata Ehernet. ENC28J60 ofera urmatoarele servicii:

  • packet filtering
  • throughput mare pentru date (datorita modulului DMA incorporat)
  • calculul sumei de control asistat de hardware

ENC28J60 incorporeaza urmatoarele module:

  • Interfata SPI - canal de comunicatie cu controllerul gazda.
  • Registri de control - controlul si monitorizarea ENC28J60.
  • Memorie Ram dual port - buffer pentru pachetele receptionate si trimise.
  • Unitate de arbitru - regleaza cererile de access ale DMA-ului.
  • O interfata pentru magistrala - interpreteaza comenzi si date venite prin SPI.
  • MAC - conform IEEE 802.3.
  • PHY - modul pentru nivelul fizic.

Webserverul conectat la un router DSL (tuxgraphics.com):

Hardware Design

In plus fata de placuta initiala:

#controller Ethernet ENC28J60

# un ecran LCD

# o rezistenta 1k3

# o rezistenta 10Ω

# un tranzistor BC337

# un 74AC164N (8-Bit Serial-Input/Parallel-Output Shift register)

Software Design

Pentru a ne conecta la LAN vom folosi chip-ul ENC28J60 pe post de slave, in timp ce ATMega16 va fi master iar conexiunea dintre ei va fi de tip SPI. # main.c: implementeaza loop-ul principal in care sunt primite cereri. # enc28j60.c: implementeaza functiile de comunicatie intre ATMega16 si ENC28J60. # ip_arp_udp_tcp.c: implementeaza protocolul simplificat TCP # wake.c: implementeaza wake on lan ascultand port-urile etc.

Adresa MAC a PC-ului care trebuie pornit se afla din linia de comanda. Trebuie ca interfata web afisata pe LCD sa fie protejata cu parola. Pentru a folosi WOL si in afara LAN-ului pentru a ne conecta la internet trebuie folosit un router.

Practic, prin Wake on LAN, un dispozitiv (PC sau similare) sunt activate prin intermediul reţelei. Placa de reţea este în aşteptare pentru un aşa-numit pachet magic(Magic Packet-trademark AMD). De pachete de date se adresează direct pe cardul de reţea sau trimise ca o emisiune. Pachetele UDP trimise contin de 16-ori adresa MAC a placii de retea.

  • (etapa 3) surse şi funcţii implementate

Rezultate Obţinute

Concluzii

Download

Bibliografie/Resurse

pm/prj2011/rtataroiu/wol.txt · Last modified: 2021/04/14 17:07 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0