- Python 79.8%
- HTML 13.5%
- CSS 6.1%
- Nix 0.6%
| docs | ||
| fleet_manager | ||
| licenses | ||
| tests | ||
| .env.example | ||
| .gdignore | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| MANIFEST.in | ||
| mise.toml | ||
| PUBLISHING.md | ||
| pyproject.toml | ||
| README.md | ||
| THIRD_PARTY_NOTICES.md | ||
SPARK-E
Smart Platform for API-controlled Robotics, Kinematics & Education
Gemeinsame Fahrzeugverwaltung für reale und simulierte Roboter im Unterricht: Anmeldung, Online-Status, exklusive Team-Belegung, Schülerportal und Lehrer-Dashboard. Kamera und Steuerung laufen direkt zwischen Fahrzeug-Agent und Schülerprogramm über ZeroMQ.
Start
Python 3.11 oder neuer:
pip install -e .
export FLEET_ADMIN_TOKEN='eigenes-admin-token'
export FLEET_PROVIDER_TOKEN='eigenes-agent-token'
spark-e
Portal: http://localhost:8080 · Dashboard: /admin · API-Dokumentation: /docs
| Variable | Standard | Zweck |
|---|---|---|
WEB_HOST / WEB_PORT |
0.0.0.0 / 8080 |
HTTP-Server |
FLEET_ADMIN_TOKEN |
beim Start erzeugt und geloggt | Freigeben und Positionsreset |
FLEET_PROVIDER_TOKEN |
beim Start erzeugt und geloggt | Anmeldung der Fahrzeug-Agenten |
FLEET_CLASS_TOKEN |
leer (offen) | Zugangscode für das Schülerportal |
FLEET_PROVIDER_TIMEOUT_SEC |
15 |
Offline nach fehlendem Heartbeat |
Ein Serverprozess; Bestand und Belegungen liegen im Arbeitsspeicher. Nach einem Neustart melden sich Agenten erneut an, alte Belegungen werden freigegeben.
Entwicklung mit Nix / mise
.env.example nach .env kopieren und SSH-Schlüssel, Git-Identität sowie Tokens setzen.
mise run vm startet die eigene MicroVM; Verbindung mit
ssh -p 2200 dev@127.0.10.19. Im Gast: mise run run.
Das Portal ist auf dem Host unter http://127.0.10.19:8080 erreichbar.
Die Flake verwendet denselben öffentlichen
nix-dev-sandbox-Input wie der Simulator.
Ohne VM: nix develop oder mise run setup. Weitere Befehle:
mise run dev, mise run test, mise run check, mise run build, mise run agent -- ….
Fahrzeuge anbinden
Der Godot-Adapter liegt im Simulator-Repository und meldet standardmäßig 16 virtuelle Fahrzeuge. SPARK-E selbst benötigt kein Godot.
Auf einem realen PiCar-X (venv mit --system-site-packages für picamera2/lgpio):
pip install -e '.[hardware]'
export FLEET_URL='ws://fleet-server:8080'
export FLEET_PROVIDER_TOKEN='gleiches-agent-token-wie-am-server'
intsys-vehicle-agent --id real-01 --name 'PiCar-X 01' \
--driver fleet_manager.hardware:IntsysHardwareBackend
Die virtuelle intsys_car_v1-Bibliothek des Simulators gehört nicht auf reale Fahrzeuge.
Andere Fahrzeuge implementieren VehicleBackend.
Hardware und Schülerprotokoll: intsys-car-v1-Standard ·
Virtuelle und reale Geräte verbinden ·
API und Treibervertrag · Tests
Lizenz
Eigener Code: GPL-3.0-only, siehe LICENSE. Drittanbieterdateien behalten ihre Lizenzen: Hinweise.