Les projets
Fournisseurs
Webmaster - Infos
Lettre d'information
Pour avoir des nouvelles de ce site, inscrivez-vous à notre Newsletter.
K5DpL
Recopier le code :
Abonné
( personne )
Snif !!!
Visites

   visiteurs

   visiteurs en ligne

Ce programme doit être adapté en fonction de votre environnement :

  • domaine (votre site web) : (Ex: monsite.fr)
  • le ssid (nom de votre réseau sans fil Wi-Fi) de votre box : (Ex: Livebox-20C2)
  • le mot de passe pour votre ssid : (Ex: AZERTYWXCV)
  • ressource : le chemin du fichier lignt.json si vous n'avez pas déposé votre programme PHP dans la racine de votre site (Ex: /repertoire/ lignt.json si le PHP est dans monsite.fr/repertoire
/*
Nom du programme :ledMA1.ino
Contrôle d'une LED à partir d'un serveur (Host/nelson.php)
Récuperation la valeur (on ou off par un GET sur Host/light.json)

Le montage :
 * LED interne broche 2 (ou D4)
 * REMARQUE la LED interne fonction en complémentaire

 REMARQUE :
 Ne pas oblier de remplier les valeurs pour :
ssid : "Livebox-2012"
password : "AZERTY"
domaine :"monsite.fr"
ressource : "/repertoire/light.json"

 créé le 2 juin 2016
 par Gérard IoT
 Ce code est en CC0 1.0 Universal
 */
#include <ESP8266WiFiMulti.h>
#include <ESP8266HTTPClient.h>

ESP8266WiFiMulti WiFiMulti;

// déclaration d'une variable payload dont on va se servir pour
// l'envoie et la réception de nos messages
String payload;

// initialisation des constantes spécifiques à votre installation

const char* ssid = ".....................";
const char* password = ".......................";
const char* domaine = "............................";
const char* ressource = "...........light.json";

void setup() {
  // on souhaite communiquer avec l'ordinateur
  pinMode(D4, OUTPUT);

  for(uint8_t t = 4; t > 0; t--) {
       delay(1000);
  }

  // on se connecte au Wifi
  WiFiMulti.addAP(ssid, password);
}

void loop() {
  // on regarde si on est bien connecté au point d'accès wifi
  if((WiFiMulti.run() == WL_CONNECTED)) {
  // création d'un objet appelé http réutilisable et sorti du moule HTTPClient
    HTTPClient http;

// connexion serveur GET pour lire les données enregistrées sur light.json
    String uri = ressource ;
    http.begin(domaine, 80, uri);

    http.addHeader("Content-type", "application/json");
    int httpCode = http.GET();

    // httpCode sera négatif si on rencontre une erreur
    if(httpCode > 0) {
       // le serveur répond à la requette par OK
      if(httpCode == HTTP_CODE_OK) {
        // alors on récupère la réponse sous forme de chaîne de caractères
        String payload = http.getString();
        int start = payload.indexOf("light\":");
        int end = payload.indexOf('\"', start + 11 );
        String positionString = "";
        for (int i= start + 9; i < end; i++)
        positionString += payload.charAt(i);
        // gestion de la LED
        if (positionString == "on") digitalWrite(D4, LOW);
        if (positionString == "off") digitalWrite(D4, HIGH);

      }// Fin if(httpCode == HTTP_CODE_OK)
    }// Fin if(httpCode > 0)
    else

    http.end();
// Fin d'interrogation du serveur
delay (5000);
  }// Fin du if((WiFiMulti.run()
 
}// Fin du Loop


Date de création : 08/02/2017 @ 09:40
Catégorie : Les projets - Projet 1
Page lue 6702 fois


Réactions à cet article

Personne n'a encore laissé de commentaire.
Soyez donc le premier !

Préférences

Se reconnecter :
Votre nom (ou pseudo) :
Votre mot de passe
K5DpL
Recopier le code :


  Nombre de membres 5 membres
Connectés :
( personne )
Snif !!!
Recherche
Recherche
Calendrier
Nouvelles des Amis