How mabbott2011/skl-webconsole works
SKLWebConsole is an ESP32 browser-based serial console. Firmware prints through the library; the console numbers and broadcasts complete lines, while retaining recent output for browser replay. Users view and filter logs in the browser and send commands back to firmware handlers. The README documents additional browser features, including quick commands, download/copy, and pause/resume. The sampled C++ excerpts show setup, buffering, authorization, and WebSocket handling; browser-side behavior is described in the README, so its internal implementation is not inferred.
Main entry points: SKLWebConsole.cpp WebSocket transport · SKLWebConsole.h WebConsole API · console.html Console interface · SKLWebConsolePage.h Embedded page
Components 12
Firmware integration
- Firmware application
- Command handler
Console runtime
- WebConsole API
src/SKLWebConsole.h - Line assembly
src/SKLWebConsole.cpp - Replay buffer
src/SKLWebConsole.cpp - WebSocket transport
src/SKLWebConsole.cpp - Page and auth routes
src/SKLWebConsole.cpp - Embedded page
src/SKLWebConsolePage.h
Browser console
- Console interface
page/console.html
Other components
- Async web server
- Browser user
- Custom auth check
Connections 17
- Firmware application → WebConsole API: prints to
README.md - WebConsole API → Line assembly: assembles lines
src/SKLWebConsole.cpp - Line assembly → Replay buffer: appends lines
src/SKLWebConsole.cpp - Line assembly → WebSocket transport: broadcasts lines
src/SKLWebConsole.cpp - Replay buffer → WebSocket transport: replays history
src/SKLWebConsole.cpp - WebConsole API → Page and auth routes: registers routes
src/SKLWebConsole.cpp - WebConsole API → WebSocket transport: registers socket
src/SKLWebConsole.cpp - Page and auth routes → Async web server: registers with
src/SKLWebConsole.cpp - WebSocket transport → Async web server: uses
src/SKLWebConsole.cpp - Page and auth routes → Embedded page: serves page
src/SKLWebConsole.cpp - Browser user → Page and auth routes: opens console
README.md - Browser user → WebSocket transport: connects and sends
README.md - WebSocket transport → Console interface: streams logs
README.md - Console interface → Browser user: shows controls
README.md - WebSocket transport → Command handler: dispatches commands
src/SKLWebConsole.cpp - Command handler → WebConsole API: may print replies
README.md - WebConsole API → Custom auth check: invokes check