Go Down

Topic: Mis à jour OTA /serveur http (Read 368 times) previous topic - next topic

Rihame

Bonjour,
Je travail sur un projet qui consiste à faire  la mis à jour automatique d'un nodemcu depuis un serveur http,ou bien je dois récupérer à chaque fois la nouvelle version d'un fichier  binaire stocké dans le serveur et l'exécuter.
J'ai travaillé avec la mis à jour OTA et  j'ai pu récupérer le fichier et l'exécuter sur mon nodemcu mais je dois toujours ouvrir le moniteur série ou débrancher mon composant et le rebrancher pour exécuter le nouveau sketch .
Je me demande  s'il y a une méthode pour  mettre à jour mon sketch sans passer par ces étapes.
Merci d'avance.
voici mon code:
Code: [Select]

/**
 * httpUpdate.ino
 *
 *  Created on: 27.11.2015
 *
 */

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ESP8266HTTPClient.h>
#include <ESP8266httpUpdate.h>

#define USE_SERIAL Serial

ESP8266WiFiMulti WiFiMulti;

void setup() {
 

    USE_SERIAL.begin(9600);
    // USE_SERIAL.setDebugOutput(true);

   /* USE_SERIAL.println();
    USE_SERIAL.println();
    USE_SERIAL.println();
    //chr url="";*/

 for(uint8_t t = 4; t > 0; t--) {
        USE_SERIAL.printf("[SETUP] WAIT %d...\n", t);
        USE_SERIAL.flush();
        delay(1000);
    }

    WiFiMulti.addAP("SSID","PASSWORD");

}

void loop() {
    // wait for WiFi connection
    if((WiFiMulti.run() == WL_CONNECTED)) {

        t_httpUpdate_return ret = ESPhttpUpdate.update("https://server/file.bin");
       
       

        switch(ret) {
            case HTTP_UPDATE_FAILED:
                USE_SERIAL.println("HTTP_UPDATE_FAILD");
                break;

            case HTTP_UPDATE_NO_UPDATES:
                USE_SERIAL.println("HTTP_UPDATE_NO_UPDATES");
                break;

            case HTTP_UPDATE_OK:
                USE_SERIAL.println("HTTP_UPDATE_OK");
                break;
        }
    }
}


Go Up