Bonjour,
je suis actuellement en train de travailler sur un projet qui a pour but d'intégrer un serveur Web embarqué qui est censé affiché des données GPS, des données de température, des images envoyées par une caméra infrarouge et des données sonores toutes ces données seront afficher sur une page WEB. Une carte fox board servira a héberger la page web (cette carte sera connecter à une carte arduino qui triera toute les informations) et ma partie du projet sera de intégré un module wifi connecté à la carte arduino servira pour la liaison sans fils (grâce à ce programme
/*
WiFi Web Server
A simple web server that shows the value of the analog input pins.
using a WiFi shield.
This example is written for a network using WPA encryption. For
WEP or WPA, change the Wifi.begin() call accordingly.
Circuit:
* WiFi shield attached
* Analog inputs attached to pins A0 through A5 (optional)
created 13 July 2010
by dlf (Metodo2 srl)
modified 31 May 2012
by Tom Igoe
*/
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "dlink"; // le nom du réseau (SSID)
char pass[] = "sti2dsin"; // your network password
int status = WL_IDLE_STATUS; //écriture d'une variable qui met un statut "au repos"
WiFiServer server(80);
void setup() {
//Initialisation en série et attends pour le port à ouvrir:
Serial.begin(9600);
// vérifie la presence du shield:
if (WiFi.status() == WL_NO_SHIELD) {
Serial.println("WiFi shield pas present");
// ne pas continuer:
while(true);
}
// tentative de connection au réseau wifi:
while ( status != WL_CONNECTED) {
Serial.print("tentative de connection au ssid: ");
Serial.println(ssid);
// connection au réseau.
status = WiFi.begin(ssid, pass);
// attends 10 secondes pour la connexion:
delay(10000);
}
server.begin();
// vous êtes connecté maintenant, affiche le statut:
printWifiStatus();
}
void loop() {
// Écouter si un client essaye de se connecter
WiFiClient client = server.available();
if (client) {
Serial.println("nouveau client");
// Une requête http se termine par une ligne vide
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// Si vous avez obtenu à la fin de la ligne (reçu une nouvelle ligne
// Caractère) et la ligne est vide, la requête HTTP est terminée,
// De sorte que vous pouvez envoyer une réponse
if (c == '\n' && currentLineIsBlank) {
// Envoyer un en-tête de réponse HTTP standard
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close"); // La connexion est fermée après la fin de la réponse
client.println("Refresh: 5"); // Actualise la page automatiquement toutes les 5 secondes
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("Ca marche");
client.println("</html>");
break;
}
if (c == '\n') {
// début d'une nouvelle ligne
currentLineIsBlank = true;
}
else if (c != '\r') {
// Vous avez obtenu un caractère sur la ligne actuelle
currentLineIsBlank = false;
}
}
}
// Donne au navigateur Web le temps pour recevoir les données
delay(1);
// ferme la connection:
client.stop();
Serial.println("client deconnecte");
}
}
void printWifiStatus() {
// affiche le SSID du réseau auquel on est attaché
Serial.print("SSID:dlink");
Serial.println(WiFi.SSID());
// affiche l'adresse IP de votre wifi shield
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// affiche la force du signal reçu:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
j'arrive à me connecter au réseau pas de problème mais je ne sais comment récupérer la page web et la mettre à l'adresse ip qu'on tape sur le navigateur (je veux que quand on tape l'adresse ip sur un navigateur on tombe sur la page WEB) comment est ce que je peux récupérer la page web et là mettre comme cela ? (sachant que le module transmet à la arduino par liaison SPI et la fox board par liaison rs232)