Urządzenia IoT są zbudowane na wielu różnych systemach operacyjnych, w zależności od konkretnych zastosowań końcowych.
Dystrybucje Linuksa, takie jak Yocto czy Android Things, cieszą się dużą popularnością wśród inteligentnych urządzeń domowych. Windows 10 IoT Core najlepiej nadaje się do urządzeń brzegowych IoT na poziomie serwera (dowolnego sprzętu kontrolującego przepływ danych na granicy dwóch sieci). I oczywiście do regularnego używania na Raspberry Pi zaleca się system operacyjny Raspbian .
W tym artykule omówiony zostanie system TinyOS, który w istocie jest bardzo przydatny w sieciach czujników małej mocy.
Co to jest TinyOS?
TinyOS to system operacyjny typu open source oparty na BSD, który wykorzystuje język programowania nesC do kontrolowania i zarządzania bezprzewodowymi sieciami czujników (WSN). Urządzenia czujnikowe (zwane cząsteczkami) w takich sieciach charakteryzują się niską mocą, ograniczoną pamięcią i bardzo kompaktową obudową.
TinyOS został po raz pierwszy napisany przez Jasona Hilla na Uniwersytecie w Berkeley w 2000 roku. Jest to całkowicie darmowe oprogramowanie o otwartym kodzie źródłowym.

Biorąc pod uwagę jego ostateczne zastosowanie, TinyOS jest popularnym systemem operacyjnym dla czujników małej mocy, które kontrolują światło, przyspieszenie, temperaturę, ciśnienie i obiekty akustyczne. TinyOS jest często używany w aplikacjach Przemysłu 4.0.
Dlaczego TinyOS jest przydatny w bezprzewodowych sieciach czujników?
Czujniki małej mocy, ze względu na ograniczenia w swoim zasięgu, wymagają efektywnego wykorzystania zasobów. TinyOS jest zasadniczo zbudowany na architekturze opartej na komponentach, aby zmniejszyć rozmiar kodu do około 400 do 500 bajtów, oraz na konstrukcji opartej na zdarzeniach, co eliminuje potrzebę stosowania powłoki poleceń.
Architektura oparta na komponentach wykorzystuje nesC, który jest językiem programowania C przeznaczonym do łączenia systemów wbudowanych. Każdy fragment kodu składa się z prostych funkcji umieszczonych w komponentach i złożonych funkcji, które integrują wszystkie komponenty razem.
Poniższy przykład fragmentu kodu oparty na komponentach NesC pokazuje integrację różnych komponentów, takich jak liczniki czasu, zegary i przesyłanie komunikatów.
![Dowiedz się o systemie operacyjnym czujników bezprzewodowych TinyOS Dowiedz się o systemie operacyjnym czujników bezprzewodowych TinyOS]()
TinyOS wykorzystuje również konstrukcję opartą na zdarzeniach, której celem jest wprowadzenie procesora w stan spoczynku, gdy nie ma żadnych oczekujących zadań. Zdarzenie może przypominać uruchomienie alarmu, gdy temperatura termostatu wzrośnie lub spadnie powyżej określonej wartości. Gdy tylko wydarzenie się zakończy, cząsteczki czujników mogą przejść w stan „uśpienia”.
Potrzeba projektu takiego jak TinyOS jest niezbędna w zastosowaniach takich jak inteligentny transport i inteligentne fabryki. Ponieważ istnieją tysiące czujników, ważne jest, aby mieć bardzo małą pamięć, aby zmniejszyć zapotrzebowanie na energię.
Gdzie używany jest TinyOS?
Obecnie TinyOS ma ponad 35 000 pobrań. Jego główne zastosowania znajdują się we wszystkich typach urządzeń korzystających z bezprzewodowych sieci czujników.
- Monitorowanie środowiska : Ponieważ każdy system TinyOS może być wbudowany w mały czujnik, są one przydatne w monitorowaniu zanieczyszczenia powietrza, pożarów lasów i zapobieganiu klęskom żywiołowym.
- Inteligentne pojazdy : Inteligentne pojazdy są autonomiczne i można je rozumieć jako sieć czujników. Czujniki te komunikują się za pośrednictwem bezprzewodowych sieci małej mocy (LPWAN), dzięki czemu TinyOS jest doskonały.
- Inteligentne miasta : TinyOS to realne rozwiązanie spełniające wymagania dotyczące wykrywania małej mocy w zakładach użyteczności publicznej, sieciach energetycznych, infrastrukturze internetowej i wielu innych zastosowaniach inteligentnych miast.
![Dowiedz się o systemie operacyjnym czujników bezprzewodowych TinyOS Dowiedz się o systemie operacyjnym czujników bezprzewodowych TinyOS]()
- Monitorowanie stanu maszyn : aplikacje maszyna-maszyna (M2M) mają wiele interfejsów czujników. Nie jest możliwe określenie kompletnego środowiska obliczeniowego dla każdego czujnika. TinyOS może zapewniać bezpieczeństwo, zarządzanie energią i debugowanie czujników.
Gdzie dowiedzieć się o TinyOS?
Wszystkie informacje dotyczące pobierania w TinyOS są dostępne na jego oficjalnej stronie GitHub (patrz: https://github.com/tinyos/tinyos-main ). Oprócz BSD TinyOS obsługuje także Mac OS X.
Największe kompleksowe źródło informacji o TinyOS jest dostępne na wiki Uniwersytetu Stanforda (patrz: http://tinyos.stanford.edu/tinyos-wiki/index.php/Main_Page ). To źródło zawiera informacje na temat instalacji programu, obszerne instrukcje i duży indeks kodu wniesiony przez wiele innych osób.
TinyOS to jeden z przykładów systemu operacyjnego zaprojektowanego dla tanich sieci czujników bezprzewodowych o małej mocy. Ale to nie jedyna opcja. Inne przykłady podobnych systemów operacyjnych to Contiki, OpenWSN, FreeRTOS i RIOT.