Naprave IoT so zgrajene na številnih različnih operacijskih sistemih, odvisno od specifičnih aplikacij za končno uporabo.
Distribucije Linuxa, kot sta Yocto ali Android Things, so zelo priljubljene pri napravah pametnega doma. Windows 10 IoT Core je najbolj primeren za robne naprave IoT na ravni strežnika (vsa strojna oprema, ki nadzoruje pretok podatkov na meji med dvema omrežjema). In seveda, operacijski sistem Raspbian priporočamo za redno uporabo na Raspberry Pi .
Tukaj bo članek obravnaval TinyOS, ki je v bistvu zelo uporaben za senzorska omrežja z nizko porabo energije.
Kaj je TinyOS?
TinyOS je odprtokodni operacijski sistem, ki temelji na BSD in uporablja programski jezik nesC za nadzor in upravljanje brezžičnih senzorskih omrežij (WSN). Za senzorske naprave (imenovane mote) v takih omrežjih je značilna nizka poraba energije, omejen pomnilnik in zelo kompaktna oblika.
TinyOS je leta 2000 prvi napisal Jason Hill na Univerzi Berkeley. Je popolnoma brezplačna in odprtokodna programska oprema.

Glede na svojo končno uporabo je TinyOS priljubljen operacijski sistem za senzorje z nizko porabo energije, ki nadzorujejo svetlobo, pospešek, temperaturo, tlak in akustične predmete. TinyOS se pogosto uporablja v aplikacijah industrije 4.0.
Zakaj je TinyOS uporaben za brezžična senzorska omrežja?
Senzorji nizke moči zaradi omejitev v svojem dosegu zahtevajo učinkovito rabo virov. TinyOS je v bistvu zgrajen na arhitekturi, ki temelji na komponentah, za zmanjšanje velikosti kode na približno 400 do 500 bajtov, in na zasnovi, ki temelji na dogodkih, kar odpravlja potrebo po ukazni lupini.
Arhitektura, ki temelji na komponentah, uporablja nesC, ki je programski jezik C, zasnovan za medsebojno povezovanje vgrajenih sistemov. Vsak delček kode je sestavljen iz enostavnih funkcij, nameščenih znotraj komponent, in kompleksnih funkcij, ki združujejo vse komponente skupaj.
Naslednji primer izrezka kode, ki temelji na komponentah NesC, prikazuje integracijo različnih komponent, kot so časovniki, ure in sporočila.

TinyOS uporablja tudi zasnovo, ki temelji na dogodkih, katere cilj je preklop CPE v stanje mirovanja, ko ni čakajočih nalog. Dogodek je lahko nekaj podobnega sprožitvi alarma, ko se temperatura termostata poveča ali zniža nad določeno vrednost. Takoj ko se dogodek konča, lahko senzorji preidejo v stanje "mirovanja".
Potreba po zasnovi, kot je TinyOS, je nujna v aplikacijah, kot so pametni transport in pametne tovarne. Ker obstaja na tisoče senzorjev, je pomembno, da imate zelo majhen pomnilniški odtis, da zmanjšate potrebe po energiji.
Kje se uporablja TinyOS?
Trenutno ima TinyOS več kot 35.000 prenosov. Njegove glavne aplikacije so v vseh vrstah naprav, ki uporabljajo brezžična senzorska omrežja.
- Spremljanje okolja : ker je vsak sistem TinyOS mogoče vgraditi v majhen senzor, so uporabni pri spremljanju onesnaženosti zraka, gozdnih požarov in preprečevanju naravnih nesreč.
- Pametna vozila : Pametna vozila so avtonomna in jih je mogoče razumeti kot mrežo senzorjev. Ti senzorji komunicirajo prek brezžičnih omrežij z nizko porabo energije (LPWAN), zaradi česar je TinyOS popoln.
- Pametna mesta : TinyOS je izvedljiva rešitev za potrebe zaznavanja nizke porabe energije za javne službe, električna omrežja, internetno infrastrukturo in številne druge aplikacije za pametna mesta.

- Nadzor stanja stroja : Aplikacije stroj-stroj (M2M) imajo več senzorskih vmesnikov. Za vsak senzor ni mogoče določiti celotnega računalniškega okolja. TinyOS lahko izvaja varnost, upravljanje porabe energije in odpravljanje napak senzorjev.
Kje izvedeti več o TinyOS?
Vse informacije o prenosu v TinyOS so dostopne na njegovi uradni strani GitHub (glejte: https://github.com/tinyos/tinyos-main ). TinyOS poleg BSD podpira tudi Mac OS X.
Največji vseobsegajoči vir informacij o TinyOS je na voljo na wikiju Univerze Stanford (glejte: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Ta vir vsebuje informacije o namestitvi programa, obsežna navodila in velik indeks kod, ki so ga prispevali številni drugi.
TinyOS je en primer operacijskega sistema, zasnovanega za poceni brezžična senzorska omrežja z nizko porabo energije. Vendar to ni edina možnost. Drugi primeri podobnih operacijskih sistemov vključujejo Contiki, OpenWSN, FreeRTOS in RIOT.