Go Down

Topic: [TUTO] programmer sa carte ESP8266 en WIFI OTA (over the air) (Read 1 time) previous topic - next topic

superninja

Avant de commencer , la programmation OTA sous entend que vous avez déjà réussit à programmer la carte ESP8266 en filaire ! Je ne reviendrais pas sur la procédure.

  1/ Dans le Sketch MODIFIER le SSID ET le password (en gardant les guillemets) avec les données de votre réseau WIFI
  2/ TELEVERSER le sketch par la liaison série classique, comme vous savez le faire ;)  Bien vérifier que Outils/Flash size 4M(3M SPIFFS). Conseil: notez ce qui est affiché en rouge: emplacement du sketch compilé dans votre PC. Il sera utile pour le retrouver.
  3/ ouvrir le moniteur :  Le Sketch est chargé, la carte se connecte au réseau WIFI configuré et indique son adresse IP

  Modification du SOFT et Téléversement par WIFI :
  1/ Modifier/Ajouter vos lignes de codes SANS TOUCHER aux paragraphes ##### OTA #####
  2/ VERIFIER le SKETCH uniquement !

  !!  le PC qui va programmer la carte en OTA doit être connecté sur le même réseau WIFI que la carte ESP8266 !!

3/ ouvrir un Navigateur Internet a la page http://esp8266-webupdate.local/update
  OU, si ça ne fonctionne pas  http://192.168.xx.xx/update  : adresse IP de la carte vu plus haut
 
4/ on va charger le SKETCH qu'on viens de compiler : (ne pas faire Reset + GPIO0 à GND sur la carte ESP8266)
  cliquer sur "charger le fichier" et chercher dans C:\Users\john\AppData\Local\Temp\arduino_build_xxx\xxxxx.ino.bin
  conseil : trier par date pour avoir le dernier sketch modifié
 
5/ cliquer sur  "upload"   attendre qq secondes : Update Success!  La carte va rebooter et démarrer le nouveau SKETCH !!

6/ modifier, VERIFIER, "Charger le fichier", "upload" ... FACILE !


Code: [Select]
//*** MAJ du soft Esp8266 en OTA (Over The Air) wifi via Navigateur Internet ***
/*  La programmation OTA sous entend que vous avez déjà réussit à programmer la carte ESP8266 en filaire !

  1/ Dans ce Sketch MODIFIER le SSID ET le password (en gardant les guillemets) avec les données de votre réseau WIFI
  2/ TELEVERSER le sketch par la liaison serie classique, comme vous savez le faire ;)
  Bien vérifier que Outils/Flash size 4M(3M SPIFFS)
  3/ ouvrir le moniteur :
  Le Sketch est chargé, la carte se connecte au réseau WIFI configuré et indique son adresse IP

  Modification du SOFT et Televersement par WIFI :
  1/ Modifier/Ajouter vos lignes de codes SANS TOUCHER aux paragraphes ##### OTA #####
  2/ VERIFIER le SKETCH uniquement !
  !!  le PC qui va programmer la carte en OTA doit etre connecte sur le meme reseau WIFI que la carte ESP8266 !!
  3/ ouvrir un Navigateur Internet a la page http://esp8266-webupdate.local/update
  OU, si ça ne fonctionen pas  http://192.168.xx.xx/update  : adresse IP de la carte vu plus haut
  4/ on va charger le SKETCH qu'on viens de compiler : (ne pas faire Reset + GPIO0 à GND sur la carte ESP8266)
  cliquer sur "charger le fichier" et chercher dans C:\Users\john\AppData\Local\Temp\arduino_build_xxx\xxxxx.ino.bin
  conseil : trier par date pour avoir le dernier sketch modifié
  5/ cliquer sur  "upload"   attendre qq secondes : Update Success!
  la carte va rebooter et demarrer le nouveau SKETCH !!
  (To upload through terminal you can use: curl -F "image=@firmware.bin" esp8266-webupdate.local/update)
  6/ modifier, VERIFIER, "Charger le fichier", "upload" ... FACILE !
*/

//############# OTA ######################
#include <ESP8266WiFi.h>               //#
#include <WiFiClient.h>                //#
#include <ESP8266WebServer.h>          //#
#include <ESP8266mDNS.h>               //#
#include <ESP8266HTTPUpdateServer.h>   //#
//                                       #
const char* host = "esp8266-webupdate";//#
const char* ssid = "MonReseau";        //# <---- VOTRE réseau WIFI entre les guillemets
const char* password = "MonPass";      //# <---- le mot de passe du réseau entre les guillemets
//                                       #
ESP8266WebServer httpServer(80);       //#
ESP8266HTTPUpdateServer httpUpdater;   //#
//########################################


// VOTRE SKETCH ICI



//***********************************
//*              SETUP
//***********************************
void setup() {
  //############################ OTA ####################################################
  Serial.begin(9600);                                                                 //#
  Serial.println("\nDemarrage du Sketch...");                                         //#
  WiFi.mode(WIFI_AP_STA);                                                             //#
  WiFi.begin(ssid, password);                                                         //#
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {                               //#
    WiFi.begin(ssid, password);                                                       //#
    Serial.println("WiFi perdu, reconnection ...");                                   //#
  }                                                                                   //#
  MDNS.begin(host);                                                                   //#
  httpUpdater.setup(&httpServer);                                                     //#
  httpServer.begin();                                                                 //#
  MDNS.addService("http", "tcp", 80);                                                 //#
  Serial.println("HTTPUpdateServer pret!");                                           //#
  // Print le reseau et IP address                                                    //#
  Serial.print("Reseau:");  Serial.print(WiFi.SSID());  Serial.print(WiFi.RSSI()); Serial.println("dB"); //#
  Serial.print("Copier/Coller dans votre Navigateur:  ");                             //#
  Serial.print("http://");  Serial.print(WiFi.localIP());  Serial.print("/update   ");//#
  Serial.printf( "Ou   http://%s.local/update \n", host);                             //#
  //#####################################################################################


  // VOTRE SKETCH ICI
  Serial.println("\nSKETCH: Je fait clignoter la LED du GPIO15");
  pinMode(15, OUTPUT);

} // fin du setup
//***********************************
//*              LOOP
//***********************************
void loop() {
  //############# OTA ##################
  httpServer.handleClient();         //#
  //####################################


  // VOTRE SKETCH ICI

  digitalWrite(15, HIGH);   //led ON
  delay(150);
  digitalWrite(15, LOW);   //led OFF
  delay(2000);

}// fin de loop



Le sketch fait clignoter une led branchée sur le port GPIO15.
Modifiez les delay de led on et off , VERIFIER le Sketch. Dans le Navigateur: "Charger le fichier" puis "upload" !
Modifier le sketch, enregistrez le sous un autre nom,  à volonté en faisant attention de ne pas toucher aux paragraphes #### OTA ###

 ;)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy