ESP8266 Webupdate

  • Hallo Freunde,


    Hat schon jemand einmal das ESP-WEB Update versucht ?

    Ich hab jetzt ein bisschen gegoogelt und so einen WEBUPDATE-Sketch heruntergeladen, den konventionell

    auf den ESP geflasht, und dann versucht , über den Browser eine *.BIN Datei eines anderen Projektes zu flashen. Das hat auch funktioniert bis zum Start des geladenen Projektes, dann war Chaos Perfekt.


    Zur Info: das über das WEBUPDATE geladene Projekt funktioniert natürlich bei flashen über USB astrein.


    Ich tu mich auch schwer mir vorzustellen, daß das geht, denn der Webflash-sketch ist ja dann nicht mehr aktiv wenn das eigentliche Projekt geflasht wurde.

    Dann würde das, wenns funktionieren würde, nur einmal gehen und macht dann keinen Sinn.

    Auch wenn gedacht ist, daß man die eigene Applikation irgendwie in diesen Upload-Sketch reinfrickelt, kannes ja auch sein dass die eigentliche Applikation auch einen Webserver hat, der dann möglicherweise ganz andere Einstelllungen hat, als dieser Update-Server.


    :?::?::?::?::?::?::?:

    :danke_ATDE:

  • Hi dreamshader

    Ich habe im Forum nach OTA Update gesucht, aber nix gefunden.

    Aber ich kann nicht verstehen wie es funktionieren soll. Das OTA Update-Sketch ist ja im Prinzip nix anderes als ein Webserver, und meine Applikation soll ja auch ein WEB- oder TCP-Server sein auf z.B. einem ganz anderem Port - spiesst sich das nicht ?


    Wenn weisst wo so ein Beispiel zu finden ist, wäre das der Hammer:bravo2:


    LG

    :danke_ATDE:

  • Ich habe es in mehreren Projekten nach diesem Beispiel implementiert und es läuft.

    https://github.com/esp8266/Arduino/issues/2513

    Du brauchst aber einen Webserver (bei mir eigener IIS im Netz) und einen ESP, der genug freien Speicher hat um den Sketch noch aufzunehmen.

    Der ESP spricht von sich aus einen anderen Webserver an, nicht den eigenen...


    Holger

  • Servus,

    ich hab' z.B. in einem meiner "-> Abfallprodukte <-" so einen HTTP-Update drin.


    Kurz zum Ablauf: wie HolgerW schon richtig bemerkte - Du brauchst einen Web-Server, auf dem Du die Updates ablegst.

    Der ESP-sketch schaut dann nach, ob es eine neuere Version Firmware gibt. Zur "Versions-Verwaltung" muss Du Dir was einfallen lassen.

    Diese Firmware wird dann in einen freien Bereich des Flash-Speichers geladen. Ein reboot löst dann einen Kopiervorgang aus, bei dem die alte Firmware mit der neuen überschrieben wird.

    Du musst nur darauf achten, dass die Firmware max. die Hälft des Flash-Speichers benötigt. Ist sie grösser, klappt das nicht mehr.

    In meiner -> WiFi-Schaltuhr mit dem ESP <- ist das übrigens auch drin ...


    ciao,

    -ds-

  • Hallo HolgerW

    Der ESP spricht von sich aus einen anderen Webserver an, nicht den eigenen...

    Auszug aus dem Downgeloadeten Update Sketch

    Code
    1. ESP8266WebServer httpServer(80);
    2. ESP8266HTTPUpdateServer httpUpdater;

    Mein Applikationswebserver sollte aber z.B. dieses Port haben

    Code
    1. ESP8266WebServer httpServer(8080);

    Hab ich das dann 2 Mal in meinem Setup stehen ?


    Oder brauchts dann den 80er Server nicht, und das Update geht über x.x.x.x:8080/update

    und meine Applikation kann halt dann /update nicht mehr verwenden.


    Irgendwie steh ich auf dem Schlauch


    Aber ich werd mir Deinen Link dann ansehen - Danke


    LG

    :danke_ATDE:

  • Servus dreamshader


    Ja, Danke jetzt wird mir die Sache etwas klarer.

    Ich bin sprachlos was man mit dem € 3,50.- Ding alles anstellen kann.

    Den Ort der BIN Datei in der Arduino Portable Version zu finden war aber eine Herausforderung. Ich hab mir einen Wolf gesucht. Zufällig hab ich dann gesehen, daß der Ordner wo das BIN steht, flux verschwindet wenn man das Arduino schliesst.:baeh2:



    LG Pretzi

    :danke_ATDE:

  • Beim Web-Update daran denken, dass genügend Platz im Speicher vorhanden sein muss.


    Damit man beim Webupdate sich nicht die Konfiguration zerschießt, sollte man auch darauf achten, dass der Speicher, der für die Konfiguration verwendet wird, sauber definiert wird, und am obersten Rand des maximalen Speicherbereichs liegt.


    Bei dem Tasmota-Projekt ist z.B. ein Paket so groß, dass man es nicht mehr per OTA auf den Sonoff bekommt.

    Für diesen Zweck gibt es ein kleines Tasmota Paket, dass das vorhandene Image überschreibt, Und nach einem Neustart nur die wichtigsten Funktionen (hauptsächlich WiFi-Zugriff und OTA) ermöglicht. So dass man in einem Zweisprung die neueste Version auf das System bekommt.

    Selber denken,
    wie kann man nur?