Mit Hilfe der Abstimmungs-Action kann eine Umfrage erstellt werden.
Ablauf
Dafür kann über den Webclient eine Umfrage erstellt werden. Dazu muss Folgendes angegeben werden:
- Die zu stellende Frage
- Die Anzahl der Teilnehmer
- Alle möglichen Antwortmöglichkeiten
Vector liest daraufhin die Frage und alle möglichen Antwortmöglichkeiten vor. Auf Vectors Display erscheint zusätzlich die Fragestellung und die ausgewählte Antwort. Durch eine Berührung auf die goldene Fläche auf Vectors Oberseite kann eine Antwort gewählt werden. Am Ende fasst Vector die Ergebnisse der Umfrage zusammen. Diese Ergebnisse werden dann auch an den Requestor (z.B. Webclient) zurückgeschickt.
Umsetzung
- Nachdem ein Abstimmungsrequest im Backend angekommen ist und alle nötigen Voraussetzungen geprüft wurden (Vector connection, Batteriestatus, Frage und Antwortmöglichkeiten vorhanden und nicht zu lang, ...) werden zuerst alle nötigen Screens erzeugt, welche für die Abstimmung benötigt werden. Diese setzen sich aus einem Anleitungscreen und zusätzlich aus allen Kombinationen der Antwortmöglichkeiten und den Fortschrittsbalken-Schritten zusammen.
- Da es kein Event gibt welches erzeugt wird wenn ein User auf die Oberseite von Vector klickt und ein Bild auf Vectors Display immer mit einer festen Zeit angezeigt werden muss, wird in einer Schleife das aktuelle Bild nur für eine kurze Zeit angezeigt. In jeder Iteration wird dann auch geprüft ob der Berührungssensor eine Berührung feststellt. Diese Umsetzung hat den Nachteil, das die Netzwerk Verbindung relativ stabil sein sollte, damit die Abstimmung wie gewünscht funktioniert.
- Weil das Vector SDK nur die Funktion bietet ein Bild anzuzeigen, muss mit Hilfe des Packages "Pillow" ein passendes Bild erzeugt werden. Dafür muss zunächst eine Font-Datei eingelesen werden und dann muss der gewünschte Text an der gewünschten Position im Bild erzeugt werden. Deshalb muss sich innerhalb der Abstimmungsaction auch z.B. manuell um Zeilenumbrüche gekümmert werden.