diff --git a/docu/docs/changelog.md b/docu/docs/changelog.md index e8b26f6..6abd741 100644 --- a/docu/docs/changelog.md +++ b/docu/docs/changelog.md @@ -1,5 +1,4 @@ #
Changelog
- --- ## Version [2.9.0] - date diff --git a/docu/docs/config.md b/docu/docs/config.md index 7ab60d5..d15cb35 100644 --- a/docu/docs/config.md +++ b/docu/docs/config.md @@ -4,9 +4,9 @@ Die Konfiguration von BOSWatch 3 ist im YAML Format abgelegt und wird nachfolgen Immer wenn für eine Einstellung ein **Default** Wert angegeben ist, muss diese Einstellung nicht zwingend in die Konfiguration eingetragen werden. ---- ## Client +--- ### `client:` |Feld|Beschreibung|Default| |----|------------|-------| @@ -30,6 +30,7 @@ server: ip: 10.10.10.2 port: 9123 ``` + --- ### `inputSource:` Aktuell gibt es nur `sdr:` als Input Quelle diff --git a/docu/docs/develop/ModulPlugin.md b/docu/docs/develop/ModulPlugin.md index 614e8d9..1b6b58e 100644 --- a/docu/docs/develop/ModulPlugin.md +++ b/docu/docs/develop/ModulPlugin.md @@ -1,9 +1,10 @@ #
Eigenes Modul/Plugin schreiben
+ Um ein eigenes Modul oder Plugin zu schreiben, sollte man sich am besten zuerst einmal das das `template` im entsprechenden Ordner ansehen. Dies kann als Vorlage für das eigene Modul oder Plugin genutzt werden. --- -## Informationen anpassen -- Dateikopf anpassen +## Allgemeine Informationen +Im ersten Schritt sollte eine Kopie des jeweiligen Templates (Modul oder Plugin) erstellt werden. Nun sollten im Dateikopf die Angaben angepasst werden. --- ## Benötigte Methoden überschreiben @@ -14,7 +15,6 @@ Die Modul Basisklasse bietet einige Methoden, welche vom Modul überschrieben we - `doWork(bwPacket)` wird bei der Ausführung aufgerufen - `onUnload()` wird beim Zerstören der Plugin Modul zum Programmende ausgeführt ---- ### Plugin Die Plugin Basisklasse bietet einige Methoden, welche vom Plugin überschrieben werden können. @@ -70,11 +70,15 @@ Sollten weitere Unterelemente oder eine Liste exisitieren wird erneut ein Objekt --- ## Arbeiten mit dem bwPacket -An das Modul bzw. Plugin wird eine Instanz eines BOSWatch-Packet Objekts übergeben. +An das Modul bzw. Plugin wird eine Instanz eines BOSWatch-Paket Objekts übergeben. Aus dieser kann mittels `bwPacket.get(FIELDNAME)` das entsprechende Feld ausgelesen werden. Mittels `bwPacket.set(FIELDNAME, VALUE)` kann ein Wert hinzugefügt oder modifiziert werden. -Eine Auflistung der bereitgestellten Informationen findet sich im entsprechenden [BOSWatch Paket](packet.md) Dokumentation. -Selbst vom Modul hinzugefügte Informationen müssen dokumentiert werden. +Eine Auflistung der bereitgestellten Informationen findet sich im entsprechenden [BOSWatch Paket](packet.md) Dokumentation. + +Bitte beachten: + +- Selbst vom Modul hinzugefügte Felder **müssen** in der Modul Dokumentation unter `Paket Modifikation` aufgeführt werden. +- Sollte ein Modul oder Plugin Felder benutzen, welche in einem anderen Modul erstellt werden, **muss** dies im Punkt `Abhänigkeiten` des jeweiligen Moduls oder Plugins zu dokumentieren. ### Zu beachten bei Module Module können Pakete beliebig verändern. Diese Änderungen werden im Router entsprechend weitergeleitet. @@ -90,6 +94,10 @@ Plugins geben keine Pakete mehr zurück. Sie fungieren ausschließlich als Endpu Die Plugin Basisklasse liefert intern immer ein `None` an den Router zurück, was zur weiteren Ausführung des Routers mit dem original Paket führt. Daher macht es in Plugins keinen Sinn ein Paket zu modifizieren. +--- +## Richtiges Logging + tbd ... + --- ## Wildcards parsen (Plugin only) Das parsen der Wildcars funktioniert komfortabel über die interne Methode `self.parseWildcards(MSG)`. diff --git a/docu/docs/img/broadcast.drawio b/docu/docs/img/broadcast.drawio new file mode 100644 index 0000000..3976119 --- /dev/null +++ b/docu/docs/img/broadcast.drawio @@ -0,0 +1 @@ +7Vpbb9owFP41PK6K49x4bGm3adrWakzaeJpMYsBdEiNjCuzXzybO1VBCExo2WlVqfGyf2N93bnbTg4No/YGh+ewLDXDYM41g3YO3PdMEwLPFHynZJBIHOolgykigBuWCIfmDldBQ0iUJ8KI0kFMacjIvC30ax9jnJRlijK7KwyY0LL91jqZYEwx9FOrSHyTgs0TqmW4u/4jJdJa+GTj9pCdC6WC1k8UMBXRVEMG7HhwwSnnyFK0HOJTgpbgk897v6c0WxnDM60zof3K/umN0jwfcur8fGeNvv27eKS1PKFyqDavF8k2KAKPLOMBSidGDN6sZ4Xg4R77sXQnOhWzGo1C0gHickDAc0JCy7Vw48Xzs+0K+4Iz+xoWesWdbtlSoFoAZx+u9OwMZXsLQMI0wZxsxRE2wHQWxsjFLbWKVEwYsNWRWIMtMhUgZyTRTneMoHhSUR8BqnhbWAGFvshNWx/fweNIOrMA8N1gdDdYhZmKPGrhi07yMYBmpmMa4AqsSoZBMY9H0BUhCMbyREBIRD65VR0SCQL5mJ2VlUpN3pmFjyyONuYpxEvmkrZYNWqCs6gm2VZOyUzHmaYwNiNzLG2G7faxzwqChcYMDkRFVkzI+o1Mao/Aul1ZQfFxG8xQz0cynfKZ0rnB9xJxv1CC05LTMPV4T/lNqu7JVa1TouV2rF20bm7QRi+0XJsnmqNiXT9u2NrU5TwCRKDxPsgCNLpmPn0u3KoJxxKaYPzewv9tsGA4RJ0/llbRuBEAPtAz7T9uqZkr8M/Xe3by1Gk+B7XTtn0BD/80/2/PP9Ihx0D+dTv1TL9sXYsl8Ob9g1zSMjl0TWDorOA4uL2pWixpgu11T099Hjbw3kNcTiKPLIajqO4KxegS5J0tr+gH59dPa4VRTSGLmUVmsfo46mHogbJh61NQHSuRBLHPavnEFCz+WVzIRCCvUJ+tUSorXTrresq25/bKiJClrirZmlG2vwVWMsa+WvUjXr8bm7l3f1IsZPRbEwbW8zJW4hmixIP7RnqtK1rRIHZXK190la5uFpdGwsCzQY+9gJ5U1DQIV64B2hfU9zqorciuKjHrhozWvr3ED255RGUcYVZZCQCl/5IeixhnkoDGadk1jLPyf4s0YGxijdwbFzX97Zjdh3dBqNSycmqU5qEWkizuzawfD7s/senU4ZhQFPlqc6z8pTsALtM7twG7qdylnUhTmMbGz/J1eNB2OeJ3mb7N6Q+e4L8vf2lWf41wBr5//Oq+bzm3NNgPC5McnpvF98NDLPkYhNL7cGGLCzmOI+5ox5B87A6Q3oofPAHaXMUS7qbSsl8WQajDSFJ04aEC9/PNRnMcK8SSjhRFTFiGpbYU2lxM8ALBL7GTBpGBl2amtYfAQzfyju4Te/NNFePcX \ No newline at end of file diff --git a/docu/docs/img/broadcast.png b/docu/docs/img/broadcast.png new file mode 100644 index 0000000..4d93707 Binary files /dev/null and b/docu/docs/img/broadcast.png differ diff --git a/docu/docs/index.md b/docu/docs/index.md index d757638..f62eb8c 100644 --- a/docu/docs/index.md +++ b/docu/docs/index.md @@ -1,4 +1,5 @@ #
BOSWatch 3
+---
![BOSWatch](img/bw3.png "BOSWatch 3 Logo")
diff --git a/docu/docs/information/broadcast.md b/docu/docs/information/broadcast.md index 9653eec..1491410 100644 --- a/docu/docs/information/broadcast.md +++ b/docu/docs/information/broadcast.md @@ -2,26 +2,30 @@ Durch den Broadcast Service haben CLients die Möglichkeit, automatisch den Server zu finden und sich mit diesem zu verbinden. Dazu stellt der Server die benötigten Verbinungsinformationen per Broadcast Service bereit. -*Server und Client müssen sich natürlich im selben Subnetz befinden.* +**Hinweis:** *Server und Client müssen sich im selben Subnetz befinden.* --- +## Aufbau Der Broadcast Service besteht aus 2 Teilen - einem Server und einem Clienten. -Nachfolgend soll der Ablauf einer Verbunding des Clienen zum Server mittels des Broadcast Serives erklärt werden. +Nachfolgend soll der Ablauf einer Verbunding des Clienen zum Server mittels des Broadcast Services erklärt werden. -## Schritt 1 - Broadcast Server starten +
![](../img/broadcast.png)
+ +--- +## Ablauf + +### Schritt 1 - Broadcast Server starten Im ersten Schritt wird auf dem Server ein zusätzlicher Broadcast Server in einem seperaten Thread gestartet. Dieser lauscht auf einem festgelegten Port auf UDP Broadcast Pakete. Nun kann eine beliebige Anzahl von Clienten mittels des Broadcast Services die Verbinundgdaten des Server abfragen. -## Schritt 2 - Broadcast durch Clienten -Die CLient Applikation startet nun zur Abfrage der Verbindungsdaten einen BC Clienten und sendet dort auf dem festgelegten Port ein Paket per UDP Boradcast. Der Inhalt des Paketes ist das Magic-Word `` und wird von allen im selben Subnetz vohandenen Gegenstellen empfangen. Nun wird auf eine Antwort des Broadcast Server mit den Verbindungsdaten gewartet. +### Schritt 2 - Broadcast durch Clienten +Die Client Applikation startet nun zur Abfrage der Verbindungsdaten einen BC Clienten und sendet dort auf dem festgelegten Port ein Paket per UDP Boradcast. Der Inhalt des Paketes ist das Magic-Word `` und wird von allen im selben Subnetz vohandenen Gegenstellen empfangen. Nun wird auf eine Antwort des Broadcast Server mit den Verbindungsdaten gewartet. -## Schritt 3 - Verbindungsdaten senden +### Schritt 3 - Verbindungsdaten senden Wird nun ein Broadcast Paket empfangen, prüft der BC Server die Daten auf das Magic-Word ``. Wird dieses erkannt, liest der Server die Absender-IP-Addresse aus dem Paket aus und sendet eine Antwort direkt an diesen Clienten. Dieses Antwortpaket sieht folgendermaßen aus: `;8080` wobei die `8080` hier den normalen TCP Kommunikationsport des Server darstellt. -## Schritt 4 - Verbindungsdaten empfangen +### Schritt 4 - Verbindungsdaten empfangen Nachdem der Client das direkt an ihn gerichtete Paket mit den Verbindungsdaten vom Server empfangen hat, prüft er auf das Magic-Word ``. Ist dieses enthalten wird der Port für die TCP Verbundindung aus dem Paket extrahiert. Außerdem wird die IP-Addresse des Absenders aus dem Paket gelesen. Anschließend stehen dem Clienten die Verbindungsdaten des Servers zur Verfügung und er kann sich per TCP über den angegebenen Port mit dem BOSWatch Server verbindden um seine Alarmierungs-Pakete zu versenden. ---- - Da der Broadcast Server in einem eigenen Thread, unabhängig vom Hauptprogram läuft, können ganz einfach weitere Clienten per Broadcast Service die Verbindungsdaten des Servers abrufen. diff --git a/docu/docs/modul/mode_filter.md b/docu/docs/modul/mode_filter.md index 037199b..5f167f7 100644 --- a/docu/docs/modul/mode_filter.md +++ b/docu/docs/modul/mode_filter.md @@ -1,9 +1,9 @@ #
Mode Filter
+--- ## Beschreibung Mit diesem Modul ist es Möglich, die Pakete auf bestimmte Modes (FMS, POCSAG, ZVEI) zu Filtern. Je nach Konfiguration werden Pakete eines bestimmten Modes im aktuellen Router weitergeleitet oder verworfen. ---- ## Resource `filter.modeFilter` @@ -21,4 +21,14 @@ Mit diesem Modul ist es Möglich, die Pakete auf bestimmte Modes (FMS, POCSAG, Z allowed: - fms - pocsag -``` \ No newline at end of file +``` + +--- +## Abhängigkeiten + +- keine + +--- +## Paket Modifikationen + +- keine diff --git a/docu/docs/tbd.md b/docu/docs/tbd.md index 61a8220..ab157ce 100644 --- a/docu/docs/tbd.md +++ b/docu/docs/tbd.md @@ -1,5 +1,4 @@ #
To be done ...
- --- Hier existiert noch kein Inhalt, gerne kannst du uns aber Helfen die Dokumentation zu vervollständigen. diff --git a/docu/mkdocs.yml b/docu/mkdocs.yml index dae0bc7..4c4fa4d 100644 --- a/docu/mkdocs.yml +++ b/docu/mkdocs.yml @@ -7,10 +7,10 @@ edit_uri: edit/develop/docu/docs/ nav: # - BW3: index.md - Quick Start: -# - Installation: tbd.md + - Installation: tbd.md - Konfiguration: config.md -# - BOSWatch nutzen: tbd.md -# - BOSWatch als Service: tbd.md +# - BOSWatch benutzen: tbd.md +# - Als Service einrichten: tbd.md - Informationen: # - Server/Cient Prinzip: tbd.md - Broadcast Service: information/broadcast.md