Für die Ansicht der Fahrten, der Administration der Fahrzeuge und Nutzer sowie der Erstellung der Fahrtenbücher wird eine Web-Oberfläche auf einem externen Server genutzt.
Per REST-Schnittstelle soll der RaspberryPi im Auto die aufgezeichneten Daten an eine Datenbank senden. Der Webserver greift auf diese in Statusbereicht 1 beschriebene zu.
Die Web-Oberfläche ist über https://track.mrzo.de erreichbar.
Die Web-Oberfläche bietet fünf Navigationspunkte:
- Home
- Historie
- Fahrtenbuch
- Fahrzeuge
- Nutzer
Die Seite nutzt das Bootstrap-Framework. Damit ist es verhältnismäßig einfach, eine saubere und konsistente Oberfläche zu gestalten. Die gespeicherten Fahrten werden mithilfe der Google-Maps-Api dargestelt.
Die Wegpunkte werden so auf die Straßen gelegt und die kürzeste Route zwischen diesen ermittelt. Ebenso berechnet die Google-Maps-Api die gefahrene Strecke und die dafür verwendete Zeit. In der Datenbank ist eine Fahrt in json-Format gespeichert. Diese kann die Google-Maps-Api direkt interpretieren und darstellen:
{
„origin“:{„location“:{„lat“:49.0544412,“lng“:7.433808999999997}},
„destination“:{„location“:{„lat“:49.115484,“lng“:7.550617999999986}},
„avoidTolls“:false,
„avoidHighways“:false,
„waypoints“:[
{„location“:{„location“:{„lat“:49.0974009,“lng“:7.477826600000071}},
„stopover“:false}
],
„travelMode“:“DRIVING“
}
Für das dynamische Laden der Daten wird AJAX verwendet. Mithilfe des JS-Frameworks jQuery ist dies einfach möglich (https://api.jquery.com/jquery.get/). Somit können Ladezeiten minimiert werden, da erst beim Aufklappen der Kartenansicht die Datenbankabfrage gestartet wird. Bei statischen Abfragen, z.B. die Anzeige der Fahrzeuge, wird die mySql-Verbindung direkt mittels PHP hergestellt.