From 00de981d61cec3dfe88f8b8be4716dcfe7380f34 Mon Sep 17 00:00:00 2001 From: Benjamin Braatz Date: Wed, 18 Jan 2023 11:49:04 +0100 Subject: [PATCH] Abschnitt "Graphmodul und ControlPi-Instanz einrichten" --- doc/index.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/doc/index.md b/doc/index.md index c36e11f..a056484 100644 --- a/doc/index.md +++ b/doc/index.md @@ -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 -- 2.34.1