Services-Referenz
LibreScoot ist in kleine, unabhängige Go-Services aufgeteilt. Einer pro Aufgabe, jeder in seinem eigenen Repo.
MDB-Services
Diese laufen auf dem Middle Driver Board (Haupt-Controller).
| Service | Beschreibung | Repo |
|---|---|---|
vehicle-service |
Zentraler Zustandsautomat. Steuert Sperren/Entsperren, Energiezustände, LED-Muster, GPIO. | GitHub |
battery-service |
BMS-Kommunikation per NFC. Überwacht Ladung, Temperatur und Zustand beider Akkuschächte. | GitHub |
ecu-service |
Motor-Controller-Schnittstelle über CAN-Bus. Unterstützt Bosch- und Votol-ECUs. | GitHub |
bluetooth-service |
BLE-Kommunikation mit Mobile-App und NRF52-Modul. Firmware-Updates, Befehle. | GitHub |
alarm-service |
Bewegungserkennung über den BMX055-Beschleunigungssensor. Löst bei Manipulation den Warnblinker aus. | GitHub |
modem-service |
Mobilfunk-Anbindung über ModemManager. Überwacht Signal und Verbindungszustand. | GitHub |
uplink-service |
Remote-Telemetrie und -Befehle per WebSocket. Verbindet sich mit dem uplink-server. | GitHub |
update-service |
OTA-Update-Verwaltung. Delta-Downloads, Mender-Integration, Kanalwechsel. | GitHub |
pm-service |
Power-Management. Steuert Suspend, Hibernate, Reboot. Unterstützt Inhibitors. | GitHub |
keycard-service |
NFC-Keycard-Authentifizierung. Liest UIDs, steuert Sperren/Entsperren. | GitHub |
settings-service |
Persistente Einstellungsverwaltung. Redis-gestützte Konfiguration. | GitHub |
version-service |
Veröffentlicht OS-Versionsinfos aus /etc/os-release nach Redis. | GitHub |
ums-service |
Verwalter des USB-Mass-Storage-Modus. Schaltet den USB-Port zwischen Netzwerk- und UMS-Modus um und kopiert Kartendateien beim Auswerfen. | GitHub |
DBC-Services
Diese laufen auf dem Dashboard Computer (Display/UI).
| Service | Beschreibung | Repo |
|---|---|---|
dbc-dispatcher |
Launcher für Display-Anwendungen beim Boot. Startet scootui-qt nach Abschluss der Boot-Animation und verwaltet den Lebenszyklus der DBC-Anwendungen. | GitHub |
boot-animation |
Lottie-Animations-Renderer für /dev/fb0 mit ThorVG. Zeigt die Startanimation, bis scootui-qt bereit ist. | GitHub |
scootui-qt |
Qt-Dashboard-UI. Tacho, Akkuanzeige, Navigation, Einstellungen. | GitHub |
dbc-backlight-service |
Display-Helligkeitssteuerung. Liest das Umgebungslicht vom OPT3001-Sensor und regelt die Hintergrundbeleuchtung automatisch. | GitHub |
carplay-service |
Unterstützung für CarPlay-Dongles zum Spiegeln des Smartphones. | GitHub |
update-service |
OTA-Update-Verwaltung für das DBC. Erhält Updates vom MDB. | GitHub |
version-service |
Veröffentlicht DBC-Versionsinfos nach Redis. | GitHub |
Serverseite
Diese laufen auf externer Infrastruktur, nicht auf dem Roller.
| Komponente | Beschreibung | Repo |
|---|---|---|
uplink-server |
Serverseitiges Gegenstück zum uplink-service. Nimmt WebSocket-Verbindungen von Rollern für Fernüberwachung und -steuerung entgegen. | GitHub |
CLI-Tool
Das Kommandozeilentool lsc bietet eine einheitliche Oberfläche für die Interaktion mit dem Roller. Alle Befehle in der CLI-Referenz.
$ lsc status # Fahrzeug-, Akku- und Verbindungsstatus anzeigen $ lsc unlock # Roller aufsperren $ lsc lock # Roller abschließen $ lsc ota status # Nach Updates suchen $ lsc settings list # Konfigurierbare Einstellungen anzeigen
Geteilte Bibliotheken
| Bibliothek | Beschreibung | Repo |
|---|---|---|
redis-ipc |
Redis-basierte IPC-Bibliothek. Pub/Sub, Queue-Verarbeitung, atomare Transaktionen. | GitHub |
librefsm |
Hierarchische FSM-Bibliothek für Go-Services. | GitHub |
pn7150 |
PN7150-NFC-Controller-Treiber für Go. | GitHub |