Forum: Mikrocontroller und Digitale Elektronik ESP8266 OTA funktioniert nicht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mimin I. (kahlenberg)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Ich habe ein ESP8266 Modul, ESP-03 mit 4M Flash (512KByte). Ich habe in 
der Arduino IDE ein Beispiel program per UART programmiert. Das Program 
funktioniert, also das Modul bekommt eine IP Adresse, webserver 
funktioniert wenn ich auf dem Browser die IP Adresse von ESP eingebe. 
Allerdings funktioniert die Update-Funktionalität nicht. Ich gehe auf 
update-Seite und wähle eine kompilierte bin Datei und drücke Update 
Knopf, bekomme ich nur "FAIL" im webbrowser. Im Serialkonsol bekomme ich 
keine Fehlermeldung.

Beispielkode Webupdater:
1
/*
2
  To upload through terminal you can use: curl -F "image=@firmware.bin" esp8266-webupdate.local/update
3
*/
4
5
#include <ESP8266WiFi.h>
6
#include <WiFiClient.h>
7
#include <ESP8266WebServer.h>
8
#include <ESP8266mDNS.h>
9
#include <ESP8266HTTPUpdateServer.h>
10
11
const char* host = "esp8266-webupdate";
12
const char* ssid = "Meine SSID"; // Echte SSID ist unterdrückt
13
const char* password = "Passwort"; // Echte PW ist unterdrückt
14
15
ESP8266WebServer httpServer(80);
16
ESP8266HTTPUpdateServer httpUpdater;
17
18
void setup(void){
19
20
  Serial.begin(115200);
21
  Serial.println();
22
  Serial.println("Booting Sketch...");
23
  WiFi.mode(WIFI_AP_STA);
24
  WiFi.begin(ssid, password);
25
26
  while(WiFi.waitForConnectResult() != WL_CONNECTED){
27
    WiFi.begin(ssid, password);
28
    Serial.println("WiFi failed, retrying.");
29
  }
30
31
  Serial.println("");
32
  Serial.print("Connected to ");
33
  Serial.println(ssid);
34
  Serial.print("IP address: ");
35
  Serial.println(WiFi.localIP());
36
37
  MDNS.begin(host);
38
39
  httpUpdater.setup(&httpServer);
40
  httpServer.begin();
41
42
  MDNS.addService("http", "tcp", 80);
43
  Serial.printf("HTTPUpdateServer ready! Open http://%s.local/update in your browser\n", host);
44
}
45
46
void loop(void){
47
  httpServer.handleClient();
48
  delay(1);
49
}

Serial Konsol:
1
 ets Jan  8 2013,rst cause:1, boot mode:(3,0)
2
3
load 0x4010f000, len 1264, room 16 
4
tail 0
5
chksum 0x0f
6
csum 0x0f
7
~ld
8
9
Booting Sketch...
10
11
Connected to [Mein wifi-ssid]
12
IP address: 192.168.0.227
13
HTTPUpdateServer ready! Open http://esp8266-webupdate.local/update in your browser

von Timmo H. (masterfx)


Bewertung
0 lesenswert
nicht lesenswert
Welche ESP Arduino Core Version verwendest du?
Wie ist dein Flash Layout? Du musst mindestens das doppelte an 
Flash-Speicher dafür vorhalten. Das OTA legt sich temporär zwischen 
Firmware und SPIFFS. Bei 4 MB darfst du daher nicht 3M SPIFFS 
eingestellt haben

: Bearbeitet durch User
von Michael U. (amiga)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Mimin I. schrieb:
> ESP8266 Modul, ESP-03 mit 4M Flash (512KByte)

vergiß OTA. Selbst mit 1MByte (8MBit) muß man mit dem Code recht sparsam 
sein, er darf nicht mehr als kanpp die Hälfte des verfügbareb Flash 
belegen.

Gruß aus Berlin
Michael

von Timmo H. (masterfx)


Bewertung
0 lesenswert
nicht lesenswert
Ups, hatte ich wohl überlesen dass der nur 512 KB hat. Da kann man OTA 
vergessen

von Mimin I. (kahlenberg)


Bewertung
0 lesenswert
nicht lesenswert
Ok, schon vergessen :)
Am Bestern besorge ich ein Modul mit mehr Speicher.
Danke für die Antworten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.