ESP8266 FOTA in RTOS SDK (nicht mit Arduino oder rBoot)

OP #5127458
Lesenswert?

Hallo an alle,

Ich möchte den Funktionsweise des OTA Upgrades verstehen, und da habe 
ich diesen Beispielprojekt übersetzt 
[[https://github.com/espressif/esp8266-rtos-sample-code/tree/master/06Cloud/FOTA_Demo]] 
, und in den Flash heruntergeladen. Es funktioniert, das Modul verbindet 
sich mit dem Server,die Datenübertragung wird gestartet, aber das Code 
wird offenbar nicht so ausgeführt, wie erwartet (Siehe Anhang, und 
readme.md im link). Es wird die Ganze Datei übertragen, und danach 
bleibt der Kontroller hängen. In der Funktion "upgrade_download" 
(user_main.c) wird die erste if() Anweisung nicht ausgeführt. Das 
Problem könnte bei strstr() Funktion liegen. Ist ja auch egal. Was ich 
eigentlich fragen möchte ist das, wie ich mein eigene 
Übertragungsprotokoll implementieren könnte. Ich habe keine Quellen 
gefunden, die erzählen, wie der Update durchgeführt werden soll. Der SDK 
ist nicht besonders gut dokumentiert.
Hat jemand da vielleicht Erfahrung damit?
mit Arduino würde ich mich nicht gerne beschäftigen, und bei rBoot 
bräuchte ich auch selber das Speichern der übertragene Daten zu 
implementieren, was ich aber nicht ganz genau verstehe.

Vielen Dank (:
(Entschuldigt mir wegen meiner Grammatik, deutsch ist schwierig)
Angehängte Dateien:
OP #5128641
Lesenswert?

Habe einen dump gefertigt und es herausgefunden falls jemand das selbe 
Problem hätte:
Die Variable sumlength hatte den Wert 0, weil erst nur 17 byte vom 
Server verschickt wurde, obwohl Die Content-Length erst in einem 
späteren Nachricht kommt. Es wird aber die else Anweisung ausgeführt, 
und da in der if() Anweisung totallen == 0 nicht mehr wahr wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren