Webbrowser not responding on build #611
Unanswered
GunnarPhilipp
asked this question in
Q&A
Replies: 2 comments 3 replies
-
The answer why the web server doesn't respond is towards the end of your logging:
The reason is shown three lines below: Your chip is too low on memory for the web server to start. We've found that for networking services like the web server to run reliably, the chip needs to have at least around 55K free after everything has started and has settled down. |
Beta Was this translation helpful? Give feedback.
3 replies
-
This may be a language issue, but I'm having a tough time tracking this.
This group is mostly programmer-type people, so precise terms matter a lot.
Casually mixing "chip" and "board" or "browser" and "server", for example,
makes this tough to follow.
I ran some test with the
https://plummerssoftwarellc.github.io/NightDriverStrip/ site and the
results are below, showing that with one exception all of them the same
chip works, no memory issues:
esp-wrover-kit = spectrum (NWR)
This is a bit surprising. Spectrum isn't a small configuration, but maybe
the heft of 768LEDs and the FFT are dwarfed by other configuration settings.
Maybe that would be a good homework/documentation exercise for someone. On
the same hardware, build as many configurations as you can get to build and
run and document the amount of free memory displayed in the serial console
after a few moments of running. That would help us quantify how impactful
all these options really are. No coding required.
LilyGo = TTGO (NWSCR)
M5StickC = spectrum (NWR)
M5StickC Plus = X-Trees (NWSCR)
Mesmerizer = Mesmerizer (NWSCR) - failed - prop cause device incapability,
looking for some sensor
So... everything works?
We know that Mesmerizer requires PSRAM. That's intended. (Citation needed?
Gladly.
https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/1a0900b5316da454de184eb11b53783e971a4e1d/platformio.ini#L261
)
|PlatFormIO.ini
- -> set default_envs = ledstrip
-> change the [env:ledstrip] section set the arduino chip (i used
dev_m5stick-c-plus for now, again I don't know what's comparable for my
ESP32 WROOM dev kid)
"WROOM" in isolation doesn't mean as much as you would hope. Even esteemed
members of Espressif's staff (Sprite) don't know the origins and REAL
meaning of WROOM vs. WROVER. Again, with the citations:
https://www.esp32.com/viewtopic.php?t=33948#p115035
Even generalizations like WROOOM is < WROVER can be frustrating as there
are counterexamples in the Espressif line. It's far more helpful to
describe the full part number and the dev board that you're actually using.
Exactly what hardware are you using?
You speak of building LEDSTRIP and then enabling Wifi, but LESTRIP has WIFI.
https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/1a0900b5316da454de184eb11b53783e971a4e1d/include/globals.h#L778
- globals.h
-> in the large if/elif find the project
you had set in the platformio.ini
set and turn off/on features, like wifi, etc
#define ENABLE_WEBSERVER 1 // Turn on the internal webserver
#define ENABLE_WIFI 1 // Connect to WiFi
#define INCOMING_WIFI_ENABLED 1
- effects.cpp
-> in the large if/elif find the project
for test only have
ADD_EFFECT(EFFECT_STRIP_RAINBOW_FILL, RainbowFillEffect, 24, 4);
Changing things like this are legit, but it breaks the shorthand.
If you build DEMO with WIFI, for example, we'd probably expect that to
work, though it defeats our goal of DEMO being the simplest possible build.
It would hopefully produce a working, and hopefully useful, result, but
please call it "DEMO with Wifi" or something as it breaks the
expectations of our naming.
We expect DEMO, for example, to fall off the end of the tests and generate
exactly a Rainbow Fill.
https://github.com/PlummersSoftwareLLC/NightDriverStrip/blob/1a0900b5316da454de184eb11b53783e971a4e1d/src/effects.cpp#L484
So I've lost the beat. (I must not be the only one given how slowly this
thread is advancing.)
My target is a setup with multiple chips synced running single LED strips
with a large range of patterns and colors, as well as different types of VU
Meters and music beat. All controlled through a app or website (I already
have a basic functional API test get and set in VB.net)
Deciding how you serve that (pixel data being serviced via COLORDATA or
custom effects/mics on the device or synchronizing with custom code via
ESPNOW or whatever) is up to you. But I can't figure out if you can even
get our basic builds running.
Any thoughts as to why this errors with out of memory, or where I would
start to troubleshoot this?
Potentially unpopular alternative view.
I don't know how many thousands of these boards you've already bought or
what value you place on your time, but if we take a look at pricing from
groups like Adafruit, we can see a 520K ESP32 Feather board is $20
https://www.adafruit.com/product/3405
And Adafruit ESP32 Feather board with 2MB PSRam is... $20.
https://www.adafruit.com/product/5400
These may not be the perfect products for you, but my thesis is that this
is 2024 and unless you're dealing in thousands of units, developer time vs.
the cost of 2MB of RAM is pretty much a fool's errand.
Sparkfun has a 2MB board for $10, bring your own USB/Serial bridge for
programming:
https://www.sparkfun.com/products/23386
(They also have a very annoying product search...)
It's a little bit of a landmine, but if you go through the checkboxes (dual
core - so ESP32 (no suffix) or ESP32-S3) DevKitC clones that are better
than Espressif's own (they sell chips and try to NOT undercut people
selling boards with their chips) with 8 or even 16MB of RAM are still
cheaper than sending this email. The N16R8 (yes, 8MB of RAM) are about $5
from https://s.click.aliexpress.com/e/_Dd6I8b7 or
https://s.click.aliexpress.com/e/_DFQnU1n I've used the YD-ESP32-S3's in
dozens of projects and have been fine. The schematics are open. They're
pretty much right out of the data sheets.
Notice that we have one chap that has a problem with large (many hundreds
of lights on, I think, multiple controllers) deployments with the S3 and
the classic is still a better choice if you're building a straight
Mesmerizer, but the legacy ESP32s are just getting hard to get.
But if you want to stay on classic ESP32, there are still options like
https://s.click.aliexpress.com/e/_DBEHqbL
that are $9 with 8MB. (USB Mini-B is a deal-breaker for me, but if you want
a 2016 board, maybe a 2000 plug is OK.)
Unless pennies really matter, I'm just not sure how much suffering I'd put
up with for a board without at least 2MB of RAM these days. (Actually, I am
sure. I just don't...)
Milk-V, Bouffalo M1S/BL808, LuckFox, BananPi, OrangePi etc. are putting
multiple Ghz cores and 64MB on boards < $10, but ESP32 still has the lock
on total price with Wifi included... you just have to move to S3 to get the
more viable combinations. There just won't be a reason to suffer kilobytes
of memory for much longer.
… Message ID:
<PlummersSoftwareLLC/NightDriverStrip/repo-discussions/611/comments/8586596
@github.com>
|
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello All
I am just starting with this and have an issue with the webbrowser when building and publishing the code to my chip.
While I don't really need the webbrower, I am interested in the REST_API function, which I believe requires the Webbrowser to be enabled.
I do successfully get an IP as you can see below, But http://{IP} claims it actively is beeing refued and REST_API calls to the IP fail.
(...and yeah I have enabled: #define ENABLE_WEBSERVER 1)
I also was thinking that possibly not all chips are able to run a http server, thats why i also modified the LEDStrip project to use a different chip (I have the ESP32 WROOM dev and not sure as what a good equivalent is, so i am guessing around with that one)
[env:ledstrip]
extends = dev_wrover
Thanks everybody for your help!
here is the serial output:
Please build project in debug configuration to get more details about an exception.
See https://docs.platformio.org/page/projectconf/build_configurations.html
--- Terminal on COM7 | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
E (642) esp_core_dump_flash: No core dum����ѥѥ���found!
E (642) esp_core_dump_flash: No core dump partition found!
Replacing Idle Tasks with TaskManager...
(I) (PrintOutputHeader)(C1) NightDriverStrip
(I)
(I) (PrintOutputHeader)(C1) ------------------------------------------------------------------------------------------------------------
(I) (PrintOutputHeader)(C1) M5STICKC: 0, USE_M5DISPLAY: 0, USE_OLED: 1, USE_TFTSPI: 0, USE_LCD: 0, USE_AUDIO: 1, ENABLE_REMOTE: 0
(I) (PrintOutputHeader)(C1) Version 40: Wifi SSID: "Royalimpact03" - ESP32 Free Memory: 255016, PSRAM:0, PSRAM
Free: 0
(I) (PrintOutputHeader)(C1) ESP32 Clock Freq : 240 MHz
(I) (setup)(C1) Startup!
(I) (setup)(C1) Starting DebugLoopTaskEntry
Beta Was this translation helpful? Give feedback.
All reactions