Arduino devient un serveur web...
Avant de transférer le programme ci dessous, pensez à modifier l'adresse MAC et IP.
La première ligne concerne l'adresse MAC ou adresse physique. Elle est unique parmi tous les équipements reliées aux réseau adressé. La seconde l'adresse IP, au lycée Dampierre le réseau ne permet pas d'attribuer n'importe quelle adresse. Demandez à votre professeur une adresse IP libre.
Ici nous vous proposons une démarche inversé. Le programme fonctionnel est fournis, mais en revanche à vous de l'analyser, le comprendre et de l'expliquer.
// Arduino Server
#include <SPI.h> // des bibliothèques
#include <Ethernet.h>
// MAC address unique à modifier
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// The IP à modifier
byte ip[] = { 192, 168, 1, 30 };
EthernetServer server(80);
void setup()
{
Ethernet.begin(mac, ip);
server.begin(); // que fait cette ligne ?
Serial.begin(9600); // et celle ci ...??
}
void loop()
{
// Que fait la ligne ci dessous ?
EthernetClient client = server.available();
if (client) // SI quoi ?
{
while (client.connected()) //Tant que quoi ?
{
// On envoi une réponse HTTP standard
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
// envoi le body
client.println("<html><body>");
client.println("<h1>Arduino Server</h1>");
client.print("<p>A0=");
client.print(analogRead(0)); // Que fait cette ligne ?
client.println("</p>");
client.print("<p>millis="); // Que fait cette ligne ?
client.print(millis()); // Que fait cette ligne ?
client.println("</p>");
client.println("</body></html>");// Que signifie cette ligne ?
client.stop();
}
delay(1);
}
}
Travail à effectuer :
Modifier et transférer le programme
Brancher l'Arduino au réseau,
Tester le montage
Répondre aux questions présente en commentaire dans le programme
Pour ce faire, vous créer un fichier texte (Exemple : Word) dans le lequel figure le programme avec les explications demandé.
Conseil :
Relire attentivement le chapitre "fondamentale" sur le protocole HTTP. Plusieurs indices sur le fonctionnement y sont données.
Complément : Ce qu'il faut retenir
Regardons un peu ces deux lignes :
#include <SPI.h>
#include <Ethernet.h>
Elle sont présente avant la fonction setup() du programme. L’instruction #include permet d'inclure dans le programme des fonctions préprogrammé dans la bibliothèques qui suit l'instruction. Ici il sagis des bibliothèques SPI & Ethernet. A chaque librairie ou bibliothèques est associé une page web décrivant son fonctionnement. C'est pour cela que je parlais d'utiliser l'eau chaude plutôt que de l'inventer. Voici la page web de la librairie Ethernet . Vous pouvez y découvrir l'ensemble des fonctionnalité du Shield et les instructions associé à ce fonctionnement.