Page 1 of 1

ESP32 Web Server - Advanced Web Pages?

Posted: Thu Jun 28, 2018 10:40 pm
by l1519066
Hi,

I just want some more information on whether or not it is possible to make a nice looking web server for the ESP32. I'm planning on using the IoT Dev. Framework IDE. Most of the examples I've seen are very basic and not user-friendly. For example, would it be possible to create anything like this

Image

A nest-like nice UI step-by-step?

Re: ESP32 Web Server - Advanced Web Pages?

Posted: Fri Jun 29, 2018 3:33 am
by WiFive
Sure, assuming it is all client side rendering. You can even use hosted assets from cdn if you don't want to serve them from the esp32.

Re: ESP32 Web Server - Advanced Web Pages?

Posted: Fri Jun 29, 2018 2:54 pm
by l1519066
Will things such as bootstrap work?

Re: ESP32 Web Server - Advanced Web Pages?

Posted: Fri Jun 29, 2018 3:51 pm
by Pibbotley
If it is client side rendered then view the page source and paste it into a string which you can serve up from the esp32

Re: ESP32 Web Server - Advanced Web Pages?

Posted: Fri Jun 29, 2018 8:22 pm
by PeterR
Absolutely within the ESP32 capabilities.
As said 'the magic' works browser side, the ESP32 just copies files (HTML, CSS, Javascript) to the browser using HTTP encoding.
So (1) find an ESP32 HTTP engine then (2) practice your HTML/Javascript skills on a PC knowing that all you want the ESP32 to do is copy those files (using (1) HTTP engine) to the browser.
If you can make a decent website on your PC then the ESP32 HTTP/file system is just another step.

The ESP32 IoT development environment is client (including AWS) focused however.
Software is very limited on the server side.
No 'out of box' HTTP server, no MQTT broker (not even QoS 0).
Even the mDNS component may have RT issues (check my earlier post for a simple solution).
ESP8266/Ardunio has better cover but I found ports painful.
Have surveyed the peripheral libraries and they seem solid.

Hardware wise the ESP has lots of resources to achieve a webserver suitable for low number of concurrent users.
Scaling will depend on how you approach the task and the amount of dynamic content but will be low.

Post a link to the webserver you run with.
Kobal's .cpp HttpServer looks enticing. Maybe I'm just a glum software engineer but I would want to know about origin/pedigree/user base. Its always in the detail...
Will be trying Kobal's in a a week or so once I get an MQTT broker up. His code def. seems better quality than most.
I can also vouche for LwIP's contribs 'httpd'. Have run with that a few times including a large responsive web page with Angular/Pahoo/Javascipt/JQuery etc. Its HTTP GET only and not touched for 9 years. Also its LwIP RAW and you'd have to add RT protection as covered by answers in my last post.
Good luck.