Stap 3: Software-installatie van de verschillende onderdelen
De functies die u toestaan om het functioneren van uw ethernet-kaart is niet aanwezig in de Arduino IDE. Om deze reden is het nodig om te installeren van deze bibliotheek, in de map "libreries" Arduino. Om dit te doen, gewoon downloaden het bestand in. Zip, unzip het en verplaats het naar de map van de Arduino, zonder het programma te openen. Als alternatief kan je deze procedure rechtstreeks vanuit de IDE software.Nu dat de bibliotheek aanwezig is, kunnen we overgaan tot het laden van het bestand op onze Arduino Uno.
Om dit te doen we de broncode downloaden via deze link en druk op de knop in de linkerbovenhoek, naar onze microcontroller. Na een paar seconden, als alles goed gaat, komt het bericht "Bezig met laden voltooid." We kunnen nu eindelijk gaan om praktijk!
/** #include < EtherCard.h > statische byte mymac [] = {0x74, 0x69, 0x69, 0x2D, 0x30, 0x31}; byte Ethernet::buffer [700]; void setup () {}
Questo codice permette di accendere una lampada connessa al relè da remoto, sfruttando
La scheda di rete ENC28J60
SCK -> 13
ZO 12 ->
SI -> 11
CS -> 8
VCC -> 3,3 V
GND -> GND
*/
#define RELAY_PIN 5
#define REQUEST_RATE 5000
char * ingeschakeld = "ON";
char * = uit "OFF";
Booleaanse relayStatus;
char * relayLabel;
char * linkLabel;
Serial.begin(9600);
Serial.println ("Getting IP via DHCP");
Als (ether.begin (sizeof Ethernet::buffer, mymac) == 0)
Serial.println ("Failed to toegang tot Ethernet-controller');
Als (! ether.dhcpSetup())
Serial.println ("DHCP is mislukt");
ether.printIp ("My IP:", ether.myip);
ether.printIp ("Netmask:", ether.mymask);
ether.printIp ("GW IP:", ether.gwip);
ether.printIp ("DNS IP:", ether.dnsip);
Serial.println();
pinMode (RELAY_PIN, uitvoer);
digitalWrite (RELAY_PIN, laag);
relayStatus = false;
relayLabel = off;
linkLabel = op;
}
void loop () {}
Word lengte = ether.packetReceive();
Word pos = ether.packetLoop(len);
if(POS) {}
Als (strstr ((char *) Ethernet::buffer + pos, "GET /? ON")! = 0) {}
relayStatus = true;
relayLabel = op;
linkLabel = off;
} else if (strstr ((char *) Ethernet::buffer + pos, "GET /? UIT")! = 0) {}
relayStatus = false;
relayLabel = off;
linkLabel = op;
}
digitalWrite (RELAY_PIN, relayStatus);
BufferFiller bvervullen = ether.tcpOffset();
bfill.emit_p (PSTR ("HTTP/1.0 200 OK\r\n"
"Content-Type: tekst/html\r\nPragma: neen-cache\r\n\r\n"
"< html >< hoofd >< metanaam ="viewport"content =" breedte = 200px'/ >< / head >< lichaam > "
"< div-style =' positie: absoluut; breedte: 200px; hoogte: 200px; top: 50%; links: 50%; marge:-100px 0 0 - 100px" > "
"< div stijl =' lettertype: vet 14px verdana; text-align: center" > Relay is $S < / div > "
"< br >< div stijl ='text-align: center" > "
"< een href ='/? '$S >< img src = 'http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/bt _$S.png' >< /a >"
"< div > controleert la lampada < div >"
"< / div >< / div >< / body >< / html >"
), relayLabel, linkLabel, linkLabel);
ether.httpServerReply(bfill.position());
}
}