# Usage Guide ## Starting the Server ```bash # Activate virtual environment cd ~/git/esp32-web source .venv/bin/activate # Start server make start # Check status make status # View logs make logs ``` ## API Examples ### Health Check ```bash curl http://localhost:5500/health ``` Response: ```json {"status": "ok", "uptime": "5m23s", "uptime_seconds": 323} ``` ### List Sensors ```bash curl http://localhost:5500/api/v1/sensors ``` Response: ```json { "sensors": [ {"id": 1, "hostname": "hollow-acorn", "ip": "192.168.129.31", "status": "online", "last_seen": "..."}, {"id": 2, "hostname": "muddy-storm", "ip": "192.168.129.29", "status": "online", "last_seen": "..."} ] } ``` ### Get Sensor Details ```bash curl http://localhost:5500/api/v1/sensors/hollow-acorn ``` ### Send Command to Sensor ```bash curl -X POST http://localhost:5500/api/v1/sensors/hollow-acorn/command \ -H "Content-Type: application/json" \ -d '{"command": "STATUS"}' ``` ### List Devices ```bash # All devices curl http://localhost:5500/api/v1/devices # BLE devices only curl "http://localhost:5500/api/v1/devices?type=ble" # With pagination curl "http://localhost:5500/api/v1/devices?limit=50&offset=0" ``` ### Get Device Details ```bash curl http://localhost:5500/api/v1/devices/aa:bb:cc:dd:ee:ff ``` ### List Alerts ```bash # Last 24 hours (default) curl http://localhost:5500/api/v1/alerts # Last 7 days curl "http://localhost:5500/api/v1/alerts?hours=168" # Filter by type curl "http://localhost:5500/api/v1/alerts?type=deauth" ``` ### List Probe Requests ```bash # All probes curl http://localhost:5500/api/v1/probes # Filter by SSID curl "http://localhost:5500/api/v1/probes?ssid=MyNetwork" # List SSIDs with counts curl http://localhost:5500/api/v1/probes/ssids ``` ### Get Statistics ```bash curl http://localhost:5500/api/v1/stats ``` Response: ```json { "sensors": {"total": 3, "online": 3}, "devices": {"total": 42, "ble": 35, "wifi": 7}, "alerts": {"count": 5, "hours": 24}, "events": {"count": 128, "hours": 24}, "probes": {"count": 89, "hours": 24} } ``` ## Allowed Sensor Commands Commands that can be sent via the API: | Command | Description | |---------|-------------| | STATUS | Get sensor status | | REBOOT | Reboot sensor | | IDENTIFY | Flash LED for 5 seconds | | BLE ON/OFF | Toggle BLE scanning | | ADAPTIVE ON/OFF | Toggle adaptive sampling | | RATE <10-100> | Set CSI rate | | POWER <2-20> | Set TX power (dBm) | | CSIMODE RAW/COMPACT/HYBRID | Set CSI output mode | | PRESENCE ON/OFF | Toggle presence detection | | CALIBRATE [seconds] | Start baseline calibration | | CHANSCAN ON/OFF/NOW | Channel scanning |