RosterBuddy

Aus HRW FabLab MediaWiki
Wechseln zu: Navigation, Suche

RosterBuddy

0001.jpg

Team

Irem Cayir, Maik Jankowski, Noah Janzen, Fatma Sert

Verwendete Technologien

HTML5, CSS3, jQuery, PHP, MySQL, Java

Verbaute Hardware

Raspberry Pi 4 Modell B, RFID-Reader, Monitor, Lautsprecher


RosterBuddy ist ein System zur Darstellung eines Wochenplans, das speziell für Menschen mit (geistigen) Behinderungen entwickelt wurde. Das System besteht aus einem Bildschirm, welcher einen Wochenplan darstellt, einem Lautsprecher, der Inhalte akustisch ausgeben kann, sowie einem Microcontroller und RFID-Reader, der teilnehmerspezifische RFID-Tags erkennt.

Raspberry Pi mit RFID-Reader


Hintergrund[Bearbeiten]

Der Wochenplan spielt in der Diakonie insbesondere für die beeinträchtigten Mitarbeiter eine große Rolle. Wöchentlich wird der Plan von den Gruppenleitern bearbeitet und bis dato auf ein Whiteboard händisch übertragen. Bisher war der Plan sowohl für die Gruppenleiter als auch für beeinträchtigen Mitarbeiter unübersichtlich und schwer verständlich: So sind viele Inhalte schriftlich dargestellt, was für analphabetische Nutzer ein Problem dartellt. Außerdem bestand für die Gruppenleiter ein hoher administrativer Aufwand bei Änderungen. Um die genannten Probleme zu lösen, wurde das System RosterBuddy entwickelt. Damit wird es den beeinträchtigten Mitarbeitern ermöglicht, ihren Wochenplan unkompliziert zu verstehen. Die Gruppenleiter können den Plan über ein Webinterface anpassen.

Entwicklungsentscheidungen[Bearbeiten]

Zunächst bestand innerhalb des Teams die Idee, Fotobuttons zu verwenden, mit denen Teilnehmer nach Betätigung individuell ihren Tagesablauf angezeigt bzw. akustisch ausgegeben bekommen. Nach Absprache mit den Ansprechpartnern der Diakonie wurde diese Idee aus mehreren Gründen zurückgestellt. Eine weitere Idee zur individuellen Wochenplanausgabe waren RFID-Armbänder. Aufgrund der hohen Wahrscheinlichkeit von Verlusten wurde dieses Vorhaben ebenfalls nicht umgesetzt. Ein nächster, sehr fortschrittlicher Ansatz war eine Gesichtserkennung, die aus Datenschutzthematiken ebenfalls nicht realisiert wurde. Schließlich kam das Team zusammen mit den Ansprechpartnern der Diakonie zu dem Entschluss, einen Monitor und eine Sprachausgabe zu verwenden. Die Sprachausgabe reagiert auf RFID-Tags, auf denen sich jeweils ein Foto eines Teilnehmers befindet. Die Tags sollen an einer Magnetwand neben dem Monitor hängen.

Hardware[Bearbeiten]

RosterBuddy verwendet einen Raspberry Pi als Microcontroller, auf dem die gesamte Software läuft. Im aktuellen Anwendungsfall der Rheinbabenwerkstatt wird ein Raspberry Pi 4 Modell B mit 4 GB Arbeitsspeicher verwendet. Zusätzlich benötigt das System einen Monitor (idealerweise mit Full-HD-Auflösung), einen Lautsprecher und einen RFID-Reader. Weitere Bestandteile sind ein Netzteil und ein USB-Kabel zur Stromversorgung des Pis, ein Gehäuse für den Microcontroller, eine Speicherkarte (32 GB), ein HDMI-Kabel sowie ein Micro-HDMI-Adapterkabel.

Komponente Ungefähre Kosten
Raspberry Pi 4 Modell B, 4 GB RAM 58 €
Offizielles Netzteil 8 €
Offzielles Gehäuse 5 €
Speicherkarte 32 GB 5 €
RFID-Reader 5 €
Micro HDMI Adapterkabel D-Stecker - A-Buchse 15cm schwarz 3 €
HDMI-Kabel 1m 2 €
Lautsprecher n.a.
Monitor (Full-HD, HDMI-Anschluss) n.a.
Gesamtkosten 86 €

Software[Bearbeiten]

Webinterface[Bearbeiten]

Gruppenleiter der Diakonie können über das Webinterface schnell und einfach Inhalte bearbeiten und ergänzen. Ein Zugriff auf das Webinterface ist über das lokale Netzwerk möglich. Das Webinterface läuft auf einem Apache-Webserver auf dem Raspberry Pi.

Editierbare Inhalte[Bearbeiten]

  • Stammdaten von Mitarbeitern (Profilbild, Vor- und Nachname, RFID-Nummer, Abwesenheitszeiten, Praktikumszeiten)
  • Der Rahmendienstplan bietet ein festes, sich wöchentlich wiederholendes Raster, an welches sich die Wochendienstpläne orientieren (Piktogramm, Titel, fester Wochentag, Start- und Endzeit).
  • Der kalenderwochenspezifische Wochendienstplan ändert sich von Woche zu Woche (Piktogramm, Titel, zugehörige Rahmenveranstaltung, Startdatum, Wiederholung alle … Wochen).
  • Eventbanner, das auf dem Monitor im Wechsel angezeigt wird
  • Einzeltermine für Mitarbeiter (Piktogramm, Titel, Datum, Start- und Endzeit, Kurzbeschreibung, Auswahl der betreffenden Mitarbeiter)

Programmierung[Bearbeiten]

Das Webinterface wurde mit gängigen Webstandards wie HTML5, CSS3, jQuery und PHP umgesetzt. Das Webinterface greift auf eine MySQL-Datenbank zu, in welcher alle Daten gespeichert werden. Auf die Datenbank greift ebenfalls das Java-Programm zur Darstellung des Wochenplans für die Teilnehmer zu.

Screenshot des Webinterfaces

Dienstplan-Anzeige[Bearbeiten]

Sobald der Raspberry Pi per HDMI-Ausgang an einen Monitor oder Fernseher angeschlossen und eingeschaltet wird, zeigt er über diesen den aktuellen Dienstplan an. Die Dienstplan-Anzeige blättert dabei durch 4 verschiedene Ansichten, die jeweils verschiedene Elemente beinhalten. Bei dem Scannen eines RFID-Chips wird außerdem der individuelle Tagesplan des Mitarbeiters angezeigt und per Text-to-Speech-Technologie ausgelesen, bei dem die jeweilige RFID hinterlegt ist.

Wochenplan[Bearbeiten]

Der Wochenplan ist die Standardansicht des Dienstplans und umfasst die Anzeige aller Veranstaltungen von Montag bis Freitag der aktuellen Kalenderwoche. Dabei sind die Tage farblich unterschiedlich zueinander gestaltet und mit den genauen Monatsdaten versehen. Das Datum des aktuellen Tages blinkt, um Aufmerksamkeit zu erregen. Die Veranstaltungen selbst sind in Blöcken abgebildet, die an der linken Seite die Start- und an der rechten Seite die Endzeit der Veranstaltung einmal als analoge und einmal als digitale Uhr anzeigen. Je nachdem, ob für eine Veranstaltung ein Piktogram vorhanden ist, wird dieses zwischen den Uhren dargestellt, ansonsten füllt hier der Titel der Veranstaltung den Platz. Die jeweiligen Unterveranstaltungen werden unter den Uhren aufgeführt, mit dem Piktogram / Titel auf der linken Seite und der teilnehmenden Mitarbeiter auf der rechten. Sollten für eine Veranstaltung oder Unterveranstaltung keine spezifischen Mitarbeiter eingestellt sein, wird das Piktogram für "Alle Mitarbeiter" stattdessen eingefügt.

Tagesplan[Bearbeiten]

Der Tagesplan folgt vom Design her dem Wochenplan, zeigt allerdings anstatt der ganzen Arbeitswoche nur den aktuellen Tag an. Durch den zusätzlichen horizontalen Platz passen dadurch sämtliche Veranstaltungen auf eine einzige Seite.

Anwesenheitsanzeige[Bearbeiten]

In dieser Ansicht werden die drei verschiedenen Anwesenheitsstatus angezeigt und die Mitarbeiter, die für diese jeweils eingeteilt sind. Dabei steht als Oberstes "Anwesend", in der Mitte "Abwesend" und als letztes "Im Praktikum". Den Überschriften folgen die Bilder der jeweiligen Mitarbeiter.

Vollbildanzeige[Bearbeiten]

In dieser Ansicht wird ein Bild, das zuvor über die Weboberfläche hochgeladen wurde, im Vollbild für eine bestimmte Zeit angezeigt. Zweck davon ist es, individuelle Bekanntmachungen gestalten und über diese Ansicht anzeigen zu können.

Individualplan[Bearbeiten]

Dieser Plan ähnelt vom Design her dem Tagesplan, wird allerdings nur angezeigt, wenn der RFID-Chip eines Mitarbeiters gescannt wird. Der Tagesplan filtert hier sämtliche Veranstaltungen heraus, zu dem der jeweilige Mitarbeiter nicht eingeteilt ist. Der Name und das Bild des jeweiligen Mitarbeiters befinden sich währenddessen in der linken oberen Bildschirmecke.

Programmierung[Bearbeiten]

Zur Programmierung der Anzeige wurde hauptsächlich Java und dessen GUI-Framework AWT genutzt. Lediglich zum Programmieren der Text-to-Speech-Ausgabe wurde ein kurzes Shell-Script geschrieben.