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.
|