IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Dialogue client / serveur ESP8266 avec IDE ARDUINO


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 139
    Par défaut Dialogue client / serveur ESP8266 avec IDE ARDUINO
    Bonjour,

    Je souhaite faire dialoguer un client ESP8266 avec un serveur ESP8266.

    Les deux se connectent sur mon réseau sans problème.

    Par contre je bloque sur la structure du message que doit envoyer le client et comment le serveur le récupère.

    L'information à transmettre consiste à envoyer au serveur l'état d'un interrupteur (ouvert ou fermé).

    A réception le serveur doit allumer ou éteindre une led en fonction de l'information réçue.

    Cela peut paraître basique pour certain, mais c'est ma première expérience dans ce domaine.

    Merci par anticipation à tous ceux qui m’apporteront des réponses.

    Cordialement

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    Bonsoir,

    En gros, côté serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    #include <SPI.h>
    #include <ESP8266WiFi.h>
     
    char ssid[] = "**********";               // SSID of your home WiFi
    char pass[] = "**********";               // password of your home WiFi
    WiFiServer server(80);                    
     
    IPAddress ip(192, 168, 0, 80);            // IP address of the server
    IPAddress gateway(192,168,0,1);           // gateway of your network
    IPAddress subnet(255,255,255,0);          // subnet mask of your network
     
    void setup() {
      Serial.begin(115200);                   // only for debug
      WiFi.config(ip, gateway, subnet);       // forces to use the fix IP
      WiFi.begin(ssid, pass);                 // connects to the WiFi router
      while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(500);
      }
      server.begin();                         // starts the server
    /*  Serial.println("Connected to wifi");
      Serial.print("Status: "); Serial.println(WiFi.status());  // some parameters from the network
      Serial.print("IP: ");     Serial.println(WiFi.localIP());
      Serial.print("Subnet: "); Serial.println(WiFi.subnetMask());
      Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP());
      Serial.print("SSID: "); Serial.println(WiFi.SSID());
      Serial.print("Signal: "); Serial.println(WiFi.RSSI());
      Serial.print("Networks: "); Serial.println(WiFi.scanNetworks());*/
    }
     
    void loop () {
      WiFiClient client = server.available();
      if (client) {
        if (client.connected()) {
          // do something...
        }
        client.stop();                // terminates the connection with the client
      }
    }
    Et côté client :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    /*  Connects to the home WiFi network
     *  Asks some network parameters
     *  Sends and receives message from the server in every 2 seconds
     *  Communicates: wifi_server_01.ino
     */ 
    #include <SPI.h>
    #include <ESP8266WiFi.h>
     
    char ssid[] = "**********";           // SSID of your home WiFi
    char pass[] = "*********";            // password of your home WiFi
     
    IPAddress server(192,168,0,80);       // the fix IP address of the server
    WiFiClient client;
     
    void setup() {
      Serial.begin(115200);               // only for debug
      WiFi.begin(ssid, pass);             // connects to the WiFi router
      while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(500);
      }
    /*  Serial.println("Connected to wifi");
      Serial.print("Status: "); Serial.println(WiFi.status());    // Network parameters
      Serial.print("IP: ");     Serial.println(WiFi.localIP());
      Serial.print("Subnet: "); Serial.println(WiFi.subnetMask());
      Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP());
      Serial.print("SSID: "); Serial.println(WiFi.SSID());
      Serial.print("Signal: "); Serial.println(WiFi.RSSI());*/
    }
     
    void loop () {
      client.connect(server, 80);   // Connection to the server
      // do something...
      client.flush();
      delay(2000);                  // client will trigger the communication after two seconds
    }
    Les échanges de message se font à travers des méthodes read(), println()...

    Tu as un exemple ici WIFI COMMUNICATION BETWEEN TWO ESP8266 BASED MCU THROUGH THE HOME ROUTER

    Sinon, la doc ESP8266WiFi library

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 139
    Par défaut
    Bonjour,

    Je vous remercie d'avoir répondu à ma question.

    Tout d'abord toutes mes excuses pour répondre si tardivement.

    J'ai mis ce temps entre autre à tester l'ensemble client/serveur en tenant compte de vos exemples.

    Votre réponse est pertinente car je suis arrivé à ce que je voulais.

    Il me reste à vous remercier de votre aide et du temps que vous m'avez consacré.

    cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème client/serveur RMI avec Play
    Par rissay dans le forum Play!
    Réponses: 2
    Dernier message: 11/04/2012, 17h16
  2. [TClientSocket] Dialogue client/serveur Delphi 6
    Par Hikaru dans le forum Web & réseau
    Réponses: 6
    Dernier message: 31/03/2009, 10h28
  3. grammaire de dialogue client serveur
    Par aaronw dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 19/02/2006, 23h30
  4. Méthode de dialogue client/serveur
    Par MisterFreeze dans le forum C++
    Réponses: 3
    Dernier message: 06/01/2006, 22h31
  5. [Reseau] Dialogue client-serveur
    Par Nasky dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 08/08/2005, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo