Update 04. Prototyp – Vorgehen & Implementierung authored by Philipp Straub's avatar Philipp Straub
...@@ -54,13 +54,13 @@ Dies ist sowohl für **Main und Secondary Device** zu tätigen. Hierfür ist zu ...@@ -54,13 +54,13 @@ Dies ist sowohl für **Main und Secondary Device** zu tätigen. Hierfür ist zu
Sobald Node-RED einsatzbereit ist, kann die Web-App standardmäßig über den Port ```1880``` erreicht werden. Hat das Interface geladen, können über das Burger-Symbol Flows importiert werden. An dieser Stelle ist die JSON-File aus diesem Repository einzufügen. Anschließend erscheinen zwei neue Flows: _„IoT Hackathon Publisher“_ (unrelevant bei Secondary Device, kann entfernt werden) und _„IoT Hackathon Subscriber“_ in der Umgebung. Wie in den Absätzen zuvor beschrieben, vereinen die jeweiligen Flows Backend und Frontend der Anwendung. Um die Lösung einsatzfähig zu machen, ist an Nodes in beiden Flows mit einem _„!“_ eine Anpassung der IP-Adresse (```10.0.100.132```) auf die eigene/auf das Main Device vorzunehmen (Abhängig davon, ob es sich um eine MQTT-Node handelt). Gleiches gilt, wenn die Node-RED Umgebung nicht unter dem Port ```1880``` betrieben wird. Sind alle Änderungen vorgenommen, kann in der rechten, oberen Ecke die Lösung deployed werden und ist einsatzbereit. Sobald Node-RED einsatzbereit ist, kann die Web-App standardmäßig über den Port ```1880``` erreicht werden. Hat das Interface geladen, können über das Burger-Symbol Flows importiert werden. An dieser Stelle ist die JSON-File aus diesem Repository einzufügen. Anschließend erscheinen zwei neue Flows: _„IoT Hackathon Publisher“_ (unrelevant bei Secondary Device, kann entfernt werden) und _„IoT Hackathon Subscriber“_ in der Umgebung. Wie in den Absätzen zuvor beschrieben, vereinen die jeweiligen Flows Backend und Frontend der Anwendung. Um die Lösung einsatzfähig zu machen, ist an Nodes in beiden Flows mit einem _„!“_ eine Anpassung der IP-Adresse (```10.0.100.132```) auf die eigene/auf das Main Device vorzunehmen (Abhängig davon, ob es sich um eine MQTT-Node handelt). Gleiches gilt, wenn die Node-RED Umgebung nicht unter dem Port ```1880``` betrieben wird. Sind alle Änderungen vorgenommen, kann in der rechten, oberen Ecke die Lösung deployed werden und ist einsatzbereit.
Wurde ein **Secondary Device** erstellt, sind folgende Adressen über den Browser zu erreichen:```{IP-Adresse:Port}``` Wurde ein **Secondary Device** erstellt, sind folgende Adressen über den Browser zu erreichen:```{IP-Adresse:Port}```
- ```/reactor``` [HTTP GET] - ```/reactor``` [HTTP GET], sucht nach neuen Interactoren, routet bei Erfolg auf ```/reactor/umleitung?uuid={Interactor UUID}```
- ```/reactor/files/script.js``` [HTTP GET]
- ```/reactor/files/stylesheet.css``` [HTTP GET]
- ```/reactor/topic``` [HTTP GET] - ```/reactor/topic``` [HTTP GET]
- ```/reactor/name``` [HTTP GET] - ```/reactor/name``` [HTTP GET]
- ```/reactor/umleitung?uuid={Interactor UUID}``` [HTTP GET] - ```/reactor/umleitung?uuid={Interactor UUID}``` [HTTP GET]
- ```/reactor/reaction?uuid={Interactor UUID}``` [HTTP GET] - ```/reactor/reaction?uuid={Interactor UUID}``` [HTTP GET]
- ```/reactor/files/script.js``` [HTTP GET], liefert Javascript für ```/reactor/umleitung?uuid={Interactor UUID}```, ```Content-Type: application/javascript```
- ```/reactor/files/stylesheet.css``` [HTTP GET], liefert CSS für ```/reactor/umleitung?uuid={Interactor UUID}```, ```Content-Type: text/css```
Wurde ein **Main Device** erstellt, sind **zusätzlich** weitere Adressen verfügbar:```{IP-Adresse:Port}``` Wurde ein **Main Device** erstellt, sind **zusätzlich** weitere Adressen verfügbar:```{IP-Adresse:Port}```
- ```/interactor``` [HTTP GET] - ```/interactor``` [HTTP GET]
... ...
......