Update 04. Prototyp – Vorgehen & Implementierung authored by Philipp Straub's avatar Philipp Straub
......@@ -4,7 +4,7 @@
## Vorgehen
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 dessen, dass voraussichtlich keine Scrollbots zur Verfügung stehen würden, haben wir uns frühzeitig dazu entschieden, auf 7"-Displays zu wechseln.
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 dessen, dass voraussichtlich keine Scrollbots zur Verfügung stehen würden, haben wir uns frühzeitig dazu entschieden, auf 7"-Displays zu wechseln.
Diese Entscheidung beeinflusste die entworfene Architektur/das Konzept insoweit, dass von einem Python-Script zu einer Webpage für die Darstellung der Reaktionen gewechselt wurde. Ursprünglich war geplant, für das Senden der Reaktionen eine Webpage bereitzustellen, welche über Websockets mit dem MQTT-Broker HiveMQ kommuniziert. Diese Reaktionen sollten anschließend über das Script ausgelesen werden. Da sich unser Team mit dem Wechsel auf 7"-Displays ebenfalls dazu entschlossen hat, auf einen lokalen MQTT-Broker zur Förderung der Unabhängigkeit und Sicherheit der Lösung umzusteigen, beeinflusste diese Entscheidung ebenfalls die Lösungsarchitektur für das Senden von Reaktionen. Um zusätzlichen Implementationsaufwand der Websockets zu vermeiden und eine einheitliche Architektur auf beiden Seiten zu entwickeln, wurde die Funktionalität hinter der Webpage verworfen. Aufgrund der Vielseitigkeit bei gleichzeitig einfacher Implementierung wurde daher auf Node-RED zurückgegriffen und die Funktionalität für das Senden von MQTT-Nachrichten in ein **Backend** eingelagert, welches über HTTP-Schnittstellen nach außen erreichbar ist. Über diese Schnittstellen ist sowohl das **Frontend**, als auch weitere Informationen zugänglich, auf welche das Frontend wiederum selbst zugreift.
......
......