Forum: Mikrocontroller und Digitale Elektronik ESP8266 FOTA in RTOS SDK (nicht mit Arduino oder rBoot)


von József S. (kisjoke91)


Angehängte Dateien:

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)

von József S. (kisjoke91)


Lesenswert?

Keiner kennt sich damit aus? ...

von József S. (kisjoke91)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.