IoT- apparaten zijn gebouwd op veel verschillende besturingssystemen, afhankelijk van de specifieke eindgebruikstoepassingen.
Linux-distributies, zoals Yocto of Android Things, zijn erg populair bij smarthome-apparaten. Windows 10 IoT Core is het meest geschikt voor IoT-edge-apparaten op serverniveau (alle hardware die de gegevensstroom op de grens tussen twee netwerken regelt). En uiteraard wordt het Raspbian besturingssysteem aanbevolen voor regelmatig gebruik op de Raspberry Pi .
Hier bespreekt het artikel TinyOS, dat in essentie erg handig is voor sensornetwerken met een laag vermogen.
Wat is TinyOS?
TinyOS is een open source, op BSD gebaseerd besturingssysteem dat de nesC-programmeertaal gebruikt om draadloze sensornetwerken (WSN) te besturen en te beheren. Sensorapparaten (motes genoemd) in dergelijke netwerken worden gekenmerkt door een laag vermogen, beperkt geheugen en een zeer compacte vormfactor.
TinyOS werd voor het eerst geschreven door Jason Hill aan de Universiteit van Berkeley in 2000. Het is volledig gratis en open source software.

Gezien het uiteindelijke gebruik ervan is TinyOS een populair besturingssysteem voor sensoren met laag vermogen die licht, versnelling, temperatuur, druk en akoestische objecten besturen. TinyOS wordt vaak gebruikt in industrie 4.0-toepassingen.
Waarom is TinyOS nuttig voor draadloze sensornetwerken?
Sensoren met een laag vermogen vereisen, vanwege de beperkingen in hun bereik, een efficiënt gebruik van hulpbronnen. TinyOS is in wezen gebouwd op een op componenten gebaseerde architectuur, om de codegrootte terug te brengen tot ongeveer 400 tot 500 bytes, en een op gebeurtenissen gebaseerd ontwerp, waardoor de noodzaak van een opdrachtshell wordt geëlimineerd.
De op componenten gebaseerde architectuur maakt gebruik van nesC, een C-programmeertaal die is ontworpen om ingebedde systemen met elkaar te verbinden. Elk codefragment bestaat uit eenvoudige functies die in componenten zijn geplaatst en complexe functies die alle componenten met elkaar integreren.
Het volgende voorbeeld van een codefragment, gebaseerd op NesC-componenten, toont de integratie van verschillende componenten, zoals timers, klokken en berichtenuitwisseling.
![Meer informatie over het besturingssysteem voor TinyOS draadloze sensoren Meer informatie over het besturingssysteem voor TinyOS draadloze sensoren]()
TinyOS maakt ook gebruik van een op gebeurtenissen gebaseerd ontwerp, met als doel de CPU in een rusttoestand te brengen wanneer er geen lopende taken zijn. Een gebeurtenis kan zoiets zijn als het activeren van een alarm wanneer de temperatuur van een thermostaat boven een bepaalde waarde stijgt of daalt. Zodra de gebeurtenis eindigt, kunnen de sensormotieven in een "slaap" -toestand gaan.
De behoefte aan een ontwerp als TinyOS is absoluut noodzakelijk in toepassingen zoals slim transport en slimme fabrieken. Omdat er duizenden sensoren zijn, is het belangrijk om een zeer kleine geheugenvoetafdruk te hebben om de stroombehoefte te verminderen.
Waar wordt TinyOS gebruikt?
Momenteel heeft TinyOS meer dan 35.000 downloads. De belangrijkste toepassingen liggen in alle soorten apparaten die gebruik maken van draadloze sensornetwerken.
- Omgevingsmonitoring : Omdat elk TinyOS-systeem in een kleine sensor kan worden ingebed, zijn ze nuttig bij het monitoren van luchtvervuiling, bosbranden en het voorkomen van natuurrampen.
- Slimme voertuigen : Slimme voertuigen zijn autonoom en kunnen worden opgevat als een netwerk van sensoren. Deze sensoren communiceren via draadloze netwerken (LPWAN) met laag vermogen, waardoor TinyOS perfect is.
- Smart Cities : TinyOS is een haalbare oplossing voor detectievereisten met laag vermogen voor nutsvoorzieningen, elektriciteitsnetwerken, internetinfrastructuur en vele andere slimme stadstoepassingen.
![Meer informatie over het besturingssysteem voor TinyOS draadloze sensoren Meer informatie over het besturingssysteem voor TinyOS draadloze sensoren]()
- Toezicht op machinestatus : Machine-to-machine (M2M)-applicaties hebben meerdere sensorinterfaces. Het is niet mogelijk om voor elke sensor een volledige computeromgeving te specificeren. TinyOS kan beveiliging, energiebeheer en foutopsporing van sensoren uitvoeren.
Waar kun je meer leren over TinyOS?
Alle downloadinformatie over TinyOS is toegankelijk via de officiële GitHub-pagina (zie: https://github.com/tinyos/tinyos-main ). Naast BSD ondersteunt TinyOS ook Mac OS X.
De grootste allesomvattende bron van informatie over TinyOS is beschikbaar op de wiki van Stanford University (zie: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Deze bron bevat informatie over het installeren van het programma, uitgebreide instructies en een grote code-index die door vele anderen is bijgedragen.
TinyOS is een voorbeeld van een besturingssysteem dat is ontworpen voor goedkope, energiezuinige draadloze sensornetwerken. Maar het is niet de enige optie. Andere voorbeelden van vergelijkbare besturingssystemen zijn Contiki, OpenWSN, FreeRTOS en RIOT.