Um die Idee eines "Physischen Zwillings" eines Remote-Studis umzusetzen wurde in der Konzeptionsphase der Lösungsarchitektur Wert auf die Einhaltung der Designprinzipien für IoT Anwendungen gelegt (Siehe Kap. 5). Hierbei sah das ursprüngliche Konzept den Einsatz von Scrollbots vor. Aufgrund der aktuellen Knappheit der Scrollbots, haben wir uns entschieden, 7"-Displays mit handelsüblichen Raspberry Pi 3 und 4 zu verwenden. Der Kerngedanke der Lösung, den Studierenden im Vorlesungsraum zu Präsenz zu verhelfen, wird somit abgedeckt und prototypisch umgesetzt.
Um die Idee des "Physischen Zwillings" eines Remote-Studis umzusetzen wurde in der Konzeptionsphase der Lösungsarchitektur Wert auf die Einhaltung der Designprinzipien für IoT Anwendungen gelegt (Siehe Kap. 5). Hierbei sah das ursprüngliche Konzept den Einsatz von Scrollbots vor. Aufgrund der aktuellen Knappheit der Scrollbots, haben wir uns entschieden, 7"-Displays mit handelsüblichen Raspberry Pi 3 und 4 zu verwenden. Der Kerngedanke der Lösung, den Studierenden im Vorlesungsraum zu Präsenz zu verhelfen, wird somit abgedeckt und prototypisch umgesetzt.
## Implementierung
## Implementierung
Zur Implementierung des MVP wurde verschiedene Standardsoftware verwendet. Auf Hardware-Ebene wird ein Raspberry Pi 4 verwendet, auf dem eine Docker-Umgebung aufgesetzt wurde. Um eine möglichst hohe Portabilität zu gewährleisten werden die verschiedenen Lösungsbestandteile in getrennten Containern deployed:
Zur Implementierung des MVP wurde verschiedene Standardsoftware verwendet. Auf Hardware-Ebene wird ein Raspberry Pi 4 verwendet, auf dem eine Docker-Umgebung aufgesetzt wurde. Um eine möglichst hohe Portabilität zu gewährleisten werden die verschiedenen Lösungsbestandteile in getrennten Containern deployed:
-**Portainer** zur Verwaltung der Container
-**Portainer** zur Verwaltung der Container
-**Node-RED** als Backend für jeden Reactor
-**Node-RED** als Backend für jeden Reactor, Frontend für Reactor und Interactor
-**Mosquitto** als MQTT-Broker
-**Mosquitto** als MQTT-Broker
Der Kern der Lösung beinhaltet die Trennung von Sender (Interactor) und Receiver (Reactor) auf programmatischer Ebene. Hierbei wird dem Studierenden eine Website zur Verfügung gestellt, in der er Reaktionen (über Emojis) und Fragen an den MQTT-Broker übermittelt werden. Dieser publiziert alle eingehenden Nachrichten auf die Endpoint ```IoTHackathonHHZ/# ```. Die RaspberryPi sind über das Node-RED Backend auf diesen Endpoint subscribed. Hierbei fungiert ein Pi zeitgleich als Broker und als Reactor. Alle anderen Pis übernehmen lediglich die Rolle des Reactors und subscriben auf den genannten Endpoint.
Der Kern der Lösung beinhaltet die Trennung von Sender (Interactor) und Receiver (Reactor) auf programmatischer Ebene. Hierbei wird dem Studierenden eine Website zur Verfügung gestellt, in der er Reaktionen (über Emojis) und Fragen an den MQTT-Broker übermittelt werden. Dieser publiziert alle eingehenden Nachrichten auf die Endpoint ```IoTHackathonHHZ/# ```. Die RaspberryPi sind über das Node-RED Backend auf diesen Endpoint subscribed. Hierbei fungiert ein Pi zeitgleich als Broker und als Reactor. Alle anderen Pis übernehmen lediglich die Rolle des Reactors und subscriben auf den genannten Endpoint.