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

Auf GitHub ansehen →

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

← Architektur Installation →