NodeOperatingSystem aktualisiert

2026-03-16 20:46:18 +01:00
parent 2248ba7141
commit 41aff62a64

@@ -1,11 +1,11 @@
# Betriebssystem der Mikrocontroller # Betriebssystem der Mikrocontroller
Der Anwender ist frei in der Wahl des Betriebssystem für die Jede Mikrocontroller-Platine, solange einige Grundregeln eingehalten werden: 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ß** 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ß** 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 - **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_ 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) - _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. 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. 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: Zur Kommunikation mit Modulen und Anwendungen kennt das Betriebssystem verschiedene Funktionen:
- INIT: Initialisiert eine Modul oder eine Anwendung
- RUN: Wird einmal pro MainLoop aufgerufen | Funktion | Beschreibung |
- EVERY100MS: wird einmal alle 100ms aufgerufen (system timer tick) | --- | --- |
- EVERY1S: wird einmal pro Sekunde aufgerufen | INIT | Initialisiert eine Modul oder eine Anwendung |erforderlich|
- EVERY1M: wird einmal pro Minute aufgerufen | RUN | Wird einmal pro MainLoop aufgerufen | optional |
- EVERY1D: wird einmal pro Tag aufgerufen | 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 |