ESP8266 frissítés OTA (Over The Air) módon
Re: ESP8266 frissítés OTA (Over The Air) módon
Az OTA mindig rizikós marad.
Én AVR alatt az I2C update-et úgy oldottam meg, hogy amikor I2C-n feltöltöm az adatokat, akkor a RESET vektort átírom, hogy mindig a bootloader-t hívja.
Miután a feltöltés megtörténik és a program elindul, automatikusan meg kell nyitnia az I2C csatornát és egy speciális üzenetet várni.
Miután az üzenetet megkapta, beállíthatja magán, hogy rendesen fut. Ha eközben végtelen ciklusba kerül, vagy kifagy, akkor nem lesz képes beállítani, hogy rendben elindult minden. Ergo: baj esetén RESET után megint a bootloader fog elindulni.
Életemben egyszer kellett eddig programozót fognom, mert a baj az I2C csatorna leokézása után történt néhány pillanattal.
Szóval a programnak azért el kell indulnia legalább félig ahhoz, hogy a bootloader átadja neki a vezérlést. OTA-nál is ez kellene, elindítod a programot, ami vár egy WEB üzenetet és arra véglegesíti az új firmware-t. Addig RESET után a régit fogja használni.
Én AVR alatt az I2C update-et úgy oldottam meg, hogy amikor I2C-n feltöltöm az adatokat, akkor a RESET vektort átírom, hogy mindig a bootloader-t hívja.
Miután a feltöltés megtörténik és a program elindul, automatikusan meg kell nyitnia az I2C csatornát és egy speciális üzenetet várni.
Miután az üzenetet megkapta, beállíthatja magán, hogy rendesen fut. Ha eközben végtelen ciklusba kerül, vagy kifagy, akkor nem lesz képes beállítani, hogy rendben elindult minden. Ergo: baj esetén RESET után megint a bootloader fog elindulni.
Életemben egyszer kellett eddig programozót fognom, mert a baj az I2C csatorna leokézása után történt néhány pillanattal.
Szóval a programnak azért el kell indulnia legalább félig ahhoz, hogy a bootloader átadja neki a vezérlést. OTA-nál is ez kellene, elindítod a programot, ami vár egy WEB üzenetet és arra véglegesíti az új firmware-t. Addig RESET után a régit fogja használni.
Re: ESP8266 frissítés OTA (Over The Air) módon
Mellesleg nálam a terepasztal OTA-n frissíti a firmware-eket.
A központi chip egy Arduino, ami egy HLK-RM04-es WIFI UART routerrel van összekötve.
Szóval WIFI-n jön az adat, az UART-tá konvertálódik és végül I2C bootloader lesz belőle és az asztalban a chipeket a levegőben frissíti.
Értelemszerűen ha nem muszáj, nem mászom az asztal alá programozóval a kezemben...
A központi chip egy Arduino, ami egy HLK-RM04-es WIFI UART routerrel van összekötve.
Szóval WIFI-n jön az adat, az UART-tá konvertálódik és végül I2C bootloader lesz belőle és az asztalban a chipeket a levegőben frissíti.
Értelemszerűen ha nem muszáj, nem mászom az asztal alá programozóval a kezemben...
Re: ESP8266 frissítés OTA (Over The Air) módon
Régi szép idők mikor még megannyi munka volt egy rádiós kapcsolattal.
Re: ESP8266 frissítés OTA (Over The Air) módon
Valami itt is van hogy a fájlokat is lehet futtatni , de az is lehet hogy nem. Ez már csak nagyon érintőleg olvastam. Ha igen akkor akár valami fix boot itt is kialakítható. Na de ez már rátok vár. Ennyire nem szoktam a dolgok mélyére ásni.
Re: ESP8266 frissítés OTA (Over The Air) módon
Ha a WebUpdater2-vel feltöltök egy lefordított .bin fájlt széped bele is tölti, de utána hogy tudom újra elérni a feltöltési oldalt?
Olyan mintha felülírná és tovább nem tudom elérni OTA frissítéshez, vagy ez így normális?
Vagy esetleg bele kell illeszteni a kódot a Webupdater2-be?
Olyan mintha felülírná és tovább nem tudom elérni OTA frissítéshez, vagy ez így normális?
Vagy esetleg bele kell illeszteni a kódot a Webupdater2-be?
Re: ESP8266 frissítés OTA (Over The Air) módon
Igen be kell illesztened az OTA használatot minden kódodba, különben az első frissítésnél elveszik.
Re: ESP8266 frissítés OTA (Over The Air) módon
java.io.IOException: Cannot run program "python.exe": CreateProcess error=2, A rendszer nem találja a megadott fájlt
pedig fet van a python !
mi lehet a gond ?
pedig fet van a python !
mi lehet a gond ?
Re: ESP8266 frissítés OTA (Over The Air) módon
Hali!
ha parancssorba beírod hogy
python
akkor elindul, vagy akkor sem találja? Akkor módosítanod kellene a path változót...
ha parancssorba beírod hogy
python
akkor elindul, vagy akkor sem találja? Akkor módosítanod kellene a path változót...
Re: ESP8266 frissítés OTA (Over The Air) módon
Nálam nincs használatban a BasicOTA, de amit használok a ESP8266HTTPUpdateServer nem panaszkodik 4:3 baállításnál sem, bár én is a 4:1 es felosztást használom.
Re: ESP8266 frissítés OTA (Over The Air) módon
Valakinek van megoldása arra, hogy ne kelljen lekapcsolni a tűzfalat?
Elég ostoba az egész, mert az ArduinoOTA véletlenszerűen kiválaszt egy portot, úgy szól vissza a géphez.
Ha van tapasztalat érdekelne...
Elég ostoba az egész, mert az ArduinoOTA véletlenszerűen kiválaszt egy portot, úgy szól vissza a géphez.
Ha van tapasztalat érdekelne...
Re: ESP8266 frissítés OTA (Over The Air) módon
tapasztalat nincs...
de ne a portot add a tűzfalhoz, hanem a programot
de ne a portot add a tűzfalhoz, hanem a programot
Re: ESP8266 frissítés OTA (Over The Air) módon
Meg lehet adni az espota.py script-nek port range-t. Alapból 10000-60000.
Én beállítottam 8266-ra és megnyitottam a portot a firewall-on.
espota.py -P 8266
espota.py -P 8200-8300
...
Én beállítottam 8266-ra és megnyitottam a portot a firewall-on.
espota.py -P 8266
espota.py -P 8200-8300
...
Re: ESP8266 frissítés OTA (Over The Air) módon
Ezt végig csináltam!SanyiSay írta:Közben rájöttem hogy tulajdonképpen wifis fájlfeltöltést használok rendszeresen a weboldalak fáljainak feltöltéséhez, mert arduinon keresztül macera a fájl feltöltés.
Eddig nem hibázott. Nekiláttam egy egyszerű HTML szerkesztőt csinálni ESP-re ne kelljen töltögetni meg mentegetni de bitang nagy falat egyenlőre.
https://www.myelectronicslab.com/iot/es ... ir-update/
password ablakot feldobja mindig de nem lép tul 123 sem!
Ez a sor nincs is bekapcsolva !
Kód: Egész kijelölése
// ArduinoOTA.setPassword((const char *)"123");