Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Softwaredoku
Hochschule Karlsruhe Logo Informationstechnik
Wählen bezahlen RFID - PC - CM-IoT
Wintersemester 2018/2019
Felix Kistner
Felix Knebel

Software Dokumentation

Grundlegende Aufgabe der Software

Die Software soll ein Bestellterminal/Bestellanwendung auf dem PC-Bildschirm zur Verfügung stellen. Der Nutzer soll über diese Anwendung einfach einen Cocktail auswählen und bestellen können. Die Software wandelt diese Bestellung dann so um, dass die gewünschten Informationen (siehe RFID-Datenstruktur) auf den RFID-Chip geschrieben werden können.

RFID-Datenstruktur


Die RFID-Datenstruktur wurde in Absprache mit den beiden anderen RFID-Gruppen (Gruppe06 & Gruppe07) ausgewählt. Dabei soll auf dem RFID-Chip das Cocktailrezept, sowie Informationen zum Besteller und der Zeitpunkt der Bestellung dokumentiert sein.



RFID-Übertragung

Zum Beschreiben des RFID-Chips kann die durch Gruppe06 erstellte Klasse nur bedingt genutzt werden und muss zur Nutzung auf dem PC abgewandelt werden. Wichtig ist, dass der Status des Cocktails richtig angegeben wird (bezahlt, aber noch nicht ausgeliefert). Dieses Byte wird dann nach der Zubereitung wieder geändert, sodass das doppelte Abholen eines Cocktails nicht möglich ist.

Bestellvorgang

Beim Bestellvorgang soll der Benutzer den Überblick über alle vorhandenen Cocktails haben und ebenso einen großen oder kleinen Cocktail bestellen können. Bei erfolgreicher Überschreibung auf den RFID-Chip soll eine Meldung erscheinen, die den bestellten Cocktail anzeigt und somit als Bestätigung der Bestellung dient.

Verbesserungsmöglichkeiten/Schwierigkeiten

Ein Problem beim Schreiben der Sofware war, dass zur Kommunikation mit dem ausgewählten NFC-Reader bisher keine vollständige Open-Source-Software vorhanden war. Nach langer Recherche fanden sich nur einzelne Code-Zeilen zum Auslesen von RFID-Chips. Das Beschreiben von RFID-Chips musste komplett selbst implementiert werden. Die Kommunikation mit dem RFID wurde dann mittels Python-Skript realisiert, da sich hierzu bei der Recherche einige Beispielcodes fanden und die Sprache von vielen Usern als empfehlenswert angesehen wurde.

Der Bestellvorgang soll über einen Webserver erfolgen, der die lokalen Python-Dateien aufruft. Dies stellte sich jedoch als äußerst schwierig dar, da ein solcher Aufruf aufgrund von Sicherheitsbestimmungen jedes Browsers nicht möglich ist. Nach langer Recherche fand sich hier keine passende Lösung: Obwohl einige Lösungen angeboten wurden, passte keine dieser Lösungen auf unser Problem. Eine Bestellung mittels Webserver wäre nur unter großem Umbau der bisherigen Software möglich gewesen.
 Deswegen haben wir uns nach eindringlicher Recherche gegen eine Aufsetzung eines Webservers entschieden, da die Realisierung des Webservers mit den oben genannten Anforderungen den Rahmen der Veranstaltung sprengt. Wir haben uns für eine lokale Python-Anwendung entschieden und die Oberfläche der des Webservers nachempfunden. Der Anwender bemerkt - wenn überhaupt - nur einen sehr kleinen Unterschied. Die Realisierung der Bestellung mit einem PC über den Webserver ist dann auch eine schöne Erweiterung des Informationstechnik-Labors im Sommersemester 2019.

Die vollständige Software finden Sie mit Klick auf den Downloadpfeil. Darin sind drei Skriptdateien enthalten; zum Start der GUI muss lediglich "mixhit_v4.py gestartet" werden.



  Mit Unterstützung von Prof. J. Walter Wintersemester 2018/2019