From 41aff62a64144d91e0002bf9fd607f202b02a352 Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 16 Mar 2026 20:46:18 +0100 Subject: [PATCH] NodeOperatingSystem aktualisiert --- NodeOperatingSystem.md | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/NodeOperatingSystem.md b/NodeOperatingSystem.md index 3e9659a..8d443ca 100644 --- a/NodeOperatingSystem.md +++ b/NodeOperatingSystem.md @@ -1,11 +1,11 @@ # Betriebssystem der Mikrocontroller Der Anwender ist frei in der Wahl des Betriebssystem für die Jede Mikrocontroller-Platine, solange einige Grundregeln eingehalten werden: -- muß als erstes eine im Netz eindeutige UID (64 Bit) generieren -- muß das oben skizzierte einfache Nachrichten-Protokoll implementieren und sich eine Adresse zwischen 1-251 zuweisen -- muß von Zeit zu Zeit ein Discovery-Paket senden, mit dem es sich bemerkbar macht -- kann in beliebigen Abständen Pakete mit gemessenen Sensordaten versenden (dafür gibt es spezielle Nachrichten) -- kann auf eingehende Pakete reagieren (z.B. reagiert bei mir ein LED-Strip-Controller-Node auf Nachrichten eines Bewegunsmelder-Nodes) +- **muß** als erstes eine im Netz eindeutige UID (64 Bit) generieren +- **muß** das oben skizzierte einfache Nachrichten-Protokoll implementieren und sich eine Adresse zwischen 1-251 zuweisen +- **muß** von Zeit zu Zeit ein Discovery-Paket senden, mit dem es sich bemerkbar macht +- _kann_ in beliebigen Abständen Pakete mit gemessenen Sensordaten versenden (dafür gibt es spezielle Nachrichten) +- _kann_ auf eingehende Pakete reagieren (z.B. reagiert bei mir ein LED-Strip-Controller-Node auf Nachrichten eines Bewegunsmelder-Nodes) AqHome liefert für meine eigenen Nodes ein einfaches Betriebssystem mit, das diese Aufgaben alle erfüllt und leicht erweiterbar ist. Dabei benötigt es nur vergleichsweise wenig FLASH und selbst kaum RAM. @@ -15,11 +15,17 @@ Module sind lowlevel-Code und in erster Linie Treiber für Hardware-Geräte (z.B Anwendungen hingegen liegen auf höherer Ebene und verwenden z.B. die Module. Beispielsweise gibt es Anwendungen für den Netzwerk-Stack, für Bewegungsmelder-aktiviertes Licht, zum Berichten von Statistiken und von Sensordaten. Zur Kommunikation mit Modulen und Anwendungen kennt das Betriebssystem verschiedene Funktionen: -- INIT: Initialisiert eine Modul oder eine Anwendung -- RUN: Wird einmal pro MainLoop aufgerufen -- EVERY100MS: wird einmal alle 100ms aufgerufen (system timer tick) -- EVERY1S: wird einmal pro Sekunde aufgerufen -- EVERY1M: wird einmal pro Minute aufgerufen -- EVERY1D: wird einmal pro Tag aufgerufen + +| Funktion | Beschreibung | +| --- | --- | +| INIT | Initialisiert eine Modul oder eine Anwendung |erforderlich| +| RUN | Wird einmal pro MainLoop aufgerufen | optional | +| EVERY100MS | wird einmal alle 100ms aufgerufen (system timer tick) | optional | +| EVERY1S | wird einmal pro Sekunde aufgerufen | optional | +| EVERY1M | wird einmal pro Minute aufgerufen | optional | +| EVERY1H| wird einmal pro Stunde aufgerufen | optional | +| EVERY1D | wird einmal pro Tag aufgerufen | optional | + +