Full tutorial: https://www.teachmemicro.com/update-esp32-firmware-external-web-server/
Notes:
- doesn't support https remote location for firmware file (for now)
Full tutorial: https://www.teachmemicro.com/update-esp32-firmware-external-web-server/
Notes:
Hi
Can you please adapt your program to use Ethernet.h instead of wifi.h and Httpclient.h?
Thanks
I was trying to implement it with
httpClientOTA2.begin(HOST_OTA, 443, "/index.php", root_ca);
But is not possible (i saw you write... doesn't works but soon will be).
Thanks!
Hi,
I followed exactly your great tutorial and tested on two ESP32 boards. Your solutions would really sort out a problem I have as I need to update ESP32 that gets the .bin from my website.
Unfortunately I got this error.
This is the error
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled
It seems it is trying to write the buffer in restricted memory area and it gets blocked.
WiFi connected
IP address:
192.168.1.137
Response: 301
FW Size: 303
Updating firmware...
...Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x4000c2e0 PS : 0x00060030 A0 : 0x80087bfa A1 : 0x3ffb1db0
A2 : 0x3ffb1dd0 A3 : 0x00000000 A4 : 0x00000010 A5 : 0x3ffb1dd0
A6 : 0x00060823 A7 : 0x00000001 A8 : 0x00000000 A9 : 0x00150000
A10 : 0x3ffbda68 A11 : 0x3ffc1984 A12 : 0x3ffc1884 A13 : 0x3ffb1f8c
A14 : 0x3ffb1e7c A15 : 0x00000008 SAR : 0x0000000b EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x4000c2e0:0x3ffb1db0 0x40087bf7:0x3ffb1dc0 0x401590fd:0x3ffb1e10 0x400d41ce:0x3ffb1e30 0x400d3cca:0x3ffb1e50 0x400d3dfa:0x3ffb1e70 0x400d3fe2:0x3ffb1e90 0x400d0823:0x3ffb1ec0 0x400d09db:0x3ffb1ee0 0x400d5796:0x3ffb1fb0 0x40089a32:0x3ffb1fd0
Rebooting...
⸮�⸮Ih�⸮bڜM⸮⸮⸮⸮⸮⸮�⸮.....
WiFi connected
IP address:
192.168.1.137
Response: 301
FW Size: 303
Updating firmware...
...Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x4000c2e0 PS : 0x00060030 A0 : 0x80087bfa A1 : 0x3ffb1db0
A2 : 0x3ffb1dd0 A3 : 0x00000000 A4 : 0x00000010 A5 : 0x3ffb1dd0
A6 : 0x00060823 A7 : 0x00000001 A8 : 0x00000000 A9 : 0x00150000
A10 : 0x3ffbda68 A11 : 0x3ffc1984 A12 : 0x3ffc1884 A13 : 0x3ffb1f8c
A14 : 0x3ffb1e7c A15 : 0x00000008 SAR : 0x0000000b EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0x00000000
ELF file SHA256: 0000000000000000
Backtrace: 0x4000c2e0:0x3ffb1db0 0x40087bf7:0x3ffb1dc0 0x401590fd:0x3ffb1e10 0x400d41ce:0x3ffb1e30 0x400d3cca:0x3ffb1e50 0x400d3dfa:0x3ffb1e70 0x400d3fe2:0x3ffb1e90 0x400d0823:0x3ffb1ec0 0x400d09db:0x3ffb1ee0 0x400d5796:0x3ffb1fb0 0x40089a32:0x3ffb1fd0
Rebooting...
�⸮�z�⸮⸮,��⸮$I⸮m �:
It is just carrying on like this forever.
From the search I did maybe there is no final character \n But I'm still looking for a solution
https://flashgamer.com/blog/comments/guru-meditation-error-core-0-paniced-loadprohibited
How did you make it work for yourself?
I gave this a try (code exactly as is, just changed wifi and host url) on an ESP32-WROOM32.
After successfully downloading the new application and rebooting, the same download code is running again. Not the new application. I must be missing something here..
any ideas?
Hi! I'd very much appreciate it if you could help me out.
below you can see my serial output;
14:06:51.524 -> ..
14:06:52.075 -> WiFi connected
14:06:52.075 -> IP address:
14:06:52.075 -> 192.168.178.213
14:06:52.075 -> Response: 200
14:06:52.174 -> FW Size: 4294967295
14:06:52.174 -> Updating firmware...
14:06:52.174 -> ..........................................................................................................................this keeps going for a while but eventually stops
I am unsure why it does not pass line 91. I am getting my .bin from a simple nodejsweb server, it does not seem to provide a content-length which is why "FW Size: " prints out the highest number because in reality it's -1. do you think this might be the issue here, and if so what could I do about it?
I have also tried changing the " if(currentLength != totalLength)" statement so it would pass no matter what after a while, so it is possible, only then when it restarts the ESP it will still be running the same code not that of the .bin....
I am using a ESP32 DEVKITV1.
i used this code with this link which i uploaded my firmware file to it
https://drive.google.com/uc?id=1CGPNlpRMR9VKpC6HS3vWJtr4JCS6gB6Q&export=download the esp32 can connect to wifi but the response code is not equal to 200. when i use https header it gives 303 response and when i use http header it gives 301 response.i know that both of them are related to redirections. i tried using this line for automatic redirection but it didn't work client.setFollowRedirects(HTTPC_STRICT_FOLLOW_REDIRECTS);
it gives response -1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.