Étape 2: Le code sur l’arduino
/ * CHANGER CELA À VOTRE PROPRE VALEUR UNIQUE. Le nombre de MAC doit être
* différent de tout autres périphériques sur votre réseau ou vous aurez
* problèmes de réception de paquets. */
uint8_t statique mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED} ;
/ * CHANGER CELA POUR CORRESPONDRE À VOTRE RÉSEAU DE L’HÔTE. La plupart des réseaux domestiques sont en
* la sous-plage 192.168.0.XXX ou 192.168.1.XXX. Choisissez une adresse
* qui n’est pas utilisé et ne va pas être automatiquement attribué par
* DHCP de votre routeur. */
uint8_t statique ip [] = {192, 168, 1, 15} ;
uint8_t statique gateway [] = {192, 168, 0, 1} ;
uint8_t statique sous-réseau [] = {255, 255, 255, 0} ;
/ * Ceci crée une instance du serveur Web. En spécifiant un préfixe
* des "", toutes les pages seront à la racine du serveur. */
#define préfixe ""
Serveur Web serveur Web (préfixe, 80) ;
/ * commandes sont des fonctions qui s’appelées par l’infrastructure de serveur Web
* ils peuvent lire toutes les données publiées par client, et ils la sortie vers le
* serveur pour envoyer des données au navigateur web. */
void helloCmd (serveur Web et serveur, type WebServer::ConnectionType, char *, Boolean)
{
/ * Cette ligne envoie la norme en-têtes « nous sommes tous OK » Retour à la
navigateur * /
server.httpSuccess() ;
/ * Si nous sommes gérez un GET ou POST, nous pouvons sortie nos données ici.
Pour une demande de la tête, nous nous arrêtons juste après avoir affiché les en-têtes. */
Si (type! = WebServer::HEAD)
{
/ * Ceci définit un texte HTML en mémoire morte aka PROGMEM.
* Ceci est nécessaire afin d’éviter que la chaîne copiée à notre limited
* la quantité de mémoire vive. */
P(helloMsg) = "< html >< tête >< titre > ATMEGA2560 en ligne!! < / titre >< / head > »
"< h1 > Hi Mate, c’est appeler ATMEGA2560! < / h1 >< / html >" ;
/ * Il s’agit d’une forme spéciale d’impression qui est diffusé par PROGMEM * /
server.printP(helloMsg) ;
}
}
void setup()
{
/ * initialisation de la carte Ethernet * /
Ethernet.Begin (mac, ip) ;
/ * configuration notre commande par défaut qui sera exécuté lorsque l’utilisateur accède à
* la page racine sur le serveur * /
webserver.setDefaultCommand(&helloCmd) ;
/ * exécuter la commande même si vous essayez de charger/index.html, commune
* nom de la page par défaut * /
webserver.addCommand (« index.html », & helloCmd) ;
N’oubliez pas d’inclure la bibliothèque ethernet, SPI et serveur Web
/ * démarrage du serveur Web * /
webserver.Begin() ;
}
void loop()
{
buff de char [64] ;
int len = 64 ;
/ * traiter les connexions entrantes un à la fois pour toujours * /
webserver.processConnection (chamois et len) ;
}