Abschnitt "Graphmodul und ControlPi-Instanz einrichten"
authorBenjamin Braatz <benjamin.braatz@graph-it.com>
Wed, 18 Jan 2023 10:49:04 +0000 (11:49 +0100)
committerBenjamin Braatz <benjamin.braatz@graph-it.com>
Wed, 18 Jan 2023 11:12:57 +0000 (12:12 +0100)
doc/index.md

index c36e11f4015757c0d820c549327f34dbfeaa0656..a0564845815668b6657333000b2b8a01b6050b85 100644 (file)
@@ -25,6 +25,56 @@ kommuniziert.
 ## Einleitung
 
 ## Graphmodul und ControlPi-Instanz einrichten
+Das singuläre Graphmodul `doorpi` mit dem Kürzel `d1` wird mit Hilfe des
+Tasks "Graphmodul anlegen" erzeugt:
+
+![Graphmodul anlegen](tutorials/doorpi/Graphmodul-d1-anlegen.png)
+
+In diesem Graphmodul werden später alle für die DoorPi-Anwendung
+spezifischen Graphstrukturen angelegt.
+
+Dann wird eine coRoot-Instanz für dieses Graphmodul mit Hilfe des Tasks
+"coRoot anlegen" erzeugt:
+
+![coRoot anlegen](tutorials/doorpi/coRoot-doorpi-anlegen.png)
+
+Die Strukturen, die später angepasst werden müssen, sind vor allem die
+Aktionfunktion `comessage_d1` und die Datenfunktion `d1_coconf`.
+
+Die Aktionfunktion `comessage_d1` verarbeitet Nachrichten, die von der
+coRoot-Instanz an den Graphen gesendet werden:
+
+![Aktionfunktion comessage\_d1](tutorials/doorpi/comessage_d1.png)
+
+Die Datenfunktion `d1_coconf` erzeugt die ControlPi-Konfiguration für die
+coRoot-Instanz:
+
+![Datenfunktion d1\_coconf](tutorials/doorpi/d1_coconf.png)
+
+Diese enthält zunächst nur eine Instanz des Plugins `WSServer`, mit der
+sich untergeordnete ControlPi-Instanzen verbinden werden, und eine Instanz
+des Plugins `Graph`, die Nachrichten in den Graphen synchronisiert und
+ein Mal pro Sekunde von einer Instanz des Plugins `Periodic` aufgerufen
+wird.
+
+Diese Konfiguration wird später durch Strukturen erweitert, die aus den
+weiteren Graph-Strukturen im Modul `doorpi` abgeleitet werden.
+
+Im automatisch generierten Tab `ControlPi` des singulären Knotens des
+Graphmoduls sind sowohl die Verknüpfung zur coRoot-Instanz als auch die
+initial gesetzten Attribute zu sehen:
+
+![Tab "ControlPi" des Graphmoduls](tutorials/doorpi/Graphmodul-d1-ControlPi.png)
+
+Die Aktionfunktion `coPushConf` synchronisiert die durch die Datenfunktion
+`d1_coconf` generierte Konfiguration auf die coRoot-ControlPi-Instanz
+selbst.
+Diese wird hierdurch mit dieser geänderten Konfiguration neu gestartet.
+
+Das `WSServer`-Plugin stellt außerdem eine Debug-Oberfläche zur Verfügung:
+
+![Debug-Oberfläche der
+coRoot-Instanz](tutorials/doorpi/coRoot-Debug-Interface.png)
 
 ## Datenmodell erstellen