Étape 3: Installation du logiciel les diverses composantes
Les fonctions qui vous permettent d’exploiter votre carte ethernet n’est pas présent dans l’IDE Arduino. Pour cette raison, il est nécessaire d’installer cette bibliothèque, à l’intérieur du dossier "libreries" Arduino. Pour ce faire, il suffit de télécharger le fichier. Zip, décompressez-le et déplacez-le vers le dossier de l’Arduino, sans devoir ouvrir le programme. Sinon, vous pouvez faire cette procédure directement depuis le logiciel IDE.Maintenant que la bibliothèque n’est présente, nous pouvons continuer à charger le fichier sur notre Arduino Uno.
Pour ce faire, nous Télécharger le code source à partir de ce lien et appuyez sur le bouton en haut à gauche, du pour transférer à notre microcontrôleur. Après quelques secondes, si tout va bien, viendra le message « Chargement terminé ». Maintenant nous pouvons enfin aller à la pratique !
/** #include < EtherCard.h > public static byte MONMAC [] = {0x74, 0x69, 0x69, 0x2D, 0 x 30, 0 x 31} ; octet Ethernet::buffer [700] ; annuler le programme d’installation () {}
Questo codice permette di accendere una lampada connessa al relais da remoto, sfruttando
la scheda di rete ENC28J60
SCK -> 13
DONC -> 12
SI -> 11
CS -> 8
VCC -> 3,3 V
GND -> GND
*/
#define RELAY_PIN 5
#define REQUEST_RATE 5000
char * on = « ON » ;
char * off = « OFF » ;
Boolean relayStatus ;
char * relayLabel ;
char * linkLabel ;
Serial.Begin(9600) ;
Serial.println ("obtenir adresse IP via DHCP") ;
Si (ether.begin (Ethernet::buffer, MONMAC sizeof) == 0)
Serial.println ("Failed to accéder contrôleur Ethernet") ;
Si (! ether.dhcpSetup())
Serial.println ("DHCP a échoué") ;
ether.printIp ("My IP:", ether.myip) ;
ether.printIp ("masque de sous-réseau:", ether.mymask) ;
ether.printIp (« GW IP: ", ether.gwip) ;
ether.printIp ("DNS IP:", ether.dnsip) ;
Serial.println() ;
pinMode (RELAY_PIN, sortie) ;
digitalWrite (RELAY_PIN, basse) ;
relayStatus = false ;
relayLabel = off ;
linkLabel = on ;
}
void loop () {}
len de mot = ether.packetReceive() ;
mot de pos = ether.packetLoop(len) ;
{if(POS)}
Si (strstr ((char *) Ethernet::buffer + pos, "GET / ? ON")! = 0) {}
relayStatus = true ;
relayLabel = on ;
linkLabel = off ;
} ElseIf (strstr ((char *) Ethernet::buffer + pos, "GET / ? ARRÊT")! = 0) {}
relayStatus = false ;
relayLabel = off ;
linkLabel = on ;
}
digitalWrite (RELAY_PIN, relayStatus) ;
BufferFiller bremplir = ether.tcpOffset() ;
bfill.emit_p (PSTR ("HTTP/1.0 200 OK\r\n"
"Content-Type : text/html\r\nPragma : non-cache\r\n\r\n"
« < html >< tête >< nom meta = « fenêtre » content = "largeur = 200px'/ >< / chef >< corps > »
"< div style =" width : 200px ; hauteur : 200px ; top : 50 %; left : 50 %, position : absolute ; marge:-100px 0 0 - 100px ">"
« < div style = "polices : bold 14px verdana ; text-align : center'> relais est $S < / div > »
"< br >< div style =" text-align : center ">"
« < a href ='/? '$S >< img src = 'http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/bt _$S.png' >< / a > »
« < div > Controlla la lampada < div > »
"< / div >< / div >< body / >< / html >"
), relayLabel, linkLabel, linkLabel) ;
ether.httpServerReply(bfill.position()) ;
}
}