Ethernet en mode serveur : Commander des LEDs côté Serveur depuis le navigateur

Salut tous le monde!
Ma question se base sur se programme et est basé sur se topic Ethernet en mode serveur : Commander des LEDs côté Serveur depuis le navigateur client - Mon Club Elec !
Malgré les changements de code (server par EthernetServer et client par EthernetClient) pour passé sur arduino 1.0 le code donné sur mon club elec ne se compil pas et bloque sur :

//*************** FONCTION LOOP = Boucle sans fin = coeur du programme *************
// la fonction loop() s'exécute sans fin en boucle aussi longtemps que l'Arduino est sous tension

void loop(){ // debut de la fonction loop()

// --- ici instructions à exécuter par le programme principal ---

//---- Code type pour une connexion d'un client au serveur ---

// crée un objet client basé sur le client connecté au serveur HTTP
while(!serveurHTTP.available()); // attend qu'un client soit disponible

// si un client est disponible, création de l'objet client correspondant
EthernetClient client = serveurHTTP.available();

if (client) { // si l'objet client n'est pas vide = si le client existe
Serial.println(F("------------ Connexion Client ------------")); // message début de connexion
Serial.println (F(""));

Serial.println(F("Detection client...")); // message debug

//-- initialisation des variables utilisées pour l'échange serveur/client
chaineRecue=""; // vide le String de reception
comptChar=0; // compteur de caractères en réception à 0

if (client.connected()) { // si le client est connecté

Serial.println(F("Connexion avec client OK ... ")); // message debug
Serial.println(F("")); // message debug

Donc sa bloque sur cela et semble le faire pour tout les " Serial.println "
c'est dommage que le code se soit pas mis a jour pour arduino 1.0!!
Mais on va y remédier :slight_smile: merci

baptiste:
Malgré les changements de code (server par EthernetServer et client par EthernetClient) pour passé sur arduino 1.0 le code donné sur mon club elec ne se compil pas et

Erreur de compilation ?
Laquelle ?

Le code utilise la bibliothèque Flash, est-ce que tu l'as installée ? (Flash lib v4.0 pour Arduino IDE v1.0 : http://arduiniana.org/libraries/flash/)

Bonjour,

Ton erreur vient de la bibliothèque Flash. Il faut suivre le lien de barbudor qui m'avait déjà solutionné le problème il y a quelques jours.
icare

Merci cela marche et aussi depuis un smartphone connecté au wifi de la box! Mais.. comment faire cela depuis un smartphone connecté depuis un autre wifi ou mieux depuis le réseau (3g) mobile ?
Comme l'arduino/shield est devenu un serveur, comment lui donner sa propre adresse par exemple ? :stuck_out_tongue:

L'Arduino ne peut pas avoir sa propre adresse sur Internet
Mais tu peux créer une redirection dans ta box depuis Internet vers ton Arduino.

Ainsi sur une Freebox, il faut aller dans la console de gestion, puis "Configurer le mode routeur de votre Freebox"
Ensuite dans la section "Redirections et baux DHCP", il faut créer une redirection du port TCP 80 vers l'adresse IP de ton Arduino dans ton réseau local, port 80 aussi.

Ainsi ton serveur Web Arduino sera accessible depuis ton adresse publique Internet comme un serveur Web normal.
Pour connaitre ton adresse publique Internet : http://www.myipaddress.com

Attention, cela sera accessible par tout le monde !!!

Attention 2 : certains ISP donne une adresse publique dynamique qui change toute les 24H

J'ai une box orange .. je vais me renseigné un peu dessus
Connaitrais tu un tutoriel pour cela ou pourrai tu m'expliquer plus en détails, Mon projets final est de contrôler un relais/led a partir d'un smartphone relié en 3g !!
:slight_smile:

Je ne sais pas mais googler "configurer routeur livebox" devrais te retourner des résultats utiles.

merci je vais chercher sur sa, je te tien au courant d'ici quelque jours

Bonsoir,

Il y a également des sites (voir gratuis) qui te permettent de transformer une adresse dynamique en adresse fixe.
L'ami google connait le sujet :slight_smile:
icare

Tu ne peut pas transformer une adresse IP dynamique en adresse IP fixe.

Ce a quoi tu fait référence c'est un DNS dynamique type DynDNS.org ou No-IP.com ou dnsdynamic.com
Tu peux alors enregistrer un sous domaine tel-que chez-baptiste.dyndns.org
Il te faut un PC qui tourne en permanence chez toi avec un soft spécifique qui va régulièrement mettre a jour le serveur de DNS de chez DynDNS pour que chez-baptiste.dyndns.org corresponde à l'adresse IP dynamique de ta box quand celle-ci change.

Comme cela sur ton mobile c'est http://chez-baptiste.dyndns.org que tu tapes dans le navigateur

Re,
Tu as raison barbudor, j'étais de nouveau dans la précipitation mais c'est bien à cette explication que je pensais.
Par contre, pas besoin d'avoir de PC qui tourne en permanence avec un soft pour la mise à jour.
Certains routeurs intègrent cette fonction, c'est le cas de mon NetGear.
icare

idem pour ma livebox

@icare
C'est vrai mais de nos jours, les box intégrant les fonctions routeur, presque plus personne n'utilise de routeur séparé.

@anthology
Ce n'est pas le cas de la Freebox (qui n'en a pas besoin du fait de l'IP statique).

Bonjour,

barbudor:
@icare
C'est vrai mais de nos jours, les box intégrant les fonctions routeur, presque plus personne n'utilise de routeur séparé.

Il est vrai qu'il faut vivre avec sans temps, mais être dépendant d'une "boîte en plastique" me fait dresser les poils :grin:
Lorsqu'on bidouille, on aime bien avoir accès au 20% non prévu pour les 80% d'utilisateurs, la dépendance au FAI me suffit.

Et se tromper est la rançon de penser [...] L'humanité règne par des erreurs hardies. (Emile Chartier dit Alain)

icare