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)
Keiner kennt sich damit aus? ...
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.
