Instytut Informatyki Politechnika Poznańska 1
Protokół transmisji radiowej niskiej mocy przeznaczony dla realizacji małych, stacjonarnych sensorowych sieci bezprzewodowych. 2
Protokół ten dedykowany jest wyłącznie dla układów radiowych (RF) małej mocy oferowanych przez firmę Texas Instruments Mikrokontrolery serii MSP430 oraz 32bitowe typu Stellaris i Tiva, w połączeniu z układami RF typu CC1xxx/CC25xx Zintegrowane z mikrokontrolerem radiowe układy nadawczo-odbiorcze - SoC (ang. System-on-chip) CC2530 i CC430 3
Sieć składa się trzech rodzajów węzłów Punkt dostępowy- AP (ang. Access Point) Węzeł zarządzający siecią. Może przechowywać dane dla innych węzłów Komunikacja z urządzeniami wyższego poziomu Niezbędne ciągłe zasilanie Węzeł retransmisji RE (ang. Range Extender) Maksymalnie 4 urządzenia w sieci Wymagane ciągłe zasilanie Urządzenie końcowe ED (ang. End Device) Podstawowy węzeł realizujący funkcje sensorowe i/lub wykonawcze Z reguły węzeł zasilany bateryjnie Przez większość czasu pozostaje w stanie uśpienia Dopuszcza się pracę jednokierunkową (nadawanie) 4
Topologie Topologia gwiazdy Możliwość stosowania retransmisji Koordynatorem sieci jest punkt dostępowy (AP) Topologia równorzędna ( każdy z każdym, ang. peer-to- peer, P2P) Bezpośrednie połączenie peer-to-peer 5
Topologie Przykład konfiguracji, w której AP pośredniczy w transmisji. Przechowuje wiadomość od ED1 dla ED2 do czasu wybudzenia ED2. Funkcja ta nazywa się Store-and-forward. 6
Topologie Komunikacja pośrednia z udziałem węzła RE 7
Topologie Rysunek przedstawia sytuację gdy węzeł ED2 jest uśpiony a poza tym węzeł ED1 nie znajduje się w zasięgu AP 8
Przykładowa sieć 9
Warstwa łącza danych/fizyczna (ang. Data Link/PHY ) MRFI (ang. Minimal Radio Frequency Interface) odpowiada za komunikację z układem radiowym. Zapewnia odczyt / zapis ramki danych między aplikacją interfejsu a układem RF. Różne układy radiowe wspierane przez SimpliciTI wymagają różnych implementacji, ale podstawowy interfejs oferowany w warstwie sieciowej jest taki sam dla wszystkich RF. MRFI tworzy w rezultacie standardowy interfejs dla różnych rozwiązań układów nadawczo-odbiorczych. 10
Warstwa łącza danych/fizyczna (ang. Data Link/PHY ) Z warstwą tą związane jest również oprogramowanie BSP (ang. Board Support Package), które stanowi pewne wsparcie dla różnych docelowych mikrokontrolerów. BSP uwzględnia obsługę interfejsu SPI (ang. Serial Peripheral Interface) do komunikacji z układem RF BSP realizuje zarządzanie przerwaniami poprzez połączenia GPIO (ang. General Purpose Input/Output) aby wspierać asynchroniczne komunikaty od RF (np. pusty bufor nadawczy, odebrano pakiet) BSP ponadto wspiera sterowanie diodami LED oraz obsługę przycisków. 11
Warstwa sieciowa NWK (ang. Network Layer) NWK odpowiada za określone zadania związane z nawiązaniem i podtrzymaniem komunikacji oraz realizuje zadania zlecone w warstwie aplikacyjnej. Warstwa sieciowa zajmuje się uzupełnianiem pakietów o dane dotyczące typu urządzenia i zliczaniem skoków NWK także kolejkuje dane przychodzące z warstwy aplikacji i buforuje je, jeśli odbiorca nie jest aktywny (przechowywanie danych przez punkt dostępowy dla śpiącego urządzenia końcowego). 12
Warstwa sieciowa NWK (ang. Network Layer) Ustawienia sieciowe są przygotowywane na etapie kompilacji programu i obejmują takie parametry jak: kanał transmisji, liczba przechowywanych pakietów w AP dla urządzeń końcowych w uśpieniu, sieciowe klucze szyfrujące, dopuszczalna liczba skoków pakietów itp. 13
Struktura warstwowa SimpliciTI 14
Warstwa aplikacji (ang. Application Layer) Aplikacje użytkownika korzystają z portów 0x20 i wyższych. Oprogramowanie SimpliciTI udostępnia aplikacji użytkownika prosty interfejs API, zawierający 6 poleceń: inicjalizacja sieci polecenie SMPL_Init; konfiguracja SMPL_Ioctl; proces łączenia węzłów dla inicjatora SMPL_Link oraz dla drugiej strony SMPL_LinkListen; transmisja nadawanie SMPL_Send oraz odbiór SMPL_Receive. 15
Warstwa aplikacji (ang. Application Layer) Polecenie Ping (0x01) używane jest do sprawdzenia obecności węzłów. Polecenie Link (0x02) odpowiada za nawiązanie połączenia między węzłami. Podczas tworzenia połączenia węzły wymieniają się adresami i przypisują je do identyfikatora LinkID Polecenie Join (0x03) umożliwia przyłączenie węzła ED do sieci zarządzanej przez punkt dostępowy AP. Proces jest inicjowany przez urządzenie końcowe, które posługuje się predefiniowanym hasłem Join Token a po przyłączeniu otrzymuje od AP identyfikator połączenia. Węzły pracujące ze stanem uśpienia otrzymują dodatkowo bufor w AP do przechowywania na czas uśpienia, kierowanych do nich pakietów. 16
Warstwa aplikacji (ang. Application Layer) Polecenie Security (0x04) dotyczy szyfrowania Polecenie Freq (0x05) odpowiada za zarządzanie częstotliwością pracy sieci. W przypadku dużego obciążenia kanału istnieje możliwość wyboru innego kanału z grupy częstotliwości predefiniowanych mechanizm Frequency Agility. Polecenie Management (0x06) przez węzły pracujące z trybem uśpienia stosowane jest w celu zapytania o buforowane dane. Wykorzystywane jest też w komunikacji serwisowej. Mechanizmem zapewniającym bezpieczeństwo transmisji jest szyfrowanie (programowe) zgodnie z algorytmem XTEA (ang. Extended Tiny Encryption Algorithm). Jest to szyfrowanie blokowe 64-bitowe z kluczem 128-bitowym. 17
Aplikacja użytkownika Programista korzysta z interfejsu API, co upraszcza oprogramowanie sieci Polecenie API może zwracać jedno ze słów statusowych, informujące o wyniku jego wykonania. Np. słowo SMPL_SUCCESS oznacza poprawnie przeprowadzoną operację, SMPL_TIMOUT oznacza przekroczenie limitu czasu wykonania SMPL_NO_LINK brak odpowiedzi na pakiet typu Link. Wcześniej należy przygotować funkcje inicjalizacji wybranego mikrokontrolera, zastosowanego układu nadawczo-odbiorczego oraz stosu (BSP_Init() i SMPL_Init()). 18
Aplikacja użytkownika Tworzenie połączeń sieci i ich utrzymanie realizowane jest przy pomocy funkcji połączeniowych (SMPL_Link() i SMPL_LinkListen()) Funkcje SMPL_Send(), SMPL_SendOpt() oraz SMPL_Receive realizują zadania wymiany danych między węzłami sieci, według ustalonego przez użytkownika scenariusza Najbardziej rozbudowanym interfejsem, umożliwiającym zarządzanie pracą węzłów jest SMPL_Iocl(). Pozwala między innymi na wymuszanie stanu układu RF. 19
Struktura ramki danych SimpliciTI (z włączoną funkcją szyfrowania) Pierwszy bajt adresu: 0x00, 0xFF zarezerwowane dla trybu rozgłoszeniowego 20
Struktura ramki danych SimpliciTI (z włączoną funkcją szyfrowania) Pola PREAMBLE i SYNC dodawane i obsługiwane sprzętowo LENGTH jednobajtowe pole określające w bajtach długość pakietu MISC pole zawierające różne informacje zależne od układów RF (pole opcjonalne) DSTADDR czterobajtowy adres odbiorcy SRCADDR - czterobajtowy adres nadawcy 21
Struktura ramki danych SimpliciTI (z włączoną funkcją szyfrowania) PORT jednobajtowe pole, b7- jest ustawiany przez AP i określa czy pakiet był retransmitowany b6 - określa czy jest włączone szyfrowanie b5-b0 definiują port aplikacji DEVICE INFO pole jednobajtowe, określające ile skoków wykonał pakiet w trakcie transmisji TRACKID jednobajtowa liczba porządkowa komunikatu APP PAYLOAD dane aplikacji o długości od 0B do 111B (dla transmisji zgodnej ze standardem IEEE802.15.4) lub 0B do50b w przeciwnym przypadku FCS suma kontrolna pakietu 22
Przykładowa budowa węzła AP 23
Przykładowa budowa węzła ED (układ rozwojowy firmy Anaren) 24
Przykładowy program konfiguracji dla węzła ED 25
Zrzut ekranu dla pakietu Sniffer 26
Przykład sesji peer-to-peer 27
Pobór prądu przez węzeł ED sieci SimpliciTI 28
Pobór prądu przez węzeł sieci SimpliciTI stanowisko pomiarowe 29
Pobór prądu przez węzeł sieci SimpliciTI 30
Porównanie protokołów SimpliciTI i ZigBee 31
32
Bezprzewodowa sieć sensorowa WSN (ang.wireless Sensor Network) Sieć ta składa się z wielu niewielkich węzłów, które z reguły zawierają sensory Sieć małej mocy i niskiej prędkości Węzły z sensorami (zwane często sensorami) zasilane są bateryjnie lub z wykorzystaniem metod pozyskiwania energii elektrycznej ze źródeł energii wolnodostępnej (m.in. światła słonecznego, siły wiatru, fal elektromagnetycznych, wibracji, siły strumienia wody, siły nacisku, energii cieplnej oraz biochemicznej) - ang. Energy harvesting W złożonych sieciach WSN wprowadzane są algorytmy trasowania a czasem również samoorganizacji Bardzo ważna cechą sieci WSN jest oszczędność energii węzły bez wymiany baterii powinny pracować kilka, kilkanaście lat 33
Tanie elementy wysokiej skali integracji, tanie sieci, tanie technologie stymulują realizacje nowych pomysłów, między innymi w dziedzinie systemów pomiarowosterujących Pojawiły się nowe zadania: Inteligentne pomiary (ang. Smart Metering) w systemach zarządzania takimi mediami jak energia elektryczna, woda, gaz, energia cieplna Sieci domowe HAN (ang. Home Area Networks) Internet rzeczy (przedmiotów) (ang. Internet of Things) 34
MEMS (ang. Micro Electro-Mechanical Systems) 35
Monolityczne radiowe układy nadawczo-odbiorcze 36
Wartość rynku mikrokontrolerów w latach 2010-2017 Sensory wielkości fizycznych Sensory parametrów chemicznych Biosensory Na podst. Elektronik 8/2013 37
Sprzedaż jednostkowa mikrokontrolerów w latach 2010-2017 Sensory wielkości fizycznych Sensory parametrów chemicznych Biosensory Na podst. Elektronik 8/2013 38
Średnia cena sprzedaży mikrokontrolerów w latach 2010-2017 Sensory wielkości fizycznych Sensory parametrów chemicznych Biosensory Na podst. Elektronik 8/2013 39
Kolejnym istotnym elementem inteligentnych systemów są sensory Prognoza rynku MEMS (ang. Micro Electro-Mechanical Systems) na lata 2012-2018 Sensory wielkości fizycznych Sensory parametrów chemicznych Biosensory źródło. Developpement 40