How alptekinsunnetci/pingbox works
PingBox is an ESP32 network-diagnostics probe. Users connect over its web dashboard or authenticated Telnet CLI, submit diagnostic commands, and receive streamed results; web commands are polled through job endpoints, while Telnet commands stream to the session. A shared job worker dispatches commands to protocol-specific tools. The documented product also includes AP/STA/Hybrid networking, captive setup, persistent settings, logs, and system management. README capabilities inform subsystems whose implementation excerpts were not sampled; their internal wiring is shown only where supported.
Main entry points: netmgr.cpp Wi-Fi Manager · webui.cpp Web Dashboard · jobs.cpp Async Job Engine · telnetsrv.cpp Telnet CLI
Components 17
User Interfaces
- Web Dashboard
webui.cpp - Telnet CLI
telnetsrv.cpp
Command Execution
- Command Parser
cli.cpp - Async Job Engine
jobs.cpp - Diagnostic Tools
tools.cpp
Network Services
- Wi-Fi Manager
netmgr.cpp - Captive DNS
netmgr.cpp - mDNS Discovery
netmgr.cpp
Device State
- Configuration
config.cpp - NVS Flash
- Log Buffer
applog.cpp
Other components
- Network Engineer
- Web Browser
- Telnet Client
- Diagnostic Targets
- Wi-Fi Clients
- ESP32 Device
Connections 23
- Network Engineer → Web Browser: uses
- Web Browser → Web Dashboard: HTTP requests
- Web Dashboard → Async Job Engine: submits commands
- Async Job Engine → Command Parser: executes commands
- Command Parser → Diagnostic Tools: dispatches diagnostics
- Diagnostic Tools → Diagnostic Targets: probes protocols
- Async Job Engine → Web Dashboard: streams job output
- Telnet Client → Telnet CLI: connects
- Telnet CLI → Async Job Engine: submits commands
- Telnet CLI → Async Job Engine: handles job control
- Async Job Engine → Telnet CLI: streams job output
- Telnet CLI → Configuration: checks credentials
- Web Dashboard → Configuration: updates settings
- Web Dashboard → Wi-Fi Manager: reads status, scans Wi-Fi
- Web Dashboard → Log Buffer: reads logs
- Command Parser → Configuration: reads and saves settings
- Command Parser → Wi-Fi Manager: reads network status
- Wi-Fi Manager → Configuration: reads network settings
- Configuration → NVS Flash: persists settings
- Wi-Fi Manager → Wi-Fi Clients: provides AP or STA
- Wi-Fi Manager → Captive DNS: starts and services
- Wi-Fi Manager → mDNS Discovery: announces hostname
- ESP32 Device → Wi-Fi Manager: starts networking