Abhängig von den spezifischen Endanwendungen basieren IoT- Geräte auf vielen verschiedenen Betriebssystemen.
Linux-Distributionen wie Yocto oder Android Things erfreuen sich bei Smart-Home-Geräten großer Beliebtheit. Windows 10 IoT Core eignet sich am besten für IoT-Edge-Geräte auf Serverebene (jede Hardware, die den Datenfluss an der Grenze zwischen zwei Netzwerken steuert). Und natürlich empfiehlt sich für den regelmäßigen Einsatz auf dem Raspberry Pi das Betriebssystem Raspbian .
In diesem Artikel geht es um TinyOS, das im Wesentlichen für Sensornetzwerke mit geringem Stromverbrauch sehr nützlich ist.
Was ist TinyOS?
TinyOS ist ein Open-Source-BSD-basiertes Betriebssystem, das die Programmiersprache nesC zur Steuerung und Verwaltung drahtloser Sensornetzwerke (WSN) verwendet. Sensorgeräte (Motes genannt) in solchen Netzwerken zeichnen sich durch geringen Stromverbrauch, begrenzten Speicher und einen sehr kompakten Formfaktor aus.
TinyOS wurde erstmals im Jahr 2000 von Jason Hill an der Universität Berkeley geschrieben. Es ist völlig kostenlose Open-Source-Software.

In Anbetracht seiner ultimativen Verwendung ist TinyOS ein beliebtes Betriebssystem für Sensoren mit geringem Stromverbrauch, die Licht, Beschleunigung, Temperatur, Druck und akustische Objekte steuern. TinyOS wird häufig in Industrie-4.0-Anwendungen eingesetzt.
Warum ist TinyOS für drahtlose Sensornetzwerke nützlich?
Sensoren mit geringem Stromverbrauch erfordern aufgrund ihrer begrenzten Reichweite eine effiziente Ressourcennutzung. TinyOS basiert im Wesentlichen auf einer komponentenbasierten Architektur, um die Codegröße auf etwa 400 bis 500 Bytes zu reduzieren, und einem ereignisbasierten Design, sodass keine Befehlsshell erforderlich ist.
Die komponentenbasierte Architektur verwendet nesC, eine C-Programmiersprache zur Verbindung eingebetteter Systeme. Jedes Code-Snippet besteht aus einfachen Funktionen, die in Komponenten platziert sind, und komplexen Funktionen, die alle Komponenten miteinander integrieren.
Das folgende Code-Snippet-Beispiel basierend auf NesC-Komponenten zeigt die Integration verschiedener Komponenten wie Timer, Uhren und Messaging.

TinyOS verwendet außerdem ein ereignisbasiertes Design, dessen Ziel darin besteht, die CPU in einen Ruhezustand zu versetzen, wenn keine Aufgaben anstehen. Ein Ereignis könnte etwa das Auslösen eines Alarms sein, wenn die Temperatur eines Thermostats über einen bestimmten Wert steigt oder fällt. Sobald das Ereignis beendet ist, können die Sensormotes in einen „Schlaf“-Zustand wechseln.
Der Bedarf an einem Design wie TinyOS ist für Anwendungen wie intelligente Transportmittel und intelligente Fabriken zwingend erforderlich. Da es Tausende von Sensoren gibt, ist es wichtig, den Speicherbedarf sehr gering zu halten, um den Strombedarf zu senken.
Wo wird TinyOS eingesetzt?
Derzeit hat TinyOS mehr als 35.000 Downloads. Seine Hauptanwendungen liegen in allen Arten von Geräten, die drahtlose Sensornetzwerke nutzen.
- Umweltüberwachung : Da jedes TinyOS-System in einen kleinen Sensor eingebettet werden kann, sind sie nützlich bei der Überwachung von Luftverschmutzung, Waldbränden und der Verhinderung von Naturkatastrophen.
- Intelligente Fahrzeuge : Intelligente Fahrzeuge sind autonom und können als Netzwerk von Sensoren verstanden werden. Diese Sensoren kommunizieren über Low-Power-Wireless-Area-Networks (LPWAN), was TinyOS perfekt macht.
- Smart Cities : TinyOS ist eine praktikable Lösung für energiesparende Sensoranforderungen für Versorgungsunternehmen, Stromnetze, Internet-Infrastruktur und viele andere Smart-City-Anwendungen.

- Überwachung des Maschinenzustands : Machine-to-Machine-Anwendungen (M2M) verfügen über mehrere Sensorschnittstellen. Es ist nicht möglich, für jeden Sensor eine vollständige Rechenumgebung anzugeben. TinyOS kann Sicherheit, Energieverwaltung und Debugging von Sensoren durchführen.
Wo kann man mehr über TinyOS erfahren?
Alle Download-Informationen zu TinyOS sind auf der offiziellen GitHub-Seite verfügbar (siehe: https://github.com/tinyos/tinyos-main ). Neben BSD unterstützt TinyOS auch Mac OS X.
Die größte umfassende Informationsquelle zu TinyOS ist im Wiki der Stanford University verfügbar (siehe: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Diese Quelle enthält Informationen zur Installation des Programms, ausführliche Anweisungen und einen großen Codeindex, der von vielen anderen beigesteuert wurde.
TinyOS ist ein Beispiel für ein Betriebssystem, das für kostengünstige drahtlose Sensornetzwerke mit geringem Stromverbrauch entwickelt wurde. Aber es ist nicht die einzige Option. Weitere Beispiele für ähnliche Betriebssysteme sind Contiki, OpenWSN, FreeRTOS und RIOT.