IoT- enheter er bygget på mange forskjellige operativsystemer avhengig av de spesifikke sluttbruksapplikasjonene.
Linux-distribusjoner, som Yocto eller Android Things, er veldig populære blant smarthjemenheter. Windows 10 IoT Core er best egnet for IoT-kantenheter på servernivå (enhver maskinvare som kontrollerer dataflyt ved grensen mellom to nettverk). Og selvfølgelig anbefales Raspbian-operativsystemet for vanlig bruk på Raspberry Pi .
Her vil artikkelen diskutere TinyOS som i vesentlige termer er veldig nyttig for sensornettverk med lav effekt.
Hva er TinyOS?
TinyOS er et åpen kildekode BSD-basert operativsystem som bruker programmeringsspråket nesC til å kontrollere og administrere trådløse sensornettverk (WSN). Sensorenheter (kalt motes) i slike nettverk er preget av lav effekt, begrenset minne og svært kompakt formfaktor.
TinyOS ble først skrevet av Jason Hill ved University of Berkeley i 2000. Det er helt gratis programvare med åpen kildekode.

Tatt i betraktning den ultimate bruken, er TinyOS et populært operativsystem for laveffektsensorer som kontrollerer lys, akselerasjon, temperatur, trykk og akustiske objekter. TinyOS brukes ofte i industri 4.0-applikasjoner.
Hvorfor er TinyOS nyttig for trådløse sensornettverk?
Laveffektsensorer krever effektiv bruk av ressurser på grunn av begrensninger i rekkevidden. TinyOS er i hovedsak bygget på en komponentbasert arkitektur, for å redusere kodestørrelsen til rundt 400 til 500 byte, og en hendelsesbasert design, som eliminerer behovet for et kommandoskall.
Den komponentbaserte arkitekturen bruker nesC, som er et C-programmeringsspråk designet for å koble sammen innebygde systemer. Hver kodebit består av enkle funksjoner plassert i komponenter og komplekse funksjoner som integrerer alle komponentene sammen.
Følgende kodebiteksempel basert på NesC-komponenter viser integrasjonen av forskjellige komponenter som tidtakere, klokker og meldinger.

TinyOS bruker også en hendelsesbasert design, hvis mål er å sette CPU-en i hviletilstand når det ikke er noen ventende oppgaver. En hendelse kan være noe som å utløse en alarm når temperaturen på en termostat øker eller synker over en viss verdi. Så snart hendelsen avsluttes, kan sensormotene gå inn i en "dvale"-tilstand.
Behovet for et design som TinyOS er avgjørende i applikasjoner som smart transport og smarte fabrikker. Fordi det er tusenvis av sensorer, er det viktig å ha et veldig lite minneavtrykk for å redusere strømbehovet.
Hvor brukes TinyOS?
For øyeblikket har TinyOS mer enn 35 000 nedlastinger. Hovedapplikasjonene ligger i alle typer enheter som bruker trådløse sensornettverk.
- Miljøovervåking : Siden hvert TinyOS-system kan bygges inn i en liten sensor, er de nyttige for å overvåke luftforurensning, skogbranner og forebygging av naturkatastrofer.
- Smarte kjøretøy : Smarte kjøretøy er autonome og kan forstås som et nettverk av sensorer. Disse sensorene kommuniserer gjennom lavstrøms trådløse områdenettverk (LPWAN), noe som gjør TinyOS perfekt.
- Smart Cities : TinyOS er en levedyktig løsning for lavstrømssensorkrav for verktøy, strømnett, Internett-infrastruktur og mange andre smartbyapplikasjoner.

- Maskinhelseovervåking : Maskin-til-maskin-applikasjoner (M2M) har flere sensorgrensesnitt. Det er ikke mulig å spesifisere et komplett datamiljø for hver sensor. TinyOS kan utføre sikkerhet, strømstyring og feilsøking av sensorer.
Hvor kan jeg lære om TinyOS?
All nedlastingsinformasjon på TinyOS er tilgjengelig fra den offisielle GitHub-siden (se: https://github.com/tinyos/tinyos-main ). I tillegg til BSD, støtter TinyOS også Mac OS X.
Den største altomfattende informasjonskilden om TinyOS er tilgjengelig på Stanford University-wikien (se: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Denne kilden inneholder informasjon om installasjon av programmet, omfattende instruksjoner og en stor kodeindeks fra mange andre.
TinyOS er ett eksempel på et operativsystem designet for rimelige trådløse sensornettverk med lav effekt. Men det er ikke det eneste alternativet. Andre eksempler på lignende operativsystemer inkluderer Contiki, OpenWSN, FreeRTOS og RIOT.