WRÓĆ DO STRONY
GŁÓWNEJ
Publicystyka

Internet Rzeczy technologią nieuniknionego lenistwa

Już teraz jesteśmy na przedpolach czasów, w których to znakomita większość naszego otoczenia będzie połączona ze sobą w jedną wielką sieć. Jeśli coś Wam już świta w głowie, to tak, mowa o Internecie Rzeczy (Internet of Things, a w skrócie IoT). 

Jeśli jesteśmy zainteresowani najmniej zagmatwaną definicją Internetu Rzeczy, to całe jego wytłumaczenie możemy sprowadzić do opisu, że jest to koncepcja, która sprowadza się do podłączenia wszelkiego rodzaju urządzeń do sieci (lokalnej, lub Ethernet), dzięki której te mogą się ze sobą komunikować bez wiedzy użytkownika. 

Mowa o szerokim spektrum urządzeń – od żarówek, po gadżety i wreszcie kończąc na sprzętach AGD, czy RTV o mniejszych i większych gabarytach. W teorii wszystko można wyposażyć w odpowiedni zestaw czujników i modułów… ale przed takim czymś producenci zadają sobie jedno pytanie – „po co?”. Bo po co nam np. czujnik w długopisie, podkładce antypoślizgowej, czy jakimś bibelocie? Jeśli ma to sens i konkretny cel, to nic nie stoi takiej praktyce na drodze, ale w innym przypadku, to utrata zasobów. 

Jednak z Internetem Rzeczy nie mamy do czynienia zawsze, kiedy coś łączy się z czymś innym. Do tego musi zostać spełnione kilka warunków. Najważniejszym z nich jest zgodność i możliwości urządzeń pod kątem posiadania odpowiednich czujników oraz modułów odpowiadających za wzajemną komunikację.

Ze względu na mnogość urządzeń potrzebne też jest elektryczne kodowanie RFID, które zwraca unikalny kod produktu EPC, co jednoznacznie pozwala zidentyfikować konkretne urządzenia. Substytutem tego są obecnie adresy IP, MAC, a nawet kody seryjne produktów. Jasne, o ile w domowym zaciszu i przy korzystaniu z lokalnej sieci sprzętu nie ma na tyle sprzętu, aby system nieustannie się mylił, to już w nawet nie zatłoczonych miejscach publicznych taki problem jak najbardziej występuje. Pomnóżcie sobie liczbę ludzi przez ich smartfony, smartwatche, słuchawki bezprzewodowe i co Wam tylko przyjdzie na myśl z „codziennej elektroniki” i voila. 

Nieodzownym elementem jest też sama łączność, która może być zarówno przewodowa, jak i bezprzewodowa. W jej skład mogą wchodzić fizyczne przewody, ale to niewidzialne medium jest tym, do czego w IoT się dąży, a ta może być realizowana za pośrednictwem sieci komórkowych (np. 4G, lub najnowszego 5G), sieci WiFi, protokołu Bluetooth, podczerwieni, NFC, czy działających na znacznie większą odległość technologii VSAT lub LPWAN. Za kompatybilność wielu urządzeń odpowiadają z kolei tym standardy, które narzucają producentom pewne zasady. Całość wymogów dopełnia określony sposób komunikacji pomiędzy użytkownikami, czyli specjalnie przygotowane do tego API.

Co nam po Internecie Rzeczy?

Tak naprawdę idea Internetu Rzeczy sprowadza się do tego, że dosłownie każdy otaczający nas przedmiot można „unowocześnić”, wyposażając go w odpowiednią elektronikę (wspomniane czujniki oraz moduły). Te mogą być zarówno proste (np. mechanizm włączający światło w pomieszczeniu po naciśnięciu klamki), jak i nieco bardziej złożone, sprowadzając się np. do głównego sterownika, który sczytuje szereg czynników i na ich podstawie dostosowuje klimatyzację, ogrzewanie, światło, czy nawet aktywność gniazdek elektronicznych, co nie tylko ułatwia życie, ale też pozwala dbać o środowisko, oszczędzając przy tym pieniądze. 

Ze względu na taką funkcjonalność urządzeniami IoT są nawet towarzyszące nam od lat zwykłe urządzenia oraz systemy, które normalnie określilibyśmy mianem tych o poszerzonej funkcjonalności. Spełniają jednak wszystkie warunki wymagane do tego, aby uznać je za część Internetu Rzeczy, więc nawet prosta żarówka łącząca się z lokalną siecią i następnie aplikacją na smartfonie, jest częścią IoT. 

Osobiście za świetny przykład połączenia Internetu Rzeczy z obecnymi aplikacjami, do których każdy z nas ma dostęp, uważam coś, z czego korzystacie – Mapy Google. Jeśli pominiemy zaawansowany technologicznie samochód i cały IoT sprowadzimy do urządzeń w domu, to wyobraźcie sobie, jak łatwiejsze stałoby się nasze życie po połączeniu z nimi tej aplikacji.

Wychodzicie z domu, jedziecie do pracy, a system doskonale o tym wie. Dlatego na podstawie wcześniejszych ustawień wyłącza ogrzewanie, zamyka bramę, garaż, wszystkie drzwi i okna, opuszcza rolety i na koniec rozpoczyna pranie, aktywuje zmywarkę i daje sygnał autonomicznym odkurzaczom do ruszenia swoich kilku kółek… i co tylko sobie wymyślicie. 

Wracacie do domu? Mieszkanie powoli zaczyna się ogrzewać, ekspres z przygotowaną wcześniej kapsułką już rozpoczyna pracę, a pod drzwiami odkrywacie zamówiony posiłek z pobliskiej restauracji. Zaskoczeni? Wcale! Jesteście do tego przyzwyczajeni, bo system wykrył, że musieliście zostać w pracy dłużej, w lodówce pozostały resztki, a na podstawie odczytów ze smartwatcha zrozumiał, że gotowanie będzie ostatnią czynnością, którą chcecie zrobić po powrocie. 

Zasiadacie więc do jedzenia i na smartfonie przeglądacie setki czujników rozsianych po domu, które regularnie dają o sobie znać, kiedy coś jest nie tak. Nagły spadek ciśnienia w oponie? Powoli wyczerpujące się tonery w drukarce? Informacje na temat tego wszystkiego macie na wyciągnięcie ręki. To właśnie jest Internet Rzeczy w swojej najlepszej okazałości. 

IoT od zaplecza

Nie tylko przyjemnością człowiek żyje, więc co powiedzie na małą pigułkę wiedzy na temat tego, co zwykle niespecjalnie nas obchodzi w przypadku korzystania z technologicznych dobrodziejstw?

Istnieje kilka architektur systemów IoT, które muszą być zgodne ze standardami wydanymi przez kilka instytucji, jak np. Międzynarodowy Związek Telekomunikacyjny. Jeśli zgromadzić ich zapisy, konkluzje i wnioski w jednym miejscu, to otrzymalibyśmy lekturę wystarczającą na kilka dobrych lat cowieczornych sesji, ale nie ma to większego sensu, zważywszy na to, że wszystkie sprowadzają się do tego, że architektura systemu operacyjnego Internetu rzeczy dzieli się głównie na sześć warstw:

  • Współpraca i przetwarzanie (angażowanie ludzi i procesów biznesowych)
  • Aplikacja (informacje zwrotne, analiza, kontrola)
  • Abstrakcja Danych (łączenie  i umożliwianie dostępu do danych)
  • Gromadzenie Danych (gromadzenie danych)
  • Obliczenia Esge (analizowanie i transformacja danych)
  • Urządzenia Łączności (jednostki komunikacyjne i przetwarzające)
  • Fizyczne oraz Kontrolery (fizyczne urządzenia Internetu Rzeczy)

To właśnie te warstwy stały się standardem rozwoju architektury IoT, choć to kwestia czasu, aż opracowane zostaną nowe, ponieważ sama koncepcja jest stosunkowo świeża na rynku. 

Obecnie wykorzystywanymi systemami w koncepcji Internetu Rzeczy jest FreeRTOS, Contiki, RIOT, Tiny OS, nuttX, Open WSN, Nut/OS, Linux, Android i LiteOS, których cechą wspólną są niewielkie wymagania pamięci RAM i ROM oraz wielowątkowość. W kwestii platform mamy z kolei do czynienia z m.in.: IBM Blue Mix, Nimbits, Thing Worx, Microsoft Azure, Thing Speak, Yaler, Zetta, Amazon Web Service i Google Cloud Compute (wśród konsumentów najpopularniejszymi są te dwa ostatnie za sprawą inteligentnych głośników). 

Wymagania dotyczące systemu operacyjnego urządzeń Internetu Rzeczy

IoT są skomplikowaną drogą rozwoju technologii. Ze względu na to będące jego częścią systemy nie mogą posiadać braków, ani też nie mogą być nieustandaryzowane. Dlatego też wymagania IoT można sprowadzić nie tylko do narzuconych przez instytucje zasad, ale też podzielić na te dotyczące:

  • Łączności i komunikacji
  • Zarządzania urządzeniem
  • Zbieraniu, analizie i wykorzystywaniu danych
  • Skalowalności
  • Bezpieczeństwa
  • Analizie predykcyjnej
  • Integracji

Taka lista sprawia, że początek tworzenia nowego systemu IoT sprowadza się do stworzenia protokołów komunikacji dla urządzeń łączących się bezpośrednio i za pośrednictwem bram, które nie będą obciążać tych mniej wydajnych układów. Następnie programiści muszą zadbać o odpowiedni zestaw instrukcji w celu zarządzania całym systemem. Wszystko po to, aby mieć możliwość odłączenia niepożądanego urządzenia, przeprowadzania aktualizacji oprogramowania i poświadczeń bezpieczeństwa, zdalnego wyłączaniu i włączaniu niektórych funkcji wraz z możliwością konfiguracji szeregu parametrów i wreszcie lokalizowania zgubionych urządzeń i usuwania z nich wrażliwych danych.

System musi też być w stanie poradzić sobie z ogromną ilością danych, korzystając w tym z wysoce skalowalnego podsystemu pamięci masowej, który może obsługiwać różne dane i duże wolumeny. Powinien też umożliwiać analizę w czasie rzeczywistym i nieprzerwane korzystanie z wyników tych obliczeń. Tutaj wchodzi też wymóg skalowalności, która sprowadza się do umożliwienia łatwej rozbudowy zaplecza serwerowego, aby z czasem móc sprostać coraz większej liczbie urządzeń.

I na sam koniec najważniejsza cecha – bezpieczeństwo, które jest po prostu kluczowe, zważywszy na to, że urządzenia IoT często zbierają osobiste dane i ze swej natury wprowadzają rzeczywisty świat do Internetu (i odwrotnie). Problem z tym, że wiele urządzeń jest po prostu zbyt mała, aby obsługiwać prawidłowe szyfrowanie asymetryczne, co budzi ogromne obawy w myśl Internetu Rzeczy. 

Innym częstym problemem, który się wskazuje, jest też kodowanie reguł zarządzania dostępem do kodu po stronie klienta lub po stronie serwera. Najlepszym standardem w tej kwestii wydaje się XACML5.

To z kolei wskazuje, że wymogi bezpieczeństwa urządzeń w ramach Internetu Rzeczy powinny wspierać:

  • Szyfrowanie na urządzeniach, które są wystarczająco wydajne
  • Nowoczesny model tożsamości oparty na tokenach, a nie na identyfikatorach użytkowników i hasłach
  • Zarządzanie kluczami i tokenami tak płynnie/zdalnie, jak tylko to możliwe 
  • Oparta na regułach i zarządzana przez użytkownika kontrola dostępu do systemu opartego na XACML5.