Betriebssysteme für Sensornetzwerke

Der Unterscheid zwischen normalen Sensoren und Sensoren in einem Sensornetzwerk ist deren softwareseitige Ausstattung. Die sogenannten Sensorknoten innerhalb eines Sensornetzwerkes verfügen meist über diverse Software, welche sich um die Verwaltung kümmert. Dazu gehört unteranderem das automatische Einwählen in das Sensornetzwerk und das Bereitstellen der benötigten Treiber.

Natürlich kann man all diese Protokolle und Treiber selbst programmieren bzw. implementiere. Es gibt jedoch bereits eine Vielzahl an Betriebssystemen, welche sich extra auf Sensornetzwerke spezialisiert haben. In diesem Beitrag möchte ich näher auf diese Betriebssystem eingehen und die Anforderungen an eine Sensornetzwerk-Betriebssystem aufzählen. Des Weiteren möchte ich euch drei von diesen Betriebssystemen vorstellen und euch deren Vor- bzw. Nachteil aufzählen. 

Warum ein spezielles Betriebssystem?

Der Vorteil eines Betriebsystems in einem Sensornetzwerk ist vor allem der Bequemlichkeit geschuldet. Ein Betriebsystem liefert alle benötigten Protokolle und Funktionen mit, die für den Betrieb und Verwaltung eines Sensornetzwerkes nötig sind. Der Schwerpunkt liegt darin vor allem in diversen Netzwerkprotokollen.

Protokoll

Funktion

IPv6

IPv6 ist das Protokoll für das Internet in Version 6. Es beschreibt das standardisierte Verfahren für das Übertragen von Daten in paketvermittelnden Rechnernetzen. Mehr Infos.

6loWPAN

6loWPAN steht für "IPv6 over low power wireless personal area network". Es erlaubt den Einsatz von IPv6 in energiesparenden funkbasierten Sensornetzwerken. Der Hauptvorteil liegt vor allem in einer effizienteren Headerkomprimierung um die Übertragung zu optimieren. Mehr Infos.

IEEE 802.15.4

IEEE 802.15.4 beschreibt ein Übertragungsprotokoll für Wireless Personal Area Networks. Das Ziel dieses Protokolls ist eine effiziente und energiesparende Funkübertragung, was es perfekt für den Einsatz in einem Sensornetzwerk macht. Mehr Info.

RPL

RPL ist ein "Routing Protocol for low power and Lossy Networks". Das Protokoll kümmert sich um das automatische Routen innerhalb eines Sensornetzwerkes. Mehr Infos.

UDP

UDP ist ein verbindungsloses Netzwerkprotokoll. Es erlaubt das Senden von Daten in IP-basierten Netzwerken. Mehr Infos.

CoAP

CoAP ist ein Web-Transfer-Protokoll, welches für das Internet of Things entwickelt wurde. Mehr Info.

Neben den oben beschriebenen gibt es natürlich noch andere Protokolle, welche durch ein Betriebssystem abgedeckt werden. Ein weiterer Vorteil ist die Treiberunterstützung von verschiedenen Boards oder Sensoren. So lässt sich mit fertigen Boards und einfachen Sensoren schnell ein Sensornetzwerk aufbauen. Zum Beispiel mit der Nucleo-Reihe von ST Microelectronics. 

Bestseller Nr. 1
NUCLEO-F103RB: Entwicklungskit mit dem STM32F103RB von...
STMicroelectronics - Misc.
15,10 EUR
Bestseller Nr. 2
STMicroelectronics-NUCLEO-Modell...
STMicroelectronics - Misc.
19,23 EUR
Bestseller Nr. 3
- Like STM32 von STTM...
STM32 by ST - Misc.
19,10 EUR
Bestseller Nr. 4
- Like STM32 von STTM nucleo-f767zi...
STM32 by ST - Misc.
36,33 EUR

Letzte Aktualisierung am 18.11.2017 / Affiliate Links / Bilder von der Amazon Product Advertising API

Welches Betriebssystem?

Durch die immer größere Verbreitung von Sensornetzwerken steigt auch die Anzahl an Betriebssystemen für diese. Hier eine kleine Auswahl:

  • Contiki OS
  • Tiny OS
  • Riot OS
  • Mantis OS
  • Nano RK
  • LiteOS
  • Magnet OS
  • ...

Die richtige Entscheidung zu treffen, welches Betriebssystem man verwenden soll, ist also gar nicht so einfach. Um euch diese Entscheidung etwas leichter zu machen und euch auch aufzuzeigen warum ich mich für Riot OS entschieden haben, werde ich näher auf die drei Betriebssystem Contiki OS, Tiny OS und Riot OS eingehen. Dazu werden ich die drei Betriebssystem miteinander Vergleichen und aufzeigen, auf was man bei der Betriebssystemauswahl beachten sollte.

Was gilt es zu beachten?

Bei der Auswahl des Betriebssystems sollte man ein paar Punkte beachten um später beim Aufbau eines Sensornetzwerkes keine Probleme zu bekommen.

Eine der wichtigsten Punkte ist die Aktualität eines Betriebssystems. Es sollte noch so aktuell sein, dass das Betriebssystem noch weiter mit Updates versorgt wird bzw. dass das Betriebssystem noch in den Köpfen der Community ist und nicht schon seit Jahren in der Vergessenheit schlummert. 

Da sind wir auch schon beim zweiten Punkt angelangt. die Community. Eine große und aktive Community erleichtern einem den Einstieg und die Suche nach Lösungen bei auftretenden Fehlern. Bevor man sich also für ein Betriebssystem entscheidet, sollte man sich dazugehörige Community anschauen.

Ein weiterer wichtiger Punkt ist die Hardwareunterstützung. Das Betriebssystem sollte bereits eine Vielzahl an Boards, CPUs und Sensoren unterstützen oder zumindest das implementieren weiterer Hardware zu ermöglichen. 

Neben der Hardwareunterstützung sollte das Betriebssystem die gängigen Netzwerkprotokolle unterstützen, die für den Aufbau eines Sensornetzwerkes erforderlich sind. 

Des Weiteren sollte man bereits einen gewissen Plan haben, wie man sein Netzwerk aufbauen will und was man alles benötigt. Dies sollte dann nämlich vom gewählten Betriebssystem unterstützt werden. Sei es eine Echtzeitunterstützung oder der Einsatz einer bestimmten Programmiersprache. 

Zusätzlich wichtig ist natürlich die Lizenz des Betriebssystems. Man sollte darauf achten, dass das Betriebssystem frei verfügbar ist oder sich entsprechend die benötigte Lizenz dafür besorgen. 

Welche Betriebssysteme gibt es?

Wie oben bereits erwähnt, werde ich auf die drei Betriebssystem TinyOS, Contike OS und Riot OS eingehen.

Riot OS

TINY OS

CONTIKI OS

FREI VERFÜGBAR

COMMUNITY

sehr aktiv

aktiv

aktiv

AKTUALITÄT

wird stetig aktualisiert

veraltet

stark veraltet

ARCHITEKTUR

Modular

Monolithisch

Modular

SPEICHERBEDARF

RAM: 1,5kB; ROM: 5kB

RAM: 400B, ROM: 4kB

RAM: 2kB; ROM: 30kB

HARDWAREUNTERSTÜTZUNG

viele Boards und Sensoren werden unterstützt

diverse Boards und Sensoren

kleine Anzahl an Boards und Sensoren

SOFTWAREUNTERSTÜTZUNG

IEEE 802.15.4, 6loWPAN, IPv6, RPL, UDP, CoAP, CBOR, TCP, ZigBee, IPv4, ICMP, HTTP, uIP(v6), RIME 

IEEE 802.15.4 (TKN15.4), 

6loWPAN, (BLIB), RPL (TinyRPL), CoAP.

IPv6, Tymo, ICMP,  

UDP, TCP, ZigBee 

 6loWPAN (SICSlowPAN), RPL (ContikeRPL), CoAP, IPv4, IPv6, ICMP, UDP, TCP, HTTP, uIP(v6), RIME

PROGRAMMIERSPRACHE

C / C++

nesC

C

ECHTZEITUNTERSTÜTZUNG

ja

nein

partiell


Neben diesen Betriebssystemen gibt es natürlich noch andere: Mantis OS, SenOS, Nano RK, kOS, SOS, MagnetOS und t-Kernel. All diese Betriebssystem sind jedoch meist sehr alt oder nur für bestimmte Hardware bzw. Anwendungsgebiete bestimmt. Ich empfehle euch deswegen zwischen den oben beschriebenen drei Betriebssystem zu entscheiden.

Warum Riot OS?

Auf den ersten Blick scheinen alle drei Betriebssystem gleich auf zu sein. Ich persönlich habe mich jedoch für Riot OS entschieden. Aus dem Grund, dass hier die Programmiersprache C / C++ zum Einsatz kommt und die Hardwareunterstützung relativ groß ist. Des Weiteren ist sind unterstütze Boards sehr gut über Amazon zu bekommen. 

Zusätzlich hat mich die Homepage und Dokumentation von Riot OS überzeugt. Es werden viele Beispielprogramme bereitgestellt. Ein weiterer wichtiger Punkt für mich war die Simulationsmöglichkeit. Riot OS bietet mit dem sogenannten "nativ-Board" eine Umgebung um Programme zu testen ohne reale Hardware zu benötigen. Auch lassen sich so Sensornetzwerke simulieren. Auch die starke Community rund um Riot OS hat meine Entscheidung beeinflusst. 

Ich hoffe ich konnte euch einen Einblick in die Betriebssysteme für Sensornetzwerke geben und euch dabei helfen das passende Betriebssystem für euer Sensornetzwerk auszuwählen. Solltet ihr euch auch für Riot OS entscheiden, würde ich mich freuen, wenn ihr weiter meinen Blog verfolgt.


Du möchtest keinen Beitrag zum Thema Sensornetzwerk verpassen?

Abonniere meine Email-Benachrichtigung und erhalte eine Email, sobald ich einen neuen Beitrag veröffentliche. Du kannst dich selbstverständlich jederzeit wieder austragen.


 

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar
Fotos und Bilder
 
 
 
sonstiges Dateiformat
 
 
 
wpDiscuz