IoT uređaji izgrađeni su na mnogo različitih operativnih sustava ovisno o specifičnim aplikacijama za krajnju upotrebu.
Distribucije Linuxa, kao što su Yocto ili Android Things, vrlo su popularne kod pametnih kućnih uređaja. Windows 10 IoT Core najprikladniji je za rubne IoT uređaje na razini poslužitelja (bilo koji hardver koji kontrolira protok podataka na granici između dviju mreža). I naravno, operativni sustav Raspbian preporučuje se za redovitu upotrebu na Raspberry Pi .
Ovdje će se u članku raspravljati o TinyOS-u koji je, u bitnom smislu, vrlo koristan za senzorske mreže male snage.
Što je TinyOS?
TinyOS je operativni sustav otvorenog koda baziran na BSD-u koji koristi programski jezik nesC za kontrolu i upravljanje bežičnim senzorskim mrežama (WSN). Senzorske uređaje (zvane motes) u takvim mrežama karakterizira mala snaga, ograničena memorija i vrlo kompaktan oblik.
TinyOS je prvi put napisao Jason Hill sa Sveučilišta Berkeley 2000. To je potpuno besplatan softver otvorenog koda.

S obzirom na njegovu krajnju upotrebu, TinyOS je popularan operativni sustav za senzore male snage koji kontroliraju svjetlo, ubrzanje, temperaturu, tlak i akustične objekte. TinyOS se često koristi u aplikacijama industrije 4.0.
Zašto je TinyOS koristan za bežične senzorske mreže?
Senzori male snage, zbog ograničenja u svom dometu, zahtijevaju učinkovito korištenje resursa. TinyOS je u osnovi izgrađen na arhitekturi koja se temelji na komponentama, kako bi se smanjila veličina koda na oko 400 do 500 bajtova, i dizajnu koji se temelji na događajima, čime se eliminira potreba za naredbenom ljuskom.
Arhitektura temeljena na komponentama koristi nesC, koji je programski jezik C dizajniran za međusobno povezivanje ugrađenih sustava. Svaki isječak koda sastoji se od jednostavnih funkcija smještenih unutar komponenti i složenih funkcija koje integriraju sve komponente zajedno.
Sljedeći primjer isječka koda temeljen na NesC komponentama prikazuje integraciju različitih komponenti kao što su mjerači vremena, satovi i slanje poruka.

TinyOS također koristi dizajn temeljen na događajima, čiji je cilj staviti CPU u stanje mirovanja kada nema zadataka na čekanju. Događaj može biti nešto poput aktiviranja alarma kada temperatura termostata poraste ili padne iznad određene vrijednosti. Čim događaj završi, senzorske mrlje mogu prijeći u stanje "spavanja".
Potreba za dizajnom kao što je TinyOS je imperativ u aplikacijama kao što su pametni transport i pametne tvornice. Budući da postoje tisuće senzora, važno je imati vrlo mali memorijski otisak kako bi se smanjili zahtjevi za napajanjem.
Gdje se koristi TinyOS?
Trenutno TinyOS ima više od 35.000 preuzimanja. Njegove glavne primjene leže u svim vrstama uređaja koji koriste bežične senzorske mreže.
- Praćenje okoliša : Budući da se svaki TinyOS sustav može ugraditi u mali senzor, korisni su u praćenju onečišćenja zraka, šumskih požara i prevenciji prirodnih katastrofa.
- Pametna vozila : Pametna vozila su autonomna i mogu se shvatiti kao mreža senzora. Ovi senzori komuniciraju putem bežičnih mreža male snage (LPWAN) čineći TinyOS savršenim.
- Pametni gradovi : TinyOS je održivo rješenje za potrebe senzora niske potrošnje energije za komunalije, električne mreže, internetsku infrastrukturu i mnoge druge pametne gradske aplikacije.

- Praćenje stanja stroja : Aplikacije stroj-stroj (M2M) imaju višestruka senzorska sučelja. Nije moguće odrediti kompletno računalno okruženje za svaki senzor. TinyOS može izvršiti sigurnost, upravljanje napajanjem i otklanjanje pogrešaka senzora.
Gdje naučiti o TinyOS-u?
Sve informacije o preuzimanju na TinyOS-u dostupne su s njegove službene GitHub stranice (vidi: https://github.com/tinyos/tinyos-main ). Osim BSD-a, TinyOS također podržava Mac OS X.
Najveći sveobuhvatni izvor informacija o TinyOS-u dostupan je na wikiju Sveučilišta Stanford (vidi: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). Ovaj izvor sadrži informacije o instaliranju programa, opširne upute i veliki indeks koda koji su pridonijeli mnogi drugi.
TinyOS je jedan primjer operativnog sustava dizajniranog za jeftine bežične senzorske mreže male snage. Ali to nije jedina opcija. Drugi primjeri sličnih operativnih sustava uključuju Contiki, OpenWSN, FreeRTOS i RIOT.