Carsharingsystem mit Arduino und RFID Transponderkarte
Die Idee für das System stammt aus einer Abitur-Aufgabe des Schuljahres 2016/17. Dort war die Aufgabe, Teile eines Car-Sharing Systems zu implementieren. Für unser Projekt gab es somit bereits ein Grundkonzept.
Das Ziel unseres Projekts war es, ein System aus Hard- und Software aufzubauen, welches die Grundanforderungen an ein Car-Sharing-System erfüllt und später jederzeit erweiterbar ist.
Das Car-Sharing-System beschreibt die Möglichkeit ein Fahrzeug mit anderen Personen zu teilen, um sich so Kosten zu sparen. In unserem Fall interpretieren wir das System als ein System, in welchem ein Kunde mit einer Kundennummer und einer RFID-Karte ausgestattet wird und mit welche er/sie Buchungen tätigen und wahrnehmen kann. Ebenfalls sieht unser System Personen vor, welche selbst Kunden sind, jedoch kommen ihnen grundlegend administrative Berechtigungen zukommen, indem sie eine Außenstelle leiten, dies erfordert ein Passwort, Kundennummer und eine Außenstellennummer. Als Leiter einer Außenstelle kann diese Person dann Kundenprofile bestätigen und den Kunden ihre Kundenkarte aushändigen. Ebenfalls kann eine Außenstelle Fahrzeuge verwalten. Eine Außenstelle vereinfacht die Verwaltung des Systems, da sie sich um anfallende Aufgaben in ihrem Bereich kümmern kann und so dem Kunden zusätzlich eine Ansprechstelle liefert.
Das System benötigt einen hardwareseitigen Klienten, welcher vielfach gebaut und dann in ein Fahrzeug eingebaut werden kann. Die Hardware ist für das Freigeben der Fahrzeuge zuständig, wenn eine Buchung erfolgte gibt diese das Fahrzeug frei und speichert die Benutzungszeit in der Datenbank, um so eine Abrechnung erstellen zu können. Der Kunde soll mittels seiner RFID Karte das Fahrzeug entsperren können. Der Anmeldestaus soll auf einem LCD und anhand von zwei LEDs erkennbar sein.
Der softwareseitige Teil des Projekts besteht aus einem Programm für die Arduinos, den Klienten, sowie einem Server für die Kunden und die Kommunikation mit den Fahrzeugen und einer Datenbank. Die Software für den Kunden soll eine, aus dem Browser ansprechbare Webseite sein, da dies für den Kunden die einfachste Lösung bildet. Über die Webseite kann der Kunde ein neues Konto erstellen, welches jedoch noch bestätigt werden muss, er kann eine Buchung ausführen, seine Abrechnung einsehen oder sein Konto überarbeiten. Der Server selbst hält Kontakt zu allen aktiven Fahrzeugen und bietet auf Anfrage die nötigen Informationen bereit, damit der Fahrzeug-Klient einwandfrei läuft. Ebenfalls ist eine weitere Instanz für das Verwalten der Kunden-Anfragen, sowie für den Betrieb der Außenstellen zuständig. Die Datenbank ist eine relationelle Datenbank vom Typ InnoDB, welche wir über XAMPP bereitstellen und über einen Konnektor in unser Programm einbinden. Für die leichtere Erreichbarkeit und einfachere Lesbarkeit der Syntax benutzen wir eine Abstraktionsschicht (Programmierschnittstelle), welche in welcher alle SQL-Befehle grundlegend stehen und somit einfach per Methodenaufruf verwendbar sind. Die Datenbank befindet sich in der 3. Normalform und verhindert somit unnötige Redundanzen, sie hält die Entitäten Kunden, Fahrzeuge, Außenstelle und Buchungen.
Die Kommunikation haben wir in unserem Fall über Wireless-LAN aufgebaut, da dies einfach zu handhaben ist und für einen praktischen Test und Vorführungen über genügend Reichweite verfügt. Die Kommunikation lässt sich durch einige Änderungen jedoch auch auf über andere Wege regeln, als eine der besten Varianten bietet sich das Mobilfunknetz an, über einen GSM-Chip.