
Bluetooth jako standard komunikacyjny został ogłoszony już w 1999 roku, jednak jego architektura i charakterystyka była kompletnie nieprzystosowana do zastosowań IoT. Dopiero 10 lat później wraz z rosnącą potrzebą integracji między wieloma urządzeniami, zaprezentowany został nowy standard łączności – Bluetooth Low Energy. Główną jego zaletą jest bez wątpienia niskie zużycie energii – o połowę mniejsze niż Bluetooth Classic. Oczywiście ograniczenie konsumpcji prądu nie pozostało bez wpływu na ilość oraz szybkość wysyłanych danych. BLE ograniczyło maksymalną prędkość transmisji do 1 Mbps, a jego wykorzystanie sprowadza się do aplikacji, które nie wymagają wymiany dużych pakietów transmisyjnych.
Na poniższym rysunku zobrazowano porównanie tych dwóch technologii.
Zasada działania
BLE ma różne typy połączeń. Obiekt podłączony w BLE może pełnić do 4 różnych funkcji:
- Broadcaster – może działać jako serwer. Jego celem jest regularne przesyłanie danych do urządzenia, ale nie akceptuje żadnego połączenia przychodzącego.
- Observer – może jedynie odsłuchiwać i interpretować dane wysyłane przez Broadcastera. Nie może wysyłać połączeń do serwera.
- Central – bardzo często tę rolę pełni smartfon lub tablet. Może działać w dwóch trybach – advertising oraz connected. To on nawiązuje wymianę danych.
- Peripheral – akceptuje połączenia i okresowo przesyła dane do Central urządzenia.
Różnice między wersjami Bluetooth Low Energy
W 2010 roku Bluetooth w wersji 4.0 zwany Bluetooth Low Energy rozwiązywał dwa największe problemy, z jakimi mierzyli się inżynierowie, a mianowicie zbyt duży pobór energii oraz konieczność ciągłego parowania urządzeń. Nowy protokół koncentruje się na przesyłaniu mniejszej porcji danych i przełączaniu się w tryb uśpienia, gdy tylko urządzenie nie jest już używane. Dzięki temu BLE był stanie zastąpić inne protokoły i upowszechnić się jako główny standard komunikacji z sensorami w IoT. Używa tej samej częstotliwości co poprzednie wersje, czyli 2,4 GHz, ale używa nieco prostszego systemu modulacji. Bluetooth 4.0 był niejako przełomem w świecie urządzeń elektronicznych i wprowadził wiele ciekawych rozwiązań:
- całkiem dobrze radzącą sobie z zakłóceniami (choć nie idealnie) transmisję korzystającą z adaptacyjnej zmiany częstotliwości
- bezpieczne parowanie, połączenie oraz ochronę przed atakami, a także szyfrowanie AES-128
- ustandaryzowane profile, aby pokryć część zastosowań np. heart rate, glucose, proximity
- zgodność z wieloma urządzeniami i systemami
Bluetooth 4.1 został opublikowany w 2013 roku i wprowadził kolejne ulepszenia względem poprzedniej wersji. Przede wszystkim poprawiono podatność na zakłócenia z sieciami 4G, a także dodano rozgraniczenie między węzłami a endpointami, dzięki czemu różne peryferia mogą się niezależnie od siebie komunikować.
Bardzo szybki rozwój IoT spowodował także zwiększoną aktywność i pracę nad kolejną wersją protokołu i w ten sposób już w 2014 roku Bluetooth SIG zaprezentował wersję 4.2, która została stworzona z myślą o urządzeniach nowej generacji. Usprawniono łączność z Internetem i polepszono bezpieczeństwo. Wielkość pakietów została zwiększona prawie 10-krotnie, zaś transfer danych przyspieszył 2,5-krotnie.
Jednak największym przełomem okazało się przyjęcie specyfikacji Bluetooth 5.0 w 2016 roku. Bardzo wyraźnie zwiększono przepustowość danych do 2 Mb/s i zapewniono szybką oraz niezawodną aktualizację firmware’u urządzeń. Zasięg, który dotychczas wynosił około 75 metrów sięga 300 metrów przy zachowaniu tego samego poboru mocy, a co więcej specyfikacja daje wolną rękę projektantom, czy chcą zwiększyć zasięg, szybkość transmisji lub ograniczyć pobór mocy kosztem pozostałych z tych czynników.
Ostatnią rzeczą wartą wspomnienia jest fakt, że wprowadzono topologię kraty, czyli mesh. Funkcja ta ma szczególne znaczenie dla aplikacji IoT, o czym wspomniano już powyżej.
Porównanie kolejnych wersji Bluetooth Low Energy.
Architektura
Architektura Bluetooth Low Energy składa się z trzech części:
- aplikacji
- hosta
- kontrolera
Kontroler
Kontroler definiuje się jako fizyczne urządzenie, które przeprowadza transmisję i odbiór sygnałów radiowych, a także interpretuje odebrane sygnały. Komunikuje się z hostem za pomocą Host Controller Interface. Warstwa fizyczna jest odpowiedzialna za transmisję w obu kierunkach poprzez radio w paśmie 2,4GHz, które jest podzielone na 40 kanałów częstotliwości co 2 MHz w modulacji GFSK. Warstwa łącza odpowiada za rozgłaszanie, skanowanie oraz tworzenie połączeń zapewniając prawidłową strukturę pakietów. Występują tu dwa rodzaje kanałów – rozgłaszania oraz danych. Pierwsze z nich służą do nadawania, rozgłaszania zdolności do nawiązania połączenia, skanowania i nawiązywania połączeń niepołączonymi urządzeniami. Z kolei kanały danych umożliwiają wysyłanie, odbieranie, potwierdzanie odbioru, a także w razie zerwania połączenia ponowienie transmisji pomiędzy połączonymi urządzeniami.
Host
Host składa się z warstwy multipleksującej, protokołów i procedury, która zarządza działaniem systemu. Warstwą multipleksującą i demultipleksującą złożone pakiety jest tutaj L2CAP. BLE stosuje bardzo uproszczoną wersję L2CAP, gdzie używane są jedynie statyczne identyfikatory kanałów, po jednym dla kanału sygnałowego, menedżera bezpieczeństwa i protokołu atrybutów. Stosowany jest także wyłącznie jeden format ramki, a konkretnie B-frame. Menedżer Bezpieczeństwa definiuje protokół parowania i dystrybucji kluczy. BLE stosuje 128- bitową wersję standardu szyfrowania AES (Advanced Encryption System), oznaczaną AES-128.
Protokół atrybutów
Działanie Protokołu Atrybutów ATT (Attribute Protocol) opiera się o architekturę klient-serwer. Dane przechowywane są na serwerze w postaci atrybutów, a następnie są odczytywane lub zapisywane. Klient wysyła zapytania do serwera, a następnie identyfikuje atrybuty na serwerze i odczytuje lub zapisuje ich wartości. Zarówno klient jak i serwer są w stanie rozpocząć komunikację. Protokół Atrybutów definiuje także podział wiadomości wysyłanych pomiędzy klientem a serwerem:
- Zapytania klienta do serwera.
- Odpowiedzi serwera na zapytania klienta.
- Polecenia klienta, które są wysyłane do serwera bez odpowiedzi.
- Powiadomienia wysyłane przez serwer do klienta bez potwierdzenia.
- Wskazania wysyłane przez serwer do klienta.
- Potwierdzenia wysyłane przez klienta do serwera w odpowiedzi na wskazania.
ATT nie określa konkretnych typów atrybutów, jednak pozwala na grupowanie atrybutów i umożliwia odkrywanie budowy takich grup.
GATT – Ogólny Protokół Atrybutów
Ogólny Protokół Atrybutów GATT (Generic Attribute Protocol) organizuje dane przechowywane i komunikujące się przez ATT i określa format danych przechowywanych na serwerze GATT. Przechowywane dane przez serwer GATT są przesyłane przez ATT, a następnie serwer GATT przyjmuje zapytania i potwierdzenia od klienta GATT, a także wysyła odpowiedzi na zapytania, powiadomienia i wskazania. Atrybuty, które są przesyłane przez ATT są formowane w serwisy i charakterystyki. Każdy z serwisów składa się z jednej lub kilku charakterystyk. Ta natomiast zawiera pojedynczą wartość oraz określoną liczbę deskryptorów opisujących tę wartość. Profil urządzenia tworzony jest na podstawie zestawu serwisów określających minimalny zakres przypadków użycia danego urządzenia pozwalających wypełnić jego funkcje.
GAP
Podstawową metodą wymiany danych GAP jest mały pakiet rozgłoszeniowy.
Ten pakiet zawiera dwa rodzaje informacji: rolę GAP rozgłaszaną przez urządzenie (ważne w przypadku urządzeń peryferyjnych, ponieważ umożliwia nawiązanie połączenia z urządzenia centralnego) oraz sformatowany payload używany do nadawania i określania urządzeń (takich jak dostarczenie nazwy urządzenia).
Warstwa aplikacji
Warstwa aplikacji określa trzy rodzaje specyfikacji: charakterystyki, serwisy oraz profile. Specyfikacje te zbudowane są na podstawie GATT. W taki sam sposób jak GATT określa grupowanie atrybutów w charakterystyki i serwisy, tak aplikacje definiują specyfikacje, które następnie używają tak pogrupowanych atrybutów.
Zastosowania
Bluetooth Low Energy jest używany praktycznie wszędzie, co jest jedną z jego głównych zalet w porównaniu z innymi sieciami o niskim poborze mocy. Każdy nowy smartfon, tablet, laptop czy telewizor posiada ten protokół komunikacyjny. Jego popularność to niewątpliwa zaleta. Skoro więc BLE jest tak powszechne, to jakie są jego zastosowania?
Monitory fitness i inteligentne urządzenia
Jest to jeden z głównych przypadków użycia technologii Bluetooth Low Energy, który prawdopodobnie uczynił ją tak wszechobecnym. Inteligentne zegarki, opaski, smartfony i tablety to tylko jedne z nielicznych urządzeń, które używają BLE. Jeden z naszych głównych projektów – tracker GPS dla psów również jest oparty o tę technologię. Dzięki zastosowaniu modułów o zmniejszonym poborze prądu urządzenie jest w stanie wytrzymać na baterii nawet kilkanaście dni.
Śledzenie lokalizacji w pomieszczeniach
Jedną z głównych zalet BLE jest to, że może być używany do dokładnego pozycjonowania tam, gdzie GPS nie może – w pomieszczeniach. Wykorzystywane są tu tzw. beacony BLE, czyli urządzenia, które koncentrują się na przesyłaniu danych do wszystkich urządzeń w pobliżu, zamiast klasycznej jeden do jednego. Na podstawie siły sygnału telefony lub inne urządzenia zdolne do przetwarzania tych informacji mogą określać pozycję beacona.
Medycyna
Dzięki rozwojowi Bluetooth pojawiły się kompletnie nowe możliwości, jeśli chodzi o jego zastosowanie w medycynie. Dwa lata temu lekarze z Warszawskiego Uniwersytetu Medycznego wszczepili pierwszemu w Polsce pacjentowi z przewlekłą niewydolnością serca defibrylator nowej generacji, który w komunikacji wykorzystuje technologię bezprzewodowej transmisji danych bluetooth. Nikogo już zatem nie dziwią inteligentne długopisy do wstrzykiwania insuliny dla diabetyków czy urządzenia do monitorowania glukozy oraz innych istotnych parametrów naszego zdrowia.
Podsumowanie
To wszystko spowodowało, że Bluetooth stał się jednym z najważniejszych protokołów komunikacyjnych dla urządzeń w Internecie Rzeczy. Nowe standardy Bluetooth mesh oraz Bluetooth 5 pozwalają na realizację dużych sieci, potencjalnie zawierających setki węzłów przy zachowaniu wysokiej przepustowości, niskiego zużycia mocy i dalekiego zasięgu w różnych zastosowaniach przemysłowych. Takich właśnie cech wymagają przemysłowe sieci IoT opierające się na wzajemnej komunikacji wielu urządzeń.
Dziś każdy smartfon, laptop i tablet posiada w sobie tę technologię i trudno sobie wyobrazić, żeby cokolwiek miało się zmienić w najbliższej przyszłości.