Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00746 009377 11024821 na godz. na dobę w sumie
Bluetooth - książka
Bluetooth - książka
Autor: , , Liczba stron: 320
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-968-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> sieci komputerowe >> sieci bezprzewodowe
Porównaj ceny (książka, ebook, audiobook).

Uwolnij się od kabli

W największym skrócie Bluetooth można określić jako sposób na pozbycie się kabli i przewodów. Standard Bluetooth pozwala na bezprzewodową łączność i wymianę danych między urządzeniami mobilnymi (telefony komórkowe, notebooki, palmtopy, itp.) oraz stacjonarnymi (PC-ty, drukarki). Aktualizacja kalendarza czy spisu telefonów w palmtopie, łączenie cyfrowego dyktafonu z PC-tem, transmisja plików z aparatu cyfrowego, które następnie prześlesz 'komórką' do znajomego, to tylko część zastosowań tej nowatorskiej technologii.

Książka prezentuje dogłębny i szczegółowy opis standardu Bluetooth. Jej szczególną zaletą jest fakt, że autorami są osoby, które bezpośrednio przyczyniły się do opracowania nowej (oznaczonej numerem 1.1) wersji tego standardu. Możliwości Bluetooth 1.1 w porównaniu z wersją poprzednią zostały znacznie rozszerzone, zwłaszcza w zakresie współpracy z innymi systemami. Dzięki tym rozszerzeniom, obszar jego zastosowań znacząco się powiększył.

'Przeczytawszy po raz pierwszy książkę Brenta i Chatschika byłem pod wrażeniem faktu, że udało im się przedstawić ten skomplikowany temat w tak przejrzysty, zwięzły i dowcipny sposób. Przekształcenie tysięcy stron specyfikacji w kilkaset stron zrozumiałego tekstu nie jest wcale prostym zadaniem. Im jednak udało się to znakomicie.'

Tom Siep
General Manager,
Bluetooth SIG, Inc.

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI Bluetooth KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Autorzy: Brent A. Miller, Chatschik Bisdikian, Ph. D. Tłumaczenie: Marek Pałczyński ISBN: 83-7197-968-1 Tytu³ orygina³u: Bluetooth Revealed, 2E Format: B5, stron: 319 W najwiêkszym skrócie Bluetooth mo¿na okreġliæ jako sposób na pozbycie siê kabli i przewodów. Standard Bluetooth pozwala na bezprzewodow¹ ³¹cznoġæ i wymianê danych miêdzy urz¹dzeniami mobilnymi (telefony komórkowe, notebooki, palmtopy, itp.) oraz stacjonarnymi (PC-ty, drukarki). Aktualizacja kalendarza czy spisu telefonów w palmtopie, ³¹czenie cyfrowego dyktafonu z PC-tem, transmisja plików z aparatu cyfrowego, które nastêpnie przeġlesz „komórk¹” do znajomego, to tylko czêġæ zastosowañ tej nowatorskiej technologii. Ksi¹¿ka prezentuje dog³êbny i szczegó³owy opis standardu Bluetooth. Jej szczególn¹ zalet¹ jest fakt, ¿e autorami s¹ osoby, które bezpoġrednio przyczyni³y siê do opracowania nowej (oznaczonej numerem 1.1) wersji tego standardu. Mo¿liwoġci Bluetooth 1.1 w porównaniu z wersj¹ poprzedni¹ zosta³y znacznie rozszerzone, zw³aszcza w zakresie wspó³pracy z innymi systemami. Dziêki tym rozszerzeniom, obszar jego zastosowañ znacz¹co siê powiêkszy³. Przeczytawszy po raz pierwszy ksi¹¿kê Brenta i Chatschika by³em pod wra¿eniem faktu, ¿e uda³o im siê przedstawiæ ten skomplikowany temat w tak przejrzysty, zwiêz³y i dowcipny sposób. Przekszta³cenie tysiêcy stron specyfikacji w kilkaset stron zrozumia³ego tekstu nie jest wcale prostym zadaniem. Im jednak uda³o siê to znakomicie. Tom Siep General Manager, Bluetooth SIG, Inc. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Spis treści O Autorach ...................................................h..................................... 9 Przedmowa do wydania pierwszego .................................................. 11 Wstęp ...................................................h.......................................... 13 Część I Wprowadzenie do komunikacji bezprzewodowej Bluetooth ...................... 15 Rozdział 1. Czym jest Bluetooth?...................................................h.................... 17 Bluetooth Special Interest Group...................................................p...........................18 Historia i źródłosłów terminu Bluetooth ...................................................p..................22 Przewodnik po książce ...................................................p.........................................23 Rozdział 2. Podstawy technologii...................................................h.................... 27 Komunikacja przewodowa i bezprzewodowa ...................................................p.........27 Komunikacja bezprzewodowa na częstotliwościach radiowych ...................................28 Bezprzewodowa komunikacja w podczerwieni ...................................................p.......31 Rozwiązania radiowe komunikacji Bluetooth ...................................................p.........32 Rozdział 3. Modele zastosowań Bluetooth.................................................h......... 39 Komputer bez połączeń kablowych ...................................................p.......................40 Doskonały zestaw słuchawkowy ...................................................p...........................41 Telefon — trzy w jednym..................................................p......................................42 Interaktywne konferencje (transfer plików) ...................................................p...............43 Most internetowy...................................................p.................................................44 Laptop głośnomówiący...................................................p.........................................46 Automatyczna synchronizacja ...................................................p...............................47 Błyskawiczne widokówki ...................................................p.....................................48 Sieci ad hoc...................................................p...................................................p......49 Przetwarzanie niejawne ...................................................p........................................50 Inne scenariusze wykorzystania technologii...................................................p............51 Rozdział 4. Wprowadzenie do specyfikacji Bluetooth .......................................... 53 Przeznaczenie specyfikacji...................................................p....................................54 Zakres ...................................................p...................................................p.............55 Struktura specyfikacji...................................................p...........................................56 Zależności...................................................p...................................................p........58 Przewodnik po specyfikacji ...................................................p..................................59 6 Bluetooth Część II Specyfikacja Bluetooth...................................................r. 63 Rozdział 5. Stos protokołów Bluetooth...................................................h............ 65 Elementy stosu protokołów...................................................p...................................65 Grupa protokołów transportowych ...................................................p........................67 Grupa protokołów pośredniczących ...................................................p.......................71 Grupa aplikacji ...................................................p...................................................p.76 Rozdział 6. Niższe warstwy grupy protokołów transportowych ............................. 79 Warstwy protokołów i terminologia...................................................p.......................81 Interfejs radiowy Bluetooth...................................................p...................................82 Kontroler połączenia i pasmo podstawowe...................................................p.............85 Menedżer połączenia i protokół menedżera połączenia ............................................. 110 Rozdział 7. Wyższe warstwy grupy protokołów transportowych ......................... 123 Warstwa L2CAP ...................................................p............................................... 124 Interfejs kontrolera hosta (HCI) ...................................................p.......................... 136 Rozdział 8. Protokoły pośredniczące — SDP i RFCOMM ................................... 147 Protokół RFCOMM ...................................................p........................................... 148 Protokół wyszukiwania usług (SDP)...................................................p.................... 154 Rozdział 9. Protokoły współpracy z IrDA ...................................................h........ 165 Protokoły współpracy z IrDA...................................................p.............................. 167 Rozdział 10. Sterowanie połączeniami audio i telefonią...................h.................... 173 Procedury sterowania połączeniami audio i telefonią................................................ 174 Część III Profile zastosowań Bluetooth ........................................ 183 Rozdział 11. Profile Bluetooth....................................h........................................ 185 Profile wersji 1.x...................................................p................................................ 185 Rozdział 12. Profile ogólne ...................................................h............................. 189 Zależności...................................................p...................................................p...... 189 Profil dostępu podstawowego (GAP) ...................................................p................... 190 Profil aplikacji wyszukiwania usług (SDAP) ...................................................p........ 196 Rozdział 13. Profil telefonii ...................................................h............................. 201 Zależności...................................................p...................................................p...... 201 Profil telefonii bezprzewodowej ...................................................p.......................... 203 Profil interkomu ...................................................p................................................ 208 Profil zestawu słuchawkowego...................................................p............................ 210 Rozdział 14. Profil szeregowy i profil wymiany obiektów ..................................... 213 Zależności...................................................p...................................................p...... 214 Profil portu szeregowego ...................................................p.................................... 214 Profil ogólnej wymiany obiektów ...................................................p........................ 216 Profil wypychania obiektów...................................................p................................ 218 Profil transferu plików...................................................p........................................ 222 Profil synchronizacji danych ...................................................p............................... 225 Rozdział 15. Profile pracy sieciowej ...................................................h................ 231 Zależności...................................................p...................................................p...... 232 Profil pracy sieciowej z połączeniem komutowanym................................................ 232 Profil dostępu do LAN ...................................................p....................................... 236 Porównanie LAP i DUNP...................................................p................................... 241 Profil faksu ...................................................p...................................................p.... 243 Spis treści 7 Część IV Całościowe spojrzenie na technologię Bluetooth ........... 247 Rozdział 16. Porównanie z podobnymi technologiami .......................................... 249 Rodzaje sieci ...................................................p...................................................p.. 249 Inne technologie bezprzewodowe ...................................................p........................ 251 Porównanie IrDA i bezprzewodowej komunikacji Bluetooth..................................... 252 Porównanie HomeRF i bezprzewodowej komunikacji Bluetooth ............................... 254 Podsumowanie technologii WPAN...................................................p...................... 256 Bezprzewodowe sieci LAN...................................................p................................. 256 IEEE 802.15 a bezprzewodowa komunikacja Bluetooth ........................................... 258 Rozdział 17. Program kwalifikacyjny ...................................................h............... 263 Czym jest program kwalifikacyjny?...................................................p..................... 263 Czemu służy program kwalifikacyjny?...................................................p................. 264 Program kwalifikacyjny Bluetooth ...................................................p...................... 266 Część V Przyszłość technologii Bluetooth ................................... 273 Rozdział 18. Po opublikowaniu specyfikacji 1.x .................................................. 275 Zmiany w SIG...................................................p...................................................p 276 Przyszłe aplikacje ...................................................p.............................................. 284 Produkty Bluetooth...................................................p............................................ 288 Rozdział 19. Wnioski ...................................................h...................................... 293 Rynek technologii Bluetooth...................................................p............................... 293 Szanse ...................................................p...................................................p........... 294 Dodatki...................................................r....................... 297 Bibliografia — cytowane źródła ...................................................h... 299 Lista znaków towarowych ...................................................h........... 303 Skorowidz...................................................h................................... 305 Rozdział 5. Stos protokołów Bluetooth Zasadnicza część specyfikacji Bluetooth koncentruje się na stosie protokołów. Stos ten pozwala urządzeniom na wzajemne lokalizowanie i łączenie się, a także umożli- wia wymianę danych z każdym z nich oraz uruchamianie wspólnych, interaktywnych aplikacji. W niniejszym rozdziale zostaną zaprezentowane główne elementy stosu pro- tokołów Bluetooth, ze szczególnym uwzględnieniem zależności występujących pomiędzy różnymi warstwami. Poszczególne protokoły szczegółowo przedstawiono w następnych rozdziałach. Elementy stosu protokołów Najogólniejsze kryterium podziału stosu protokołów Bluetooth ilustruje rysunek 5.1. Poszczególne elementy stosu (protokoły, warstwy, aplikacje, itp.) podzielono na trzy grupy logiczne:  grupę protokołów transportowych (transport protocol),  grupę protokołów pośredniczących (middleware protocol),  grupę aplikacji (application). Rysunek 5.1. Ogólny podział stosu protokołów Bluetooth 64 Część II ♦ Specyfikacja Bluetooth Grupa protokołów transportowych — Grupa ta składa się z protokołów zaprojekto- wanych z myślą o umożliwieniu urządzeniom Bluetooth wzajemnej lokalizacji oraz tworzenia, konfigurowania i zarządzania zarówno fizycznymi, jak i logicznymi połą- czeniami, dzięki którym wyższe warstwy protokołów i aplikacje mogą przy użyciu proto- kołów transportowych przesyłać dane. W skład protokołów grupy wchodzą protokoły radiowe, pasma podstawowego, menedżera połączenia, połączenia logicznego i adaptacji oraz interfejsu kontrolera hosta (HCI). 1 Grupa protokołów pośredniczących — Działanie aktualnych i przyszłych aplikacji opartych na połączeniach Bluetooth wymaga dodatkowych protokołów transportowych wchodzących w skład tej właśnie grupy. Grupa protokołów pośredniczących zawiera zarówno protokoły autorstwa firm zewnętrznych oraz standardy przemysłowe, jak i proto- koły opracowane przez SIG specjalnie z myślą o bezprzewodowej komunikacji Bluetooth. Do tych pierwszych należy zaliczyć protokoły związane z Internetem (PPP, IP, TCP, itp.), protokoły aplikacji bezprzewodowych, protokoły przesyłania obiektów adaptowane ze standardu IrDA, itp. Do drugiego wspomnianego zestawu należą trzy protokoły zapro- jektowane specjalnie dla komunikacji Bluetooth i pozwalające wielu rodzajom innych aplikacji na korzystanie z połączeń Bluetooth. Protokół emulacji portu szeregowego, zwany RFCOMM, umożliwia aplikacjom, które normalnie korzystałyby z portu sze- regowego, na bezproblemowe komunikowanie się poprzez połączenia Bluetooth. Proto- kół sygnalizacyjny telefonicznych połączeń pakietowych umożliwia sterowanie zaawan- sowanymi funkcjami telefonicznymi, takimi jak zarządzanie grupami czy wsparcie dla bezprzewodowych słuchawek telefonicznych i stacji bazowych. W końcu, protokół wyszukiwania usług (SDP) pozwala urządzeniom rozpoznawać pełnione funkcje i po- zyskiwać informacje na temat sposobów korzystania z nich. Grupa aplikacji — Grupa składa się z rzeczywistych aplikacji, które korzystają z po- łączeń Bluetooth. Mogą to być klasyczne aplikacje, które nie były budowane pod ką- tem transmisji Bluetooth, takie jak aplikacja zestawiania połączenia modemowego czy przeglądarki internetowej. Z drugiej jednak strony mogą być również aplikacjami prze- znaczonymi do komunikowania się w technologii Bluetooth — na przykład aplikacja za- rządzająca urządzeniami telefonicznymi przy wykorzystaniu protokołu obsługi telefonii. Protokoły grupy transportowej szczegółowo przedstawiono w rozdziałach 6. i 7. Roz- działy od 8. do 10. omawiają protokoły warstwy pośredniczącej, które zostały opraco- wane lub zaadaptowane przez SIG. Trzecia część książki została poświęcona różno- rodnym aplikacjom determinowanym profilami zastosowań. Zanim przejdziemy do szczegółowego omówienia protokołów i aplikacji, przybliżymy kluczowe protokoły grupy transportowej i pośredniczącej oraz zależności pomiędzy nimi. ę 1 HCI nie jest w gruncie rzeczy protokołem. Niemniej specyfikacja HCI definiuje formaty pakietów przechodzących przez interfejs hosta oraz związki pomiędzy tymi pakietami. Jeżeli na przykład nadajemy pakiet A, spodziewamy się odbioru pakietu B. Formaty i zależności pomiędzy pakietami są zasadniczymi elementami specyfikacji protokołu. Z tego względu HCI zalicza się do protokołów transportowych. Rozdział 5. ♦ Stos protokołów Bluetooth 65 Grupa protokołów transportowych Organizacja protokołów w ramach grupy transportowej została przedstawiona na ry- sunku 5.2. Znajdują się tam protokoły opracowane przez SIG, których zdanie polega na przenoszeniu danych i sygnałów audio pomiędzy urządzeniami. Niniejszy rozdział prezentuje protokoły w odwrotnym porządku, czyli z punktu widzenia urządzenia nadawczego, które przekazuje ruch z wyższych warstw transportowych do niższych. Oznacza to, że w urządzeniach odbiorczych dane propagują w przeciwną stronę. Kolejne rozdziały będą prezentować protokoły z punktu widzenia urządzenia odbiorczego, co jest układem zgodnym z proponowanym przez specyfikację. Rysunek 5.2. Stos protokołów grupy transportowej Protokoły transportowe obsługują zarówno asynchroniczne transmisje wymiany danych, jak i synchroniczne (okresowe) transmisje komunikacji głosowej o jakości telefonicznej (64 Kbps). W celu utrzymania wysokiego poziomu obsługi, wymaganego w aplika- cjach audio, ruch audio traktowany jest priorytetowo. Dane audio omijają pośrednie warstwy protokołów i są przekazywane bezpośrednio z aplikacji audio do warstwy pasma podstawowego, gdzie w postaci małych pakietów transmitowane są poprzez interfejs radiowy Bluetooth. Zanim przejdziemy do kolejnych zagadnień związanych z grupą protokołów transpor- towych, musimy zauważyć, że protokoły grupy transportowej nie należą do warstwy transportowej (czwartej warstwy) siedmiowarstwowego modelu OSI (Open System Interconnection)! W odniesieniu do tego modelu protokoły grupy transportowej zna- lazłyby się w warstwie łącza danych (warstwa druga) i warstwie fizycznej (warstwa pierwsza). Podsumowując — zbiór protokołów grupy transportowej tworzy wirtualny kanał, który jest używany do przesyłania danych z jednego urządzenia do drugiego za pomocą interfejsu radiowego Bluetooth. Protokoły te w gruncie rzeczy definiują me- chanizmy transportu danych pomiędzy komunikującymi się urządzeniami. Do tego też nawiązuje nazwa grupy protokołów. Używa się także terminu „grupa protokołów transportowych Bluetooth”. Celem jest odróżnienie protokołów transportowych opra- cowanych przez Bluetooth SIG od protokołu warstwy transportowej modelu OSI (war- stwa czwarta). Należy zauważyć, że komunikacja pomiędzy urządzeniami Bluetooth 66 Część II ♦ Specyfikacja Bluetooth zawsze wymaga użycia wszystkich protokołów tej grupy, co nie ma miejsca w przy- padku innych protokołów (spoza tej grupy), nawet tych, które zostały opracowane przez SIG (np. RFCOMM). Warstwa L2CAP Cały ruch aplikacji wymiany danych przekazywany jest w pierwszej kolejności poprzez warstwę protokołu kontroli połączenia logicznego i adaptacji (L2CAP — logical link control and adaptation protocol). Warstwa L2CAP uniezależnia protokoły wyższych warstw oraz aplikacje od szczegółowych rozwiązań protokołów transportowych niższej warstwy. Tym samym nie ma potrzeby informowania wyższych warstw o wykonywa- nych przeskokach częstotliwościowych interfejsu radiowego i pasma podstawowego czy konkretnych formatach pakietów stosowanych w transmisji poprzez interfejs ra- diowy Bluetooth. L2CAP pozwala na multipleksację protokołów, dzięki czemu interfejs radiowy może być współdzielony przez wiele protokołów i aplikacji. Prowadzi również segmentację pakietów — dzieli duże pakiety, które pochodzą z wyższych warstw, na ich mniejsze odpowiedniki, stosowane w transmisji w paśmie podstawowym. Analo- giczny proces odwrotny — reasemblacja pakietów — zachodzi w urządzeniu odbior- czym. Co więcej, w trakcie połączenia dwóch równorzędnych urządzeń, warstwa L2CAP umożliwia utrzymanie odpowiedniej jakości usług poprzez negocjowanie i akcepto- wanie poziomu obsługi. W zależności od żądanego poziomu obsługi, warstwa L2CAP może sterować nowym ruchem (napływem danych nowych połączeń) i koordynować pracę niższych warstw tak, aby utrzymać wymagany poziom obsługi. Warstwa L2CAP i jej protokoły radiowe opisano szczegółowo w rozdziale 7. Warstwa menedżera połączenia Zadaniem znajdującego się w każdym urządzeniu menedżera połączenia jest nego- cjowanie, przy pomocy protokołu menedżera połączenia (LMP — link manager pro- tocol), parametrów łącza radiowego pomiędzy urządzeniami Bluetooth. Parametry te określają szerokość pasma, którą należy zarezerwować, żeby zapewnić odpowiedni poziom obsługi dla wymiany danych (L2CAP) oraz okresową rezerwację pasma dla połączeń audio. Menedżer połączenia Bluetooth w urządzeniu komunikacyjnym sto- suje uwierzytelnianie na zasadzie „wezwanie-odpowiedź”. Nadzoruje łączenie w pary (tworzenie wiarygodnego połączenia pomiędzy urządzeniami poprzez generowanie i przechowywanie kluczy uwierzytelniających, które później wykorzystywane są do uwierzytelniania urządzeń) i szyfrowanie, w razie potrzeby, danych transmitowanych przez interfejs radiowy. W sytuacji, gdy uwierzytelnianie nie powiedzie się, menedżer połączenia może zerwać połączenie z danym urządzeniem i nie dopuścić do jakiejkol- wiek dalszej komunikacji z nim. Menedżer połączenia umożliwia również sterowanie mocą poprzez negocjowanie przejścia do pracy w trybie małej aktywności pasma pod- stawowego (zagadnienie wprowadzone w rozdziale 2. i szczegółowo omówione w roz- dziale 6.). Wymienia w tym celu stosowne informacje, jak na przykład czas pozostawania pasma podstawowego w trybie małej aktywności. Co więcej, menedżer połączenia może zażądać dostosowania poziomu mocy nadawczej w celu dalszego ograniczenia poboru mocy, zgodnie z tym, co zostało opisane w rozdziałach 2. i 6. Warstwa mene- dżera połączenia oraz jego protokół radiowy zostały szczegółowo scharakteryzowane w rozdziale 6. Rozdział 5. ♦ Stos protokołów Bluetooth 67 Warstwa pasma podstawowego i warstwa radiowa. Warstwa pasma podstawowego definiuje i urzeczywistnia interfejs radiowy Bluetooth. Stosując analogię do kabla połączeniowego, można by powiedzieć, że pasmo podsta- wowe determinuje „kształt” i „rozkład wyprowadzeń” przyłącza. Pasmo podstawowe definiuje proces wzajemnego wyszukiwania urządzeń oraz sposób zestawiania połączeń pomiędzy nimi. Narzuca urządzeniom funkcje master bądź slave (opisane w rozdziale 2.) — urządzenie, które inicjuje połączenie staje się urządzeniem typu master, natomiast drugie urządzenie staje się jednostką typu slave. Do zadań pasma podstawowego należy także definiowanie zasad doboru sekwencji przeskoków częstotliwościowych w komu- nikujących się urządzeniach. Określa reguły współdzielenia interfejsu radiowego przez kilka urządzeń. Bazuje pod tym względem na technice pakietowego połączenia duplek- sowego z podziałem czasowym (TDD — time division duplex) oraz na schemacie prze- pytywania. Szczegółowo określa zasady współdzielenia interfejsu radiowego przez połączenia synchroniczne i asynchroniczne. W transmisji synchronicznej na przykład, urządzenie master okresowo transmituje dane lub przepytuje urządzenie slave. W za- leżności od tego, czy mamy do czynienia z połączeniami synchronicznymi, czy asyn- chronicznymi, pasmo podstawowe definiuje różne rodzaje pakietów oraz różne pro- cedury ich przetwarzania, w tym detekcję i korekcję błędów, wybielanie2 sygnału, szyfrowanie, transmisję i retransmisję pakietów. Warstwa pasma podstawowego i jego protokół radiowy zostaną szczegółowo omówione w rozdziale 6. Należy zwrócić uwagę na fakt, że model master-slave nie obowiązuje w warstwach znajdujących się powyżej warstwy menedżera połączenia. W warstwie L2CAP i wyż- szych komunikacja odbywa się na zasadach określonych przez model peer-to-peer (równy-z-równym). Nie ma zatem rozróżnienia na pracę w trybie master czy slave. Rozważania na temat radiowych transmisji pakietowych są bez bezprzedmiotowe bez zastosowania współdziałających ze sobą nadajników i odbiorników radiowych czy transceiverów3. Projekt interfejsu radiowego Bluetooth zawiera kilka parametrów, które czynią go optymalnym w pracy ze stosem protokołów Bluetooth w ramach bezprze- wodowej komunikacji o małym zasięgu. Część radiowa rozdziału 6. omawia szczegóły radia Bluetooth. Warstwa HCI Interfejs radiowy, pasmo podstawowe i menedżer połączenia mogą być umieszczane razem w module Bluetooth. Moduł taki dołączany jest następnie do urządzenia macie- rzystego (host), dzięki czemu urządzenie to zyskuje możliwość bezprzewodowej ko- munikacji w standardzie Bluetooth. W przypadku takiej konfiguracji, host składa się z warstwy L2CAP i dowolnych, adekwatnych elementów wyższych warstw stosu pro- tokołów. Moduł przyłączany jest do urządzenia macierzystego przy pomocy pewnego interfejsu fizycznego, zwanego elementem transportowym hosta (host transport). Przy- kładami mogą tu być: magistrala USB (Universal Serial Bus), port RS232 lub UART. ę 2 3 Termin wybielania związany jest z kodowaniem kanałowym sygnału i zostanie szczegółowo opisany w rozdziale 6. Transceiver jest urządzeniem nadawczo-odbiorczym — przypis tłumacza. 68 Część II ♦ Specyfikacja Bluetooth Moduły Bluetooth opracowywane są przez różnych producentów. Jest to możliwe dzięki temu, że specyfikacja definiuje wspólny interfejs dostępu do znajdujących się w mo- dule niższych warstw stosu protokołów. Interfejs ten nie jest zależny od konkretnego fizycznego interfejsu, który łączy hosta z modułem. Interfejs kontrolera hosta (HCI — host controller interface) jest pojedynczym, standardowym interfejsem, który po- zwala wyższym warstwom stosu, w tym aplikacji, na dostęp do pasma podstawowego, menedżera połączenia i innych rejestrów sprzętowych. Komendy HCI służą wprowa- dzaniu modułu w określony tryb pracy, w którym realizowane mogą być na przykład zadania uwierzytelniania czy przywoływania urządzeń. Zdarzenia HCI informują wyższe warstwy stosu o wynikach operacji wyszukiwania, o ustawieniach umieszczo- nego w paśmie podstawowym kodeka audio, o sile obieranego sygnału itp. Oczywiście przez warstwę HCI przechodzą zarówno połączenia synchroniczne. jak i asynchroniczne, zarówno w trakcie nadawania, jak i odbioru danych przez hosta. Mimo, iż z reguły warstwa HCI znajduje się pod warstwą L2CAP, nie jest elementem wymaganym przez specyfikację. Jedynym powodem, dla którego została opracowana, jest chęć umożliwienia współdziałania różnych urządzeń macierzystych z modułami Bluetooth, niezależnie od producentów każdego z nich. Konkretny produkt, który im- plementuje technologię Bluetooth, nie musi spełniać założeń specyfikacji warstwy HCI by móc w pełni korzystać z interfejsu radiowego Bluetooth. Na przykład w silnie zintegro- wanym systemie stanowiącym element większego systemu, HCI może w ogóle nie istnieć lub może znajdować się w innym miejscu w ramach stosu protokołów (np. nad warstwą L2CAP), może również mieć postać inną niż przewiduje to specyfikacja. HCI i różnego rodzaju protokoły transportu danych z hosta przedstawiono szczegółowo w rozdziale 7. Pokazana na rysunku 5.2 ścieżka sterowania (control path) służy przekazywaniu infor- macji sterujących pomiędzy poszczególnymi warstwami. Przykładowo warstwa L2CAP powiadamia menedżera połączenia o jej wymaganiach dotyczących jakości usługi. Inny przypadek to sytuacja, kiedy aplikacja przekazuje żądanie użytkownika końcowego dotyczące obniżenia poboru mocy. Zazwyczaj, choć nie zawsze, możliwości sterowa- nia udostępnione wyższym warstwom (w tym użytkownikowi końcowemu) służą wy- borowi trybu pracy urządzenia. W trybie tym urządzenie pozostaje do czasu ponownej zmiany trybu pracy, której dokonano w wyższych warstwach stosu. Możliwe jest na przykład osobiste włączenie lub wyłączenie uwierzytelniania lub szyfrowania danych w połączeniu z konkretnym urządzeniem. Jednostka wyższej warstwy (np. aplikacja czy jej użytkownik) może przełączyć urządzenia na tryb pracy o obniżonym poborze mocy. Operacja taka zostanie odwzorowana na stosowny sygnał sterujący, zrozumiały dla menedżera połączenia, który z kolei będzie w stanie odpowiednio zareagować. Podobnie, możliwe jest przestawienie danego urządzenia na tryb pracy umożliwiający jego wyszukanie (w trybie tym urządzenie odpowiadałoby na zapytania przesyłane przez inne urządzenia) lub przełączenie na tryb pracy komunikacji tylko z zaufanymi urządzeniami (urządzenie odpowiada na żądania ustanowienia połączenia pochodzące tylko od określonych, znanych urządzeń, które i tak podlegają uwierzytelnianiu). Ścieżka sterowania nie jest jednoznacznie opisana w specyfikacji, choć wzmianki na jej temat pojawiają się przy okazji różnych protokołów stosu. Tak czy inaczej, specyfikacja HCI opisuje znaczną część informacji, które są przez nią przenoszone. Przyjmujemy zatem taką samą zasadę prezentacji sygnałów sterujących przenoszonych za pośred- nictwem HCI przez ścieżkę sterowania oraz taką samą zasadę wpływu tych sygnałów na różnego rodzaju protokoły i tryby pracy. Rozdział 5. ♦ Stos protokołów Bluetooth 69 Grupa protokołów pośredniczących Grupę protokołów pośredniczących przedstawiono na rysunku 5.3. Protokoły pośred- niczące korzystają ze znajdujących się niżej protokołów transportowych oraz udostęp- niają warstwom aplikacji standardowy interfejs, który służy komunikowaniu się po- przez elementy transportowe. Każda z warstw pośredniczących stosuje standardowy protokół, który z punktu widzenia aplikacji umieszcza komunikację na wyższym po- ziomie abstrakcji niż miałoby to miejsce w przypadku bezpośredniego komunikowania się z niższą warstwą — warstwą protokołów transportowych. W skład protokołów pośredniczących wchodzą:  RFCOMM — wirtualny port szeregowy,  protokół wyszukiwania usług (SDP — Service Discovery Protocol) — wykorzystywany do opisu udostępnianych usług oraz lokalizowania poszukiwanych usług,  zestaw protokołów współpracy z IrDA (IrDA interoperability) zaadaptowanych ze standardu IrDA i umożliwiających współdziałanie z aplikacjami standardu IrDA,  specyfikacja obsługi telefonii (TCS — Telephony Control Specification) — wykorzystywana do obsługi połączeń telefonicznych, którymi mogą być zarówno połączenia audio jak i połączenia transmisji danych. Rysunek 5.3. Grupa protokołów pośredniczących Każdy protokół wraz z komunikacją audio Bluetooth (która nie jest protokołem jako takim, choć jest rozważana jako część stosu protokołów) został w tym rozdziale krótko scharakteryzowany. Szczegółowe informacje na temat protokołów zawierają dalsze rozdziały książki. 70 Część II ♦ Specyfikacja Bluetooth Warstwa RFCOMM Najpowszechniejszymi obecnie interfejsami komunikacyjnymi, stosowanymi przez komputery i urządzenia telekomunikacyjne, są porty szeregowe. Większość technologii komunikacji szeregowej zakłada wykorzystanie kabli do przesyłania danych z portów szeregowych. Ponieważ celem bezprzewodowej komunikacji Bluetooth jest zastąpienie połączeń kablowych, funkcje obsługi komunikacji szeregowej i związanych z nią apli- kacji stały się istotnym elementem pierwotnych modeli zastosowań, których celem było eliminowanie tego typu połączeń. W skład aplikacji, które najczęściej stosują komu- nikację szeregową (wraz z towarzyszącymi jej kablami), wchodzą: aplikacje transferu plików i obiektów w sieciach peer-to-peer, aplikacje synchronizacji danych czy apli- kacje pracy sieciowej z połączeniami komutowanymi. W celu umożliwienia prowadzenia komunikacji szeregowej w ramach połączeń Blu- etooth, stos protokołów został wyposażony w warstwę symulującą działanie portu sze- regowego, zwaną RFCOMM. Z punktu widzenia aplikacji, RFCOMM stanowi wirtualny port szeregowy. Pozwala zatem aplikacjom zaprojektowanym z myślą o kablowej trans- misji szeregowej na łatwe przejście do sfery szeregowej komunikacji bezprzewodowej. Aplikacja korzysta z RFCOMM niemalże na takich samych zasadach, jak ze standar- dowego portu szeregowego, który przyłączono za pomocą kabla. Realizacja zadań takich jak synchronizacja, praca sieciowa z połączeniami komutowanymi itp. nie wymaga wprowadzania istotnych (jeżeli w ogóle wymaga jakichkolwiek) zmian w samej aplikacji. Z założenia protokół RFCOMM pozwala starszym aplikacjom, które używają portu szeregowego, na korzystanie z technologii transportu Bluetooth. RFCOMM jest standardem ETSI (European Telecommunications Standard Institute) TS 07.10. Definiuje on multipleksowaną transmisję szeregową w pojedynczym łączu szeregowym. Specyfikacja Bluetooth zaadaptowała część standardu ETSI TS 07.10, wprowadzając pewne modyfikacje, opracowane specjalnie dla komunikacji Bluetooth. Ponieważ komunikacja szeregowa jest tak powszechna w urządzeniach cyfrowych, re- alizowana przez RFCOMM funkcja portu szeregowego staje się istotnym składnikiem stosu protokołów. Szczególne znaczenie ma fakt, że wersja 1.x4 specyfikacji udostęp- nia tę własność starszym aplikacjom. Szczegóły dotyczące tematu warstwy RFCOMM można znaleźć w rozdziale 8. Warstwa SDP Tworzenie modelu zastosowań Bluetooth może być pod pewnymi względami rozpa- trywane jako udostępnianie pewnego zbioru usług. Podstawowym celem budowania sieci urządzeń jest umożliwienie im wzajemnego komunikowania się, a tym samym wzajemnego udostępniania własnych usług. W tradycyjnych sieciach (jak na przykład sieć lokalna Ethernet) usługi (jak udostępnianie plików, udostępnianie drukarek, odwzo- rowywanie nazw, łączenie sieci czy rutowanie połączeń) udostępniane są przez pewien ę 4 W trakcie pisania książki ostatnią dostępną wersją specyfikacji była wersja 1.1. Rozdział 5. ♦ Stos protokołów Bluetooth 71 zbiór urządzeń, zwanych zazwyczaj „serwerami”, innym urządzeniom sieciowym, zwa- nym zazwyczaj „klientami”. W wielu przypadkach klient potrafi zlokalizować serwer dzięki statycznej konfiguracji, która zwykle jest tworzona i zarządzana przez admini- stratora systemu, konfigurującego komputery klienckie (lub przekazującego niezbędne informacje konfiguracyjne użytkownikowi, który z kolei sam konfiguruje urządzenie). W przypadku sieci dynamicznych, tworzonych ad hoc (tak jak sieci udostępniane przez technologię Bluetooth), taka statyczna konfiguracja jest niewystarczająca. Urządzenia Bluetooth (dwa lub większa ich ilość) mogą rozpoczynać komunikację pod wpływem chwilowego impulsu. Skoro więc zdolne są do korzystania z własnych usług, wymagają istnienia bardziej dynamicznych środków ich wyszukiwania. Pierwszą czynnością urządzenia komunikacyjnego po zestawieniu kanału komunikacyjnego mogłoby być ze- branie informacji na temat usług dostępnych dla danego urządzenia. Do tego celu służy właśnie protokół wyszukiwania usług (SDP — Service Discovery Protocol). SDP defi- niuje standardowe metody, dzięki którym urządzenia Bluetooth rozpoznają i zapamiętują usługi, oferowane przez inne urządzenia. Analogicznie, SDP definiuje także zasady, na jakich urządzenia opisują swoje usługi podczas oferowania ich innym urządzeniom. Z punktu widzenia użytkownika końcowego, wartość sieci dynamicznej zależy w dużej mierze od możliwości wyszukiwania usług. SDP został zaprojektowany i zoptymali- zowany specjalnie pod kątem efektywnego realizowania tego zadania w ramach śro- dowiska Bluetooth. SDP został szczegółowo opisany w rozdziale 8. Protokoły współpracy z IrDA Bezprzewodową komunikację w podczerwieni oraz jej podobieństwo do pewnych aspektów bezprzewodowej komunikacji Bluetooth przedstawiono w rozdziale 2. Proto- koły wymiany i synchronizacji danych w środowisku bezprzewodowym zostały już wcześniej zdefiniowane przez Infrared Data Association (IrDA). SIG zdecydowała się więc zaadaptować niektóre z protokołów oraz modeli danych IrDA. Przyczyna tkwiła w tym, że obie technologie komunikacji bezprzewodowej — IrDA i Bluetooth — charakteryzują się tymi samymi zasadniczymi własnościami, modelami zastosowań i aplikacjami. Najważniejszą sprawą, konieczną przy wymianie danych pomiędzy urządzeniami, jest zdefiniowanie ich formatu, zarówno pod względem semantycznym jak i syntaktycznym. Protokół wymiany obiektów w podczerwieni (infrared object exchange — IrOBEX lub OBEX) został opracowany przez IrDA jako sesyjny protokół komunikacji typu peer- to-peer. Jednym z zastosowań protokołu OBEX mogłaby być wymiana ściśle zdefi- niowanych obiektów. OBEX pozwala na wymianę takich obiektów jak: elektro- niczne wizytówki (format vCard), listy elektroniczne i komunikaty innego typu (for- mat vMessage), wpisy terminarza (format vCal) itp. OBEX stanowi podstawowy element, na którym budowane są modele transferu plików (wymiany obiektów) i jednokierun- kowego przesyłania obiektów (wypychania obiektów). Poza tym, innym protokołem autorstwa IrDA jest protokół komunikacji ruchomej w podczerwieni (IrMC — infrared mobile communication) — protokół pozwalający na synchronizowanie wyżej wymie- nionych obiektów. 72 Część II ♦ Specyfikacja Bluetooth Przeznaczeniem warstw protokołów współpracy z IrDA jest umożliwienie współ- działania technologii na poziomie aplikacji. Warstwy sieciowe zostały szerzej opisane w rozdziale 9. Warstwy sieciowe Bezprzewodowa komunikacja Bluetooth stosuje topologię sieci peer-to-peer (urządzeń równorzędnych), zamiast topologii z gatunku sieci LAN. Niemniej jednak technologia ta pozwala na pracę sieciową poprzez przyłączanie się do większych sieci za pomocą połączenia komutowanego lub sieciowego punktu dostępowego. Specyfikacja porusza także zagadnienia współpracy z protokołem aplikacji bezprzewodowych (WAP — Wireless Application Protocol), który stanowi specyfikację pracy w sieciach bezprze- wodowych, znajdującą zastosowanie między innymi w telefonach komórkowych. Zestawianie połączenia w sieciach komutowanych opiera się na wykorzystaniu warstwy komend AT, która wchodzi w skład protokołów warstw pośredniczących. W większości przypadków siecią docelową jest sieć używająca protokołu internetowego — IP (Internet Protocol). Po zestawieniu połączenia komutowanego z siecią IP, urządzenie (np. kom- puter przenośny czy palmtop), które zainicjowało połączenie sieciowe, może korzystać ze standardowych protokołów internetowych (np. TCP, UDP, HTTP). Dane urządzenie może także połączyć się z siecią IP poprzez sieciowy punkt dostę- powy, zgodnie z tym, co opisuje profil „dostępu do LAN przy użyciu protokołu PPP”. W takim przypadku połączenie urządzenia z punktem dostępowym sieci realizowane jest za pomocą łącza Bluetooth. Sieciowy punkt dostępowy przyłącza je dalej do większej sieci (najczęściej, choć nie zawsze, przewodowej). Przyłączenie do punktu dostępowego poprzez łącze Bluetooth realizowane jest za pomocą internetowego protokołu PPP (Point-to-Point). Tak jak w przypadku pracy sieciowej z połączeniem komutowanym, po ustanowieniu połączenia PPP interakcja urządzenia z siecią odbywa się w oparciu o standardowe protokoły internetowe. Podobnie wygląda dostęp do sieci WAP poprzez bramę WAP. Ponownie ustanawiane jest połączenie PPP z punktem dostępowym sieci IP, który pozwala na dalszą interakcję z siecią przy wykorzystaniu standardowego protokołu WAP. Brak w wersji 1.1 specyfikacji profili czy stosu protokołów obsługującego protokoły internetowe (jak TCP/IP) bezpośrednio w łączu Bluetooth nie ma żadnego znaczenia. Oznacza jedynie, że dostęp do sieci w wersji 1.1 specyfikacji wymaga użycia proto- kołu PPP, zgodnie z tym, co przed chwilą opisano. Mimo iż nie ma wątpliwości, że powinna istnieć możliwość bezpośredniego operowania stosem protokołów IP w ramach mechanizmów transportu wykorzystującego bezprzewodową komunikację Bluetooth, SIG nie zdefiniowała stosownych zasad postępowania (czyli profilu).5 Przyszłe wersje specyfikacji będą jednak najprawdopodobniej uwzględniać problem bezpośredniego sto- sowania protokołów internetowych w ramach bezprzewodowej komunikacji Bluetooth. ę 5 Niemniej jednak prace SIG obejmują problem stworzenia odpowiednich rozwiązań dla komunikacji IP w sieciach peer-to-peer. Odpowiada za to grupa robocza sieci osobistych. Zostało to szczegółowo opisane w części V książki. Rozdział 5. ♦ Stos protokołów Bluetooth 73 Warstwa TCS i zagadnienia audio Jak już wcześniej wspominano, jedną z kluczowych zalet bezprzewodowej komunikacji Bluetooth jest jej zdolność do przenoszenia zarówno danych, jak i informacji głosowych. Protokoły prezentowane do to tej pory znajdują zastosowanie głownie w transmisji danych. Tymczasem realizacja funkcji telefonicznych (w tym sterowanie połączeniem i zarządzanie grupami) należy do obowiązków warstwy specyfikacji obsługi telefonii (TCS — Telephony Control Specification). Operacje te są często związane z połącze- niami głosowymi, w których zadanie TCS polega na ustalaniu parametrów połączenia. Po jego zestawieniu, powstały kanał audio jest w stanie przenieść informacje głosowe związane z prowadzoną rozmową. TCS wykorzystuje się także do ustanawiania połączeń transmisji danych, tak jak w profilu pracy sieciowej z połączeniem komutowanym. W tym przypadku treść połączenia przenoszona jest w postaci standardowych pakietów danych poprzez warstwę L2CAP. Protokoły TCS są zgodne ze specyfikacją Międzynarodowej Unii Telekomunikacyjnej (ITU-T — International Telecommunications Union – Telecommunication) Q.931. Z uwagi na fakt, że używają kodowania binarnego, są określane przez specyfikację jako TCS-BIN. Podczas opracowywania specyfikacji, SIG zastanawiała się nad jeszcze jednym protokołem, zwanym TCS-AT. TCS-AT definiował protokół sterowania pracą modemu (nazywany komendami AT), który był przekazywany przez warstwę RFCOMM. Ostatecznie specyfikacja nie definiuje oddzielnego protokołu TCS-AT, mimo iż prze- syłane przez RFCOMM komendy AT są faktycznie wykorzystywane przez niektóre aplikacje. TCS-BIN znajduje zastosowanie w niektórych profilach telefonii wersji 1.x. Jednakże nic nie stoi na przeszkodzie, aby aplikacje stosowały komendy AT przesyłane przez interfejs szeregowy RFCOMM (jak pokazano na rysunku 5.3), choć specyfikacja nie wymienia komend AT jako oddzielnego protokołu. Niektóre profile wersji 1.x stosują, zamiast protokołu TCS-BIN, właśnie komendy AT przesyłane przez RFCOMM. Są to między innymi profile: zestawu słuchawkowego, faksu, sieci z łączem komutowanym. Technologia Bluetooth w sposób wyjątkowy traktuje sygnały audio, a szczególnie głos. Z uwagi na fakt, że połączenia audio mają charakter izochroniczny, co znaczy, że są z nimi związane pewne ograniczenia czasowe, ruch audio kierowany jest zazwyczaj bezpośrednio z warstwy pasma podstawowego i do niej. Nie przechodzi przez warstwy wyższe, jak L2CAP. 6 Typowy ruch audio przenoszony jest w formie pakietów o spe- cjalnej strukturze, zwanych pakietami połączeń synchronicznych (SCO — synchronous connection-oriented). Technologia komunikacji Bluetooth pozwala na jednoczesne korzystanie z maksymalnie trzech kanałów audio (przy czym pozostaje pewna szero- kość pasma na transmisję danych). Komunikacja audio w standardzie Bluetooth zachodzi z prędkością 64 Kbps i stosuje dwa schematy kodowania: 8-bitową logarytmiczną modulację impulsowo-kodową (PCM — pulse code modulation) oraz przyrostową modulację o zmiennym nachyleniu (CVSD — continous variable slope delta). Kodowanie audio wykorzystuje kompresję według charakterystyki A lub µ. ę 6 Pakietowe, cyfrowe sygnały audio mogą być przenoszone jako standardowe pakiety danych przez warstwę L2CAP. Taki przypadek jest jednak traktowany jak transmisja danych. Zakładamy, że wszystkie znajdujące się w książce odniesienia do głosu lub sygnałów akustycznych dotyczą ruchu audio przenoszonego bezpośrednio do łącza w paśmie podstawowym i formowanego do postaci pakietów SCO. 74 Część II ♦ Specyfikacja Bluetooth Z uwagi na fakt, że połączenia głosowe stanowią podstawową aplikację komunikacji audio (szczególnie w urządzeniach takich jak inteligentne telefony wyposażone w bez- przewodową komunikację Bluetooth), sygnał audio utożsamia się z głosem, choć oczywi- ście głos nie jest jedynym rodzajem sygnałów akustycznych, które mogą być przenoszone przez pasmo podstawowe Bluetooth. O ile kodowanie strumienia audio z przepływno- ścią 64 Kbps jest wystarczające, strumień ten może być nadawany i odbierany za po- średnictwem łącz Bluetooth. Tym samym kanały audio Bluetooth oprócz głosu mogą przenosić sygnały akustyczne innego rodzaju, np. muzykę. 7 Jeśli pamiętamy o tym, że połączenia głosowe są zasadniczą częścią i kluczową zaletą bezprzewodowej komunikacji Bluetooth, możemy być trochę zdziwieni, że zagadnie- niom audio poświęcono zaledwie kilka stron specyfikacji. Nie wynika to z faktu potrak- towania problemu jako nieistotnego, ale z tego, że informacje audio są w większości przesyłane w specjalnych pakietach bezpośrednio do pasma podstawowego. Nie istnieje w związku z tym potrzeba zamieszczania szerokich opisów połączeń audio — format danych audio określono przy pomocy istniejących standardów. Z drugiej jednak strony zrozumienie struktury oraz zasad użycia pakietów SCO pasma podstawowego jest dość istotne, pozwala bowiem na pełniejsze zapoznanie się z komunikacją audio w ramach technologii Bluetooth. Zagadnienia audio szczegółowo porusza rozdział 10., choć po- średnio informacje na ten temat można znaleźć przy okazji omawiania pasma podsta- wowego w rozdziale 6. Grupa aplikacji Zaliczenie pewnych protokołów do grupy protokołów pośredniczących (szczególnie protokołów współpracy z IrDA, jak IrOBEX czy IrMC) mogłoby budzić sprzeciw osób chcących zaliczyć je do protokołów warstwy aplikacji. Nie to jednak mieliśmy na myśli, pisząc o grupie aplikacji. Grupa aplikacji, w znaczeniu przyjętym przez SIG, odnosi się do oprogramowania, które znajduje się powyżej stosu protokołów. Dotyczy to opro- gramowania dostarczanego przez producentów urządzeń, niezależnych dostawców oprogramowania czy innych osób korzystających ze stosu protokołów w celu opraco- wania zestawu funkcji, które będą służyć użytkownikowi urządzenia Bluetooth. Niniejszą definicję oprogramowania aplikacyjnego ilustruje rysunek 5.4, w którym uwzględniono kilka możliwych konfiguracji oprogramowania warstwy aplikacji. Największym zainteresowaniem w ramach grupy aplikacji cieszą się te aplikacje, które potrafią wykorzystać możliwości, dla jakich został stworzony Bluetooth. Wynika to z faktu, że dla stosu protokołów zawartego w urządzeniu Bluetooth, ktoś i tak musi napisać oprogramowanie, które zrealizowałoby funkcje takie jak zestawienia połączenia sieciowego, transfer plików, komunikacja z użyciem zestawu słuchawkowego itp. SIG poprzestała na zdefiniowaniu protokołów pośredniczących i transportowych. Nie zajmuje się definiowaniem protokołów aplikacyjnych jako takich, tak samo jak nie zajmuje się ę 7 Technologia Bluetooth została zoptymalizowana pod kątem przenoszenia informacji głosowych. Nie projektowano jej z myślą o muzyce wysokiej jakości (np. jakości CD). Transmisja muzyki wymaga z reguły zastosowania pewnych technik kompresji. Rozdział 5. ♦ Stos protokołów Bluetooth 75 Rysunek 5.4. Ogólny wygląd grupy aplikacji z jej możliwymi konfiguracjami oraz warstwą adaptacji i warstwą typowych usług tworzeniem interfejsu programistycznego aplikacji (API — Application Programming Interface), choć urzeczywistnienie scenariuszy zastosowań przewidzianych w specyfi- kacji bezprzewodowej komunikacji Bluetooth wymaga zbudowania aplikacji. Wdrożenie wartościowego dla użytkownika końcowego profilu Bluetooth polega na dodaniu kodu aplikacji, który korzysta ze znajdującego się poniżej stosu protokołów. Chociaż poszcze- gólne profile zastosowań określają zasady współpracy aplikacji w danym modelu, ich szczegóły implementacyjne nie są definiowane w specyfikacji. Programistom aplikacji pozostawiono dostatecznie dużo swobody, by ich produkty mogły konkurować ze sobą dzięki dodatkowym funkcjom lub interfejsom użytkownika bez naruszania zasad współ- działania, które określono w profilu. Przykładem może być dowolne istniejące („starej daty”) oprogramowanie, które za- projektowano z myślą o korzystaniu z mechanizmów transportowych innych niż bez- przewodowa komunikacja Bluetooth i które może być nadal stosowane przy użyciu łącz Bluetooth. Z uwagi na fakt, że SIG zdefiniowała warstwy protokołów, których celem jest obsługa dotychczasowego oprogramowania (takie jak warstwy współpracy z IrDA czy RFCOMM), przed istniejącymi aplikacjami pojawiła się możliwość ko- rzystania z łącz Bluetooth bez konieczności ich przebudowywania lub po dokonaniu niewielkich korekt. Do przykładów można zaliczyć istniejące aplikację wymiany i syn- chronizacji obiektów IrDA czy aplikację pracy sieciowej z połączeniem komutowanym. Obie korzystają z istniejących protokołów, które są obsługiwane przez środowiska Bluetooth, mimo iż zostały zaprojektowane do pracy przez port szeregowy. Dzięki temu, że stos protokołów emuluje port szeregowy (warstwa RFCOMM), w wielu istnieją- cych aplikacjach powinno być możliwe dość łatwe odwzorowanie ich środowiska z IrDA czy komunikacji szeregowej na środowisko Bluetooth. Operacja nie powinna wymagać dużych (o ile w ogóle jakichkolwiek) zmian w aplikacji. Jednym ze sposobów urzeczy- wistnienia tej idei na różnych platformach może być opracowanie „cienkiej” warstwy programowej adaptacji Bluetooth, która odwzorowałaby istniejącą warstwę szeregową oraz inne rodzaje komunikacji na stos protokołów komunikacyjnych Bluetooth, zgodnie z tym, co zilustrowano na rysunku 5.4. Inną możliwością jest zbudowanie nowych aplikacji, od początku zaprojektowanych z myślą o działaniu w środowisku Bluetooth. Podejście to jest uzasadnione w sytuacjach, kiedy nie istnieją aplikacje mogące urzeczywistnić dany model zastosowań Bluetooth lub gdy istnieje potrzeba wyposażenia aplikacji w funkcje, które bazują na unikatowych 76 Część II ♦ Specyfikacja Bluetooth właściwościach stosu protokołów. W przypadku, gdy przeznaczeniem aplikacji jest uzupełnienie danej platformy o bezprzewodową komunikację Bluetooth, dobrym roz- wiązaniem może okazać się zbudowanie dla nich wspólnych usług (common services). W skład wspólnych usług wchodziłyby: usługi systemu zabezpieczeń, usługi zarzą- dzania połączeniami, usługi SDP itp. Wspólne usługi aplikacyjne mogłyby być two- rzone za pomocą kodu warstwy aplikacji, np. aplikacja zarządzania zabezpieczeniami (zagadnienie poruszane w [Muller99]), konsola sterowania Bluetooth (być może wraz z interfejsem użytkownika pozwalającym mu na wybranie urządzenia i usługi w piko- sieci, z którymi chciałby się połączyć), wspólna aplikacja klienta i serwera SDP (także z interfejsem użytkownika do wyszukiwania i przeglądania usług). Reprezentacja wspólnych usług aplikacyjnych również znajduje się na rysunku 5.4. Skoro specyfikacja nie definiuje API, jak budować standardowe aplikacje modeli za- stosowań Bluetooth? Odpowiedzią są profile. Przypomnijmy sobie, że zadaniem profili jest określenie, w sposób ogólny, punktu wyjścia dla wykorzystania stosu protokołów w celu urzeczywistnienia danego modelu zastosowań. Ponieważ bezprzewodowa komu- nikacja Bluetooth będzie wykorzystywana najprawdopodobniej w niezliczonej ilości urządzeń i na różnych platformach, trudno byłoby (o ile jest to w ogóle możliwe) opra- cować pojedynczy standard API, który sprawdzałby się we wszystkich urządzeniach i na każdej z platform. Jednak dzięki temu, że SIG wybrała profile jako środek usta- nawiania zasad współpracy pomiędzy różnymi urządzeniami, zapoznanie się z nimi dostarcza wskazówek odnośnie sposobów budowania aplikacji dla różnego rodzaju platform, istotnych dla technologii Bluetooth. Jak już wcześniej wspomniano, profile Bluetooth mogą być realizowane w oparciu zarówno o dotychczasowe aplikacje, jak i o te zaprojektowane specjalnie z myślą o komunikacji Bluetooth. W sytuacji, gdy po wdrożeniu technologii na danej platformie zachodzi potrzeba opra- cowania nowego API, znawcy platformy okazują się lepszymi ekspertami niż znawcy technologii. Z tego względu SIG postanowiła nie opracowywać Linux API, Windows API, Symbian API, itd. Zamiast tego za pomocą profili zdefiniowano wszystkie funkcje potrzebne znawcom platformy do opracowania API, które współpracowałoby z apli- kacjami Bluetooth na konkretnej platformie. Tym samym, mimo iż specyfikacja nie zawiera API, dostarcza programistom aplikacji niezbędnych wskazówek. Niektóre profile robią to w sposób bardziej, inne mniej bezpośredni. Na przykład profil aplikacji wyszukiwania usług opisuje potencjalne modele programowania aplikacji i definiuje prymitywy wyszukiwania usług, co może w prosty sposób prowadzić do przekształcenia go w API konkretnej platformy. Tworzenie aplikacji nie jest ograniczone do oprogramowania, które urzeczywistniłoby dany profil. Podobnie jak w przypadku urządzeń, obszar zastosowań jest ogromny, być może nieograniczony. Wersja 1.x profili przedstawia jedynie podstawowy zbiór współ- działających ze sobą aplikacji. Prace nad nowymi profilami z pewnością będą konty- nuowane, choć zakłada się, że nie będą to jedyne przypadki zastosowań, dla których powstawać będą nowe aplikacje. Postępowi inżynierowie bez wątpienia znajdą wiele nowych możliwości wykorzystania technologii Bluetooth i budowania nowych scena- riuszy zastosowań. Z czasem, gdy oprogramowanie wdrażające istniejące profile na różnych platformach będzie się powiększać, zdobyte doświadczenie oraz powstałe API staną się punktem wyjścia do prac nad nowymi aplikacjami, a przed pracami tego typu otwierają się szerokie perspektywy.
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:


Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: