Bluetooth Low Energy (LE)

Energooszczędny Bluetooth dla IoT i aplikacji sensorowych.

Narodziny Połączonych Urządzeń: Dlaczego Powstał Bluetooth LE

Chociaż Bluetooth Classic genialnie rozwiązał problem bezprzewodowego strumieniowania audio i ciągłego transferu danych, początek XXI wieku przyniósł nową rewolucję technologiczną: Internet Rzeczy (IoT). Nagle świat wyobraził sobie przyszłość, w której codzienne przedmioty mogą stać się "inteligentne". Termostaty, żarówki, opaski fitness, czujniki medyczne i niezliczone inne małe urządzenia potrzebowały sposobu na bezprzewodową komunikację. Jednak ich potrzeby były fundamentalnie inne niż te, które miały bezprzewodowe słuchawki.

Te nowe urządzenia nie musiały strumieniować megabajtów danych na sekundę. Zamiast tego musiały wysyłać niewielkie pakiety informacji w nieregularnych odstępach czasu: odczyt temperatury co kilka minut, aktualizację tętna co sekundę, prostą komendę "włącz" lub "wyłącz" dla światła. Co najważniejsze, urządzenia te musiały działać miesiącami, a nawet latami na jednej, małej baterii pastylkowej. Używanie do takich zastosowań Bluetooth Classic byłoby jak gaszenie zapałki wozem strażackim; jego zużycie energii było po prostu zbyt wysokie dla tej nowej klasy oszczędnych gadżetów.

Dostrzegając tę krytyczną lukę, Bluetooth Special Interest Group (SIG) wprowadziła Bluetooth Low Energy (LE) jako część specyfikacji Bluetooth 4.0 w 2010 roku. Bluetooth LE nie był ewolucją wersji Classic, ale całkowitym, od podstaw zaprojektowanym standardem, którego nadrzędnym celem była ekstremalna energooszczędność. Jego filozofia projektowa opiera się na utrzymywaniu radia urządzenia w stanie wyłączenia przez maksymalnie długi czas, budząc się tylko na kilka milisekund, aby wysłać lub odebrać krótki pakiet danych, a następnie natychmiast wracając do głębokiego snu. Ta fundamentalna różnica w architekturze umożliwia istnienie całego nowego wszechświata połączonych urządzeń, czyniąc IoT praktyczną rzeczywistością.

Prostsze, Inteligentniejsze Radio: Warstwa Fizyczna Bluetooth LE

Aby osiągnąć swoją niezwykłą energooszczędność, Bluetooth LE wykorzystuje warstwę fizyczną, która, choć dzieli to samo pasmo ISM 2.4 GHz co jej klasyczny odpowiednik, działa w sposób fundamentalnie inny i bardziej uproszczony.

Inny Układ Kanałów

Podczas gdy Bluetooth Classic dzieli spektrum 2.4 GHz na 79 kanałów o szerokości 1 MHz każdy, Bluetooth LE używa prostszego schematu z 40 kanałami, każdy o szerokości 2 MHz. Ta szersza separacja kanałów sprawia, że radia są mniej podatne na dryf częstotliwości i zakłócenia, co pozwala na prostsze i tańsze projekty sprzętowe. Te 40 kanałów dzieli się na dwa odrębne typy:

  • Kanały Ogłoszeniowe (3 Kanały):Są to "publiczne kanały rozgłoszeniowe" świata Bluetooth LE. Są tylko trzy (Kanały 37, 38 i 39). Ich częstotliwości zostały strategicznie wybrane tak, aby znajdowały się pomiędzy głównymi kanałami Wi-Fi (1, 6 i 11), minimalizując prawdopodobieństwo bezpośredniej interferencji. Całe odkrywanie urządzeń, rozgłaszanie danych i inicjowanie połączeń odbywa się wyłącznie na tych trzech kanałach. Urządzenie szukające połączenia musi nasłuchiwać tylko na tych trzech konkretnych częstotliwościach, a nie na wszystkich 79, co drastycznie zmniejsza zużycie energii w fazie odkrywania.
  • Kanały Danych (37 Kanałów): Pozostałe 37 kanałów (od 0 do 36) są używane do dwukierunkowej wymiany danych po nawiązaniu połączenia. Gdy dwa urządzenia zgodzą się na połączenie na kanale ogłoszeniowym, przełączają się na kanały danych i zaczynają razem przeskakiwać między tymi 37 kanałami w zsynchronizowanym wzorcu, podobnie jak w Bluetooth Classic, w celu utrzymania solidnego połączenia.

Modulacja i Szybkość Transmisji Danych

Standardowym schematem modulacji dla Bluetooth LE jest to samo, co dla Basic Rate w Bluetooth Classic: . Przy szybkości symbolowej 1 Msps, daje to surową szybkość transmisji danych na poziomie 1 Mbps. Chociaż Bluetooth 5 i nowsze wersje wprowadziły opcje wyższej prędkości (2 Mbps) i trybu kodowanego o dalekim zasięgu, ta podstawowa szybkość 1 Mbps jest fundamentem całej komunikacji LE, zapewniając niezawodną i energooszczędną metodę przesyłania krótkich pakietów danych.

Adaptacyjne Przeskoki Częstotliwości (AFH)

Podobnie jak jego klasyczny odpowiednik, LE wykorzystuje , aby przetrwać w hałaśliwym środowisku 2.4 GHz. Urządzenie LE może stale monitorować kanały w swojej mapie przeskoków. Jeśli wykryje, że dany kanał jest konsekwentnie zaszumiony lub zajęty przez inną technologię, taką jak Wi-Fi, może poinformować o tym połączonego partnera, a oba urządzenia usuną ten "zły" kanał ze swojej wspólnej sekwencji przeskoków. Pozwala to na dynamiczne dostosowanie połączenia do otoczenia radiowego, unikanie zakłóceń i utrzymanie stabilnego łącza.

Nowe Role dla Nowego Paradygmatu: Central, Peripheral i GATT

Architektura Master/Slave z Bluetooth Classic, zaprojektowana dla stabilnych połączeń jeden do jednego, nie była wystarczająco elastyczna dla dynamicznego świata IoT. Bluetooth LE wprowadza nowy zestaw ról oraz, co najważniejsze, standardową strukturę organizacji danych zwaną Generic Attribute Profile (GATT).

Peripheral (Serwer GATT)

Peripheral to zazwyczaj małe, zasilane bateryjnie urządzenie IoT. To urządzenie, które posiada dane. Na przykład monitor tętna to Peripheral. Nie może samo zainicjować połączenia; zamiast tego "ogłasza" swoją obecność i oferowane usługi danych, czekając, aż urządzenie Central się z nim połączy. W strukturze GATT, Peripheral pełni rolę Serwera, ponieważ "serwuje" dane klientowi.

Central (Klient GATT)

Central to zazwyczaj potężniejsze urządzenie, jak smartfon, tablet czy komputer. To urządzenie, które chce danych. Urządzenie Central "skanuje" w poszukiwaniu ogłaszających się Peripheral i może zdecydować o zainicjowaniu połączenia z jednym z nich. W strukturze GATT, Central pełni rolę Klienta, ponieważ żąda danych od Serwera.

Ten model jest wysoce wydajny. Pojedynczy Peripheral może ogłaszać się do wielu Central naraz, a pojedynczy Central może być połączony z wieloma Peripheral jednocześnie.

GATT: Uniwersalny Język Danych LE

Protokół jest sercem wymiany danych w Bluetooth LE. Zapewnia uniwersalny, standardowy sposób strukturyzacji i organizacji danych na urządzeniu Peripheral, czyniąc je zrozumiałymi dla każdego Central, które się z nim połączy. GATT jest zorganizowany w prostą hierarchię:

  1. Profil:Wysokopoziomowy, predefiniowany zbiór usług, które razem definiują konkretny przypadek użycia. Na przykład "Profil Tętna" określa, że urządzenie musi zawierać "Usługę Tętna". Zapewnia to interoperacyjność typu "plug-and-play".
  2. Usługa: Zbiór powiązanych punktów danych, zwanych charakterystykami. Usługa jest jak folder, który grupuje podobne informacje. Na przykład "Usługa Tętna" zawierałaby dane o tętnie, a "Usługa Baterii" informacje o poziomie naładowania baterii. Każda usługa jest identyfikowana przez unikalny numer zwany .
  3. Charakterystyka:Rzeczywista wartość danych. Jest to podstawowy element informacji. Charakterystyka jest jak plik w folderze usługi. Przykłady to "Pomiar Tętna" lub "Poziom Baterii". Każda charakterystyka posiada:
    • Wartość: Rzeczywiste dane (np. liczba `120`).
    • UUID: Unikalny identyfikator dla tego konkretnego typu danych.
    • Właściwości: Zestaw uprawnień określających, co Central może z nią zrobić (np. Odczyt, Zapis, Powiadomienie).
  4. Deskryptor:Opcjonalne, dodatkowe informacje opisujące charakterystykę, takie jak czytelny dla człowieka opis (np. "Uderzenia na minutę") lub prawidłowy zakres jej wartości.

Proces Połączenia LE: Przewodnik Krok po Kroku

Cały cykl życia interakcji Bluetooth LE, od odkrycia po wymianę danych, jest skrupulatnie zaprojektowany pod kątem efektywności energetycznej.

Krok 1: Ogłaszanie (Advertising)

Peripheral (np. inteligentny termostat), który chce być wykryty, zaczyna okresowo rozgłaszać krótkie "pakiety ogłoszeniowe" na trzech kanałach ogłoszeniowych (37, 38, 39). Pakiety te zawierają podstawowe informacje, takie jak jego nazwa i kluczowe usługi, które oferuje, pozwalając Central zdecydować, czy chce się połączyć, bez marnowania energii na pełne zapytanie.

Krok 2: Skanowanie

Central (np. smartfon), który chce się połączyć, wchodzi w stan skanowania, w którym krótko nasłuchuje na kanałach ogłoszeniowych w poszukiwaniu tych pakietów. Aplikacja na telefonie może następnie wyświetlić listę pobliskich urządzeń, które się ogłaszają.

Krok 3: Łączenie

Gdy użytkownik wybierze termostat w aplikacji, smartfon (Central) wysyła pakiet z żądaniem połączenia do termostatu (Peripheral). Pakiet ten zawiera kluczowe parametry połączenia, takie jak , który definiuje, jak często urządzenia będą się budzić w celu komunikacji.

Krok 4: Wymiana Danych przez GATT

Po połączeniu oba urządzenia przełączają się na kanały danych i zaczynają przeskoki częstotliwości. Aplikacja na smartfonie zbada teraz serwer GATT termostatu, aby odkryć jego usługi i charakterystyki (np. "Usługa Temperatury" z charakterystyką "Aktualna Temperatura"). Użytkownik może teraz wchodzić w interakcję z tymi danymi:

  • Odczyt Danych: Aplikacja wysyła żądanie "odczytu", aby uzyskać aktualną temperaturę z termostatu.
  • Zapis Danych: Użytkownik zmienia docelową temperaturę w aplikacji. Aplikacja wysyła polecenie "zapisu" do charakterystyki "Docelowa Temperatura" termostatu, zmieniając jego ustawienie.
  • Subskrypcja przez Powiadomienia: Aplikacja może zasubskrybować charakterystykę "Aktualna Temperatura". Teraz termostat będzie automatycznie wysyłał aktualizację (pakiet "powiadomienia") do telefonu za każdym razem, gdy temperatura się zmieni, bez konieczności ciągłego pytania o jej wartość. Jest to niezwykle energooszczędne w porównaniu z wielokrotnym odpytywaniem o wartość.

Krok 5: Zakończenie

Gdy interakcja jest zakończona, Central lub Peripheral może wysłać polecenie zakończenia połączenia. Peripheral wraca wtedy do stanu ogłaszania, gotowy na nowe połączenie.