ich wollte eben eine neue Firmware flashen und habe micht gefragt ob das auch über OTA funktioniert.
Im Code habe ich nichts dergleichen gefunden, aber das muss ja nichts heissen.
Gibt allerdings auch kein Environment dafür.
Hat das einen technischen Grund, dass das nicht funktioniert oder hat noch niemand danach gefragt?
der Code ist im Normalfall zur Zeit größer als 2MB und passt daher nicht doppelt in den $MB Speicher. Ota war deshalb rausgefallen.
Mit einem Wrover und 16MB wäre da eine Partitionierung mit 2 großen Partitionen und OTA möglich, aber das hat bisher noch niemand getestet.
Ich würde das gerne testen, und auch in der Zukunft nutzen zumal ich ausschließlich Wrover benutze , aber ich habe keine Ahnung wie ich das aufsetzen muss . Meine künftige Hardware wird auch keinen USB Anschluss haben .
Ich habe mir das jetzt mal angesehen, mit allen Optionen ist das Bin-File 2,1MB gross. Deaktiviert man Bluetooth, beträgt die Grösse nur noch 1,6 MB. Das müsste ja dann reichen oder?
@gmbo: Was bedeutet „ist rausgefallen“? Meinst du OTA wurde aufgrund der Grösse des Image nicht weiter verfolgt, oder war es im Code drin und ist entfernt worden?
Als ich das Projekt 10/2019 gestartet habe, war meine Idee auch, OTA zu unterstützen. Damaliger Grund war für mich, dass man bei den NodeMCU-Boards, die ich damals ausschließlich verwendet habe, zum Flashen immer eine Taste drücken muss.
Es war dann aber so, dass ich bei verschiedenen Sachen, u.a. auch OTA, Probleme hatte, sie zum Laufen zu kriegen. Es hat ein bisschen gedauert, bis mir klar wurde, dass der Mangel an statischem RAM des ESP32 dies auslöste. In der Folge habe ich ein paar Dinge angepasst und das Speicherproblem war passé. Zwischenzeitlich habe ich jedoch angefangen, mit Boards zu arbeiten, bei denen man keine Taste drücken muss (Lolin32 zB). Von da an hatte OTA keine wirkliche Bewandtnis mehr für mich und daher habe ich mich nicht mehr darum gekümmert.
Stand jetzt kommt man irgendwo bei 2 bis 2.2 MB für das Image raus. Soweit mir bekannt ist, braucht man zwei OTA-Images (Es können keine neuen Karten mehr zugewiesen werden / nvs voll - #20 von tuniii). Zudem benötigt man natürlich auch noch den normalen Programmspeicher (den ich gerne auf 3 MB lassen würde). Und bissl Speicher für NVS braucht’s auch.
Also benötigt man selbst bei 2MB Flashgröße insgesamt 6 MB zzgl. NVS. Und damit ist halt klar, dass es nur mit WROVER geht. Weil die WROOM32 bieten so viel Speicher nicht.
Bevor man das kann, muss man jedoch zuerst eine Custom-Partitionstabelle definieren (steht auch noch auf meiner ToDo-List).
Würde es gerne aber etwas einfacher zum dranlöten haben. Hat jemand mal versucht die Dinger über ftda / serial zu flashen?
Ich frage mich nur ob man 3,3V selbst versorgt oder ob man das weg lässt und sich selbst über Batterie oder USB versorgen lässt?
ich habe nur den serielen monitor über einen FTDI-Adapter probiert. Ich habe nur TX und RX angeschlossen und den ESP32 währenddessen an einem USB-Ladegerät betrieben.
Theoretisch sollte das Flashen so auch klappen.
Um den ESP32 über UART zu flashen, muss dieser zuerst in den Flash Mode versetzt werden. Dabei muss GPIO0 LOW bei einem Reset sein. Daher gibt es bei vielen Dev Boards ein Reset- und Boot-Taster. Der Boot-Taster hängt an GPIO0 und GND. Beim seriellen Flashen über einen USB-UART-Wandler erfolgt der Reset und Flash Mode über die DTR und RTS Leitungen.
Ja gut das ding sollte schon noch gemeinsamen ground bekommen. Krame heute Abend mal meinen Buspirate raus.
An die Pins komme ich leider in dem Prototypen nicht mehr ran. Vielleicht Dremel ich dann noch ein Loch unten rein, mal sehen.