- (Optional) Activate the PlatformIO environment for firmware work:
source /home/pocar-lab/platformio-venv/bin/activate - Create a Python virtual environment for the supervisor + tooling:
python3 -m venv .venv && source .venv/bin/activate - Install Python dependencies:
pip install -e .[analysis,notebooks] - Install the analysis helpers for notebooks/CLI:
pip install -e analysis
cd firmwareplatformio run -t upload
- Configure
config/config.yamlwith the serial port, bind host/port, and (optionally)auth_token. - Launch the API:
bash scripts/start_supervisor.sh - Override at runtime with env vars:
SUPERVISOR_TOKEN(auth),SUP_HOST(host:port for clients),SUP_API(HTTP base URL). - Typical SSH workflow:
- SSH into the lab host (no X forwarding needed).
- Activate the project environment if applicable (
source .venv/bin/activate). - Start the supervisor in one terminal:
bash scripts/start_supervisor.sh
Leave it running; it binds to0.0.0.0:8000for remote clients.
- Web GUI:
http://<host>:8000/ui- Dark/light aware layout with responsive plot, live valve state, and per-sensor readouts.
- Adjust setpoint/hysteresis/telemetry interval and choose which sensors feed the Auto/average logic via checkboxes; view each sensor's latest value as a chip.
- Forward over SSH:
ssh -L 8000:localhost:8000 <user>@<host>then browsehttp://localhost:8000/ui - Copy link with
?token=...if auth enabled, or load without token whenAuth required: False. - The logging toggle starts streaming telemetry to
data/raw/<timestamp>.csvon the supervisor host while buffering a local download; pressing it again ("Stop Logging") stops the server-side log and saves a copy to your browser.
- Serial/UI logger (legacy):
python3 scripts/plot_temp.py(setPORTif needed).
- Command-line pipeline:
hfe-hx --input data/raw/<file>.csv- Outputs go to
data/processed/anddata/reports/(configurable via flags).
- Outputs go to
- Notebook: open
analysis/notebooks/HX_performance_analysis.ipynbafter installing the analysis package above.
- Use the VS Code Source Control pane to commit and push changes.