In dem Kurs Technische Grundlagen 1 wurden aktuelle technische Themen, wie zum Beispiel Künstliche Intelligenz oder die Funktionsweise eines Computers vermittelt. Besonderer Fokus lag auf der Praktischen Entwicklung mit Prototyping Boards.
Im Kurs behandelten die Studierenden innerhalb einer Kooperativen Lernumgebung verschiedenen technische Themengebiete. Abschließend wurde eine Projektarbeit in Kleingruppen abgelegt. Bei diesem Projekt lag der Schwerpunkt auf der praktischen Entwicklung eines digitalen Produktes mittels eines Protoyping-Entwicklerboards wie zum Beispiel dem Arduino oder ESP32.
Das ATMOSS ist ein, umfassendes Karten management System.
Die Idee war es ein einfaches und schnell zu erweiterndes System zu schaffen, was grundlegend die Funktionen der Karten Verwaltung, der Karten Erstellung, sowie deren Entwertung mithilfe von QR Codes auf den Tickets beherrscht. Zugänglich sollten Informationen und Funktionen via einem Web Interface, sowie begrenzt auch direkt am Gerät zugänglich sein.
Hardware, Software und Interface:
Hardware:
Der Hardware seitige Aufbau unseres Scanners besteht hautsächlich aus einem AI Thinker ESP32 Cam Modul, das schon viele der benötigten Funktionen von haus aus unterstützt. Die Kamera des Moduls wird zum Scannen der Tickets verwendet, die dann auf dem Speicher des ESP gespeichert werden und welche per Website abgerufen werden können. Zusätzlich zu den ohnehin schon verbauten Komponenten haben wir noch eine selbstentwickelte Neopixel LED Platine, ein OLED-Display und einen Button zur Steuerung an den ESP angeschlossen.
Anforderungen:
Da wir vor dem Start des Projekts bereits einen ersten Prototypen des Scanners bei unserer Erstsemesterparty im Einsatz hatten, waren uns die Softwareanforderungen von Anfang an bekannt. Aus diesem Grund haben wir unser neues System so entwickelt, dass es möglichst Benutzerfreundlich und Zuverlässig ist. Außerdem hatten wir das Ziel mit dem System eine Komplettlösung anzubieten, die sich flexibel auf verschiedene Veranstaltungen adaptieren lässt und dem Nutzer alle notwendigen Arbeitsschritte vom erstellen des Tickets bis hin zum scannen der Tickets erleichtert.
Interface:
Softwareseitig besteht unser Kartenscanner aus zwei Teilen, zum Einen, läuft die gesamte Ticket Verarbeitung und die Datenspeicherung auf dem ESP, welcher sich dann über einen Websocet mit den Websites verbindet, die dem Nutzer als interface dient. Die Verbindung zwischen ESP und der Website wird alle 5s überprüft, sodass während des Scannvorgangs keine Fehler in der Datenübertragung auftreten können. Dank der Websocet verbindung werden alle daten immer live zwischen allen verbunden geräten syncronisiert und auch größere Datenmängen können in beide Richtungen als JSON Datein ausgetauscht werden. Alle Programmierten Webinterfaces, wurden am Anfang mit dem Ziel entworfen, dass sie komplett eigenständig auf dem ESP laufen können, weshalb sie in reinem HTML, JS und CSS geschrieben wurden. Lediglich bei der Seite für die Online Tickets war von Anfang an klar, dass sie am ende nicht mit dem ESP als webserver laufen können wird, weshalb sie mit PHP programmiert wurde.
QR Code Erkennung
Die QR Codes auf den Tickets sind in unserem Fall einfach ein 10 stelligen Code aus Zahlen und Buchstaben, der bei der Erstellung zufällig generiert wird. Aus diesem Code wird dann ein QR Code erstellt, der dann von der ESP 32 Cam mithilfe der Quirc Library wieder in einen Code umgewandelt wird. Dieser Code wird dann mit den anderen Infos in der Datenbank gespeichert.
Webpages:
Das Interface des Scanners besteht aus 5 verschiedenen Websites auf der Ersten, können die Tickets hinzugefügt werden. Dafür muss der Scanner einfach in den “add Tickets” Modus geschaltet werden. Sobald das erledigt ist, können Tickets eingescannt werden, um sie der Datenbank hinzuzufügen. Wenn das Ticket gescannt wurde, öffnet sich ein Fenster in dem Daten zu dem Ticket eingetragen werden können. Welche daten für das Registrieren von Tickets notwendig sind, kann mithilfe der Einstellungen der Seite für jede Veranstaltung personalisiert werden. Dabei können alle Arten von Informationen hinzugefügt werden, die sich einer der Folgenden Eingabemethoden zuordnen lassen: Text, Zahl, Auswahlfeld, Checkbox, Datum. Ein Ticket kann hier nur hinzugefügt werden wenn es vorher noch nicht registriert wurde, der Name noch nicht hinterlegt wurde und alle Daten eingegeben wurden.
Die Nächste Seite ist dafür da, um die Tickets bei der Veranstaltung zu überprüfen und nach einmaligen Scannen als schon verwendet zu Kennzeichen. Für diese Funktion wird der Scanner in den Modus “validate Tickets” geschaltet und die Tickets können eingescannt werden. Sobald ein Ticket gescannt wurde, wird dem Nutzer angezeigt, ob das Ticket Gültig ist, der Name, sowie alle Informationen die beim Scannen für ein Ticket hinterlegt wurden. Wenn der Scannvorgang beendet ist, kann der Nutzer den Scanner resetten, indem er einmal den Bildschirm berührt oder in den Einstellungen den automatischen Reset nach einer einstellbaren Zeit aktiviert.
Die nächsten beiden Seiten, sind dafür da um die Tickets für eine Veranstalung zu erstellen. Auf der ersten Seite, können Online Tickets erstellt werden, die dem Nutzer per Mail zugeschickt werden. Da der Personalisierte QR Code, der sich auf jedem Ticket befindet, bei den Online Tickets auch Vor- und Nachnamen enthält erleichtern die online Tickets auch den Prozess des Hinzufügens. Die zweite Seite, ist dafür da, um große Mengen QR Codes für herkömmliche Tickets zu generieren, welche dann auf Aufkleber-Folie gedruckt werden können, um sie auf den Tickets anzubringen. Auf dieser Seite werden sie automatisch zum Drucken in immer der Gleichen Größe im Raster angeordnet und passend für jedes Papierformat formatiert.
Die Letzte Website ist dafür da um alle Karten, mit allen Informationen und dem Aktuellen Kundenstatus einzusehen und zu überblicken. Hier können alle Tickets durchsucht und später auch korrigiert werden. Diese Seite soll hauptsächlich im falle eines Fehlers im Hinzufügungsprozesses oder der Validierung zu möglichst einfacher korrektur führen.
Feedback auf dem Gerät:
Das Nutzerfeedback funktioniert in unserem Fall mithilfe des LED Streifens der hinter der Scannfläche platziert ist und so dem Nutzer ein direktes Feedback zum Status seines Tickets vermittelt.
Gehäuse:
Anfänge:
Der Erste Prototyp oder auch V1 war sehr spartanisch aufgebaut und bot gerade einmal platz für ESP32 und Scanner-Glas, welches in einem gewissem Abstand zur ESP32 Kamera platziert wurde. Dieser Prototyp diente quasi als Grundlagenforschung und half uns das Setup, und dessen Anforderungen an das Gehäuse anzupassen und deren Bedienung besser zu verstehen. Technisch waren bereits die Kernkomponenten (ESP32 und Kamera) im Gehäuse verbaut, Teile wie LED-Leiste oder USB-C Ladeanschluss waren hier noch nicht vorhanden.
Der zweite Prototyp, hatte dann bereits die finale Ausrichtung der Komponenten, fügte jedoch bis auf eine später essentielle entfernbare ESP32 Equipment-Box nichts weiteres im Vergleich zur V1 hinzu.
Zwischenphase:
Mehrere Prototypen später, hatten wir grundsätzlich all unsere gewünschte Hardware, bis auf das OLED Display und Bedienschalter in das Gehäuse integriert und konnten die Entwicklung der Technischen Fähigkeiten starten und zum teil auch schon integrieren.
Hier wurden nun auch mehrere Quality of Life Updates hinzugefügt, wie eine SD karten Blende um ungewollten zugriff zu verhindern oder auch verstärkte Kabelkanäle um die Druckbarkeit zu verbessern.
Ergebnis:
Resultierend aus unseren bis dato bestehenden Prototypen, entwickelte sich dann die vorläufig Finale version. Diese bietet einfachere Komponenten Zugänglichkeit, sowie verbesserte Druckbarkeit der Bauteile. Durch die Zusammenführung der ESP32 Equipment-Box und des Hauptkonstrukts, konnte die Druckqualität, sowie die Druckzeit deutlich verbessert werden. Zum anderen wurden auch weitere kleine Visuelle Änderungen vorgenommen um die gerade genannten Effekte zu erzielen.
Letzten Endes, folgte hier dann auch die Integration des Displays und dessen Bedienelemente im hinteren Teil des Gehäuses. Dieses wurde anfangs noch ganz konventionell festgeschraubt, was sich jedoch in der neusten Version geändert hat,
dadurch wurde dieser Teil des Gehäuses deutlich weniger komplex. Anstelle von vielen Schrauben, wird das Display nun nur noch mit zwei Schrauben fest montiert.
Ausblick:
In Zukunft würden wir gerne weitere kleine Features hinzufügen um das ATMOSS weiter zu verbessern. Dazu zählen zum einen OtA (Over the Air) Updates der Firmware des ESP32 und die Möglichkeit mehrere ATMOSS in reihe zu schalten für größere Einsatzzwecke.
Hinterlasse einen Kommentar