-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Web Interface #7
Comments
Implementation PlanCurrently, the WiFi component is the main development effort. That component requires some sort of webinterface, to enable WiFi provisioning (configuration of WiFi credentials) for an actual WiFi network. This should be kept as simple as possible, meaning: Initial Implementation
Further down the Development RoadIn further development, actually provide a
Having said this: This uses a pretty much standard HTTP server, wrapped in Further optimization should include the provision of |
The application should provide a web interface.
Required Pages
System Status:
Player Status/Control:
map32
] Audio Player #21)WiFi Configuration (see WiFi Management #5):
RFID Card Management
Use (HTTP-compatible) compression techniques!
gzip
brotli
Implementation
There are several ideas / possibilities to implement this.
One principle should be, to keep the components as loosely coupled as possible. This means: There should be one component to actually provide the HTTP(S)-related functionality (work has already started on
min_httpd
component).Basic idea would be: Let other components implement their own parts of the webinterface and register them with
min_httpd
.While that idea seems pretty much valid, it leads to several problems down the road, including lots of boilerplate code or repetition of certain fragments in different components.
Plain HTML with standalone
html
filesmin_httpd
provides the general HTTP(S) daemon, other components implementURI handlers
as needed and register them withmin_httpd
min_httpd
emit a message (esp_event
) whenURI handlers
can be registered. Letapp_main()
handle registration of the actualURI handlers
located in the different components. This would be really loose coupling of components, as onlyapp_main()
knows and handles the interdependent partshtml
fileshtml
files and thus, stored multiple times in the microcontrollers memory/storage (might affect image size drastically!)Plain HTML with dedicated external assets (e.g.
style.css
)min_httpd
provides the general HTTP(S) daemon, other components implementURI handlers
as needed and register them withmin_httpd
min_httpd
emit a message (esp_event
) whenURI handlers
can be registered. Letapp_main()
handle registration of the actualURI handlers
located in the different components. This would be really loose coupling of components, as onlyapp_main()
knows and handles the interdependent partsURI handlers
for e.g./style.css
, including some effort to use (client-side) caching, ...Single Page Application with WebSockets (static)
html
(and/or specificjavascript
) at build time to build the actual SPATLS
is required!Single Page Application with WebSockets (dynamic)
html
source, sripts, ...TLS
is required!The text was updated successfully, but these errors were encountered: