BLUETOOTH 1. Wstęp teoretyczny Bluetooth jest darmowym standardem opisanym w specyfikacji IEEE 802.15.1. Jest to technologia bezprzewodowej komunikacji krótkiego zasięgu pomiędzy różnymi urządzeniami elektronicznymi, takimi jak klawiatura, komputer, laptop, telefon komórkowy i wieloma innymi. Używa fal radiowych w paśmie ISM 2,4 GHz. Urządzenie umożliwiające wykorzystanie tej technologii to adapter Bluetooth (rys.1). Standardy Bluetooth: Rys. 1. Adapter bluetooh Bluetooth 1.0 21 kb/s Bluetooth 1.1 124 kb/s Bluetooth 1.2 328 kb/s Bluetooth 2.0 2,1 Mb/s, Bluetooth 2.0 + EDR (Enhanced Data Rate) - 3,1 Mb/s Bluetooth 3.0 + HS (High Speed) 24 Mb/s (3 MB/s) Bluetooth 3.1 + HS (High Speed) 40 Mb/s (5 MB/s) Bluetooth 4.0 + LE (Low Energy) 200 kb/s, niższe zużycie energii, mniejszy transfer, większy zasięg (do100m) Klasy urządzeń Bluetooth: klasa 1 (100 mw) ma największy zasięg, do 100 m, klasa 2 (2,5 mw) jest najpowszechniejsza w użyciu, zasięg do 10 m klasa 3 (1 mw) rzadko używana, z zasięgiem do 1 m. Architektura systemu Bluetooth: Podstawową jednostką technologii Bluetooth jest pikosieć (ang. piconet), która zawiera węzeł typu master oraz maksymalnie 7 węzłów typu slave. Wiele pikosieci może istnieć w jednym pomieszczeniu, a nawet mogą być ze sobą połączone przy pomocy węzła typu bridge (rys.2). Połączone ze sobą pikosieci określa się mianem scatternet. Dodatkowo, oprócz siedmiu węzłów typu slave, w jednej pikosieci może pracować do 255 węzłów, pozostających w stanie synchronizacji z urządzeniem typu master (jest to tzw. tryb wyczekiwania i niskiego poboru mocy). Urządzenia te nie uczestniczą w wymianie danych. Mogą tylko otrzymać sygnał aktywacyjny lub nawigacyjny od węzła typu master. Istnieją jeszcze dwa przejściowe stany hold oraz sniff. Przyczyną podziału węzłów na master i slave jest minimalizacja kosztów
technologii. Konsekwencją tego jest fakt, że węzły typu slave są w 100% podporządkowane węzłom master. Pikosieć jest scentralizowanym systemem TDM, urządzenie master kontroluje zegar i określa, które urządzenie i w którym slocie czasowym może się z nim komunikować. Wymiana danych może nastąpić tylko pomiędzy węzłem master i slave. Komunikacja slave slave nie jest możliwa. Rys. 2. Połączone dwie pikosieci scatternet Architektura protokołów Bluetooth: Standard Bluetooth określa wiele protokołów, pogrupowanych w warstwy. Struktura warstw nie odpowiada żadnemu znanemu modelowi (OSI, TCP/IP, 802). IEEE prowadzi prace nad zmodyfikowaniem systemu Bluetooth, aby dopasować go do modelu określonego standardem 802. Najniższa warstwa fizyczna warstwa radiowa odpowiada warstwie fizycznej łącza danych. Określa ona transmisje radiową oraz modulację stosowaną w systemie. Warstwa druga baseband layer jest zbliżona do podwarstwy MAC modelu OSI, ale zawiera także elementy warstwy fizycznej. Określa ona w jaki sposób urządzenie master kontroluje sloty czasowe i jak sloty są grupowane w ramki. Kolejna warstwa grupuje powiązane ze sobą protokoły. Link manager zajmuje się ustanowieniem logicznych kanałów między urządzeniami, zarządzaniem energią oraz jakością usługi(qos). Link control adaptation protocol, często nazywany L2CAP, zajmuje się szczegółowymi parametrami transmisji, uwalniając w ten sposób wyższe warstwy od tego obowiązku. Protokół ten jest analogiczny do podwarstwy LLC standardu 802, ale technicznie jest zupełnie inny. Jak wskazują nazwy, protokoły audio i control zajmują się dźwiękiem oraz kontrolą. Aplikacje mogą z nich korzystać pomijając protokół L2CAP. Kolejna warstwa jest warstwą przejściową, zawierającą mieszaninę różnych protokołów. Podwarstwa LLC standardu 802, została wstawiona tu przez IEEE, w celu zapewnienia kompatybilności z sieciami 802. RFcomm (Radio Frequency communication) jest protokołem, który emuluje standardowy port szeregowy do podłączenia klawiatury, myszy, modemu oraz innych urządzeń. Protokół telephony jest protokołem czasu rzeczywistego, używanym w profilach zorientowanych na rozmowy. Zarządza również zestawieniem i rozłączeniem połączenia. Protokół discovery service jest używany do umiejscowienia usługi wewnątrz sieci. W ostatniej warstwie umiejscowione są aplikacje oraz profile. Używają one protokołów warstw niższych. Każda aplikacja ma swój podzbiór używanych protokołów, zazwyczaj korzysta tylko z nich i pomija inne.
Rys. 3. Architektura protokołów Bluetooth Bluetooth struktura ramki: Pole adres nagłówka identyfikuje jedno z ośmiu aktywnych urządzeń, dla którego przeznaczona jest ramka. Pole typ określa typ ramki (ACL, SCO, pool albo null), rodzaj korekcji błędów używany w polu danych oraz liczbę slotów w ramce. Pole Flow jest ustawiane przez slave, gdy jego bufory są pełne i nie może on przyjąć więcej danych. Bit Acknowledgement jest potwierdzeniem transmisji. Bit Sequence jest używany w celu numeracji ramek aby wykryć retransmisje. Ostatnie 8 bitów to suma kontrolna. 18 bitów nagłówka są powtarzane trzy razy dając w efekcie nagłówek 54 bitowy. Po stronie odbiorczej prymitywny układ sprawdza wszystkie trzy kopie każdego bitu. Jeśli wszystkie są takie same, wówczas bit jest zaakceptowany. Jeśli nie, to jeżeli otrzymano dwa 0 i jedną 1, wartość końcowa jest 0, jeśli zaś dwie 1 i jedno 0, to jedynka. Rys. 4. Struktura ramki w systemie Bluetooth Profile systemu Bluetooth: K1 - ogólny profil dostępu GAP (Generic Access Profile).Podstawowy profil dostępu wprowadza definicje zalecenia i wspólne wymagania dotyczących podstawowych trybów pracy i procedur dostępu. Określa on zachowanie urządzenia w stan oczekiwania i połączenia, które umożliwia zestawienie połączenia pomiędzy urządzeniami Bluetooth, analizę stanu otoczenia i zapewnia odpowiednią poufność. K2 - profil aplikacji wykrywania usług SDAP (Service Discovery Application Profile). Profil ten umożliwia identyfikację usług realizowanych w innych urządzeniach ściągnięcie dostępnych informacji dotyczących tych usług. K3 - profil dla telefonii bezprzewodowej CTP (Cordless Telephony Profile). Profil CTP, który definiuje właściwości i procedury wymagane do współpracy pomiędzy różnymi elementami telefonu trzy w jednym. Telefon trzy w jednym" to rozwiązanie wprowadzające dodatkowy tryb pracy telefonu komórkowego jako
radiotelefonu bliskiego zasięgu do połączenia z siecią stacjonarną poprzez stację bazową. K4 - profil dla bezprzewodowej komunikacji wewnętrznej IntP (Interkom Profile). Profil interkomu definiuje wymagania dla urządzeń Bluetooth dotyczące połączeń bezpośrednich pomiędzy telefonami typu trzy w jednym" tzw. usługa interkomu. K5 - profil wirtualnego portu szeregowego SPP (Serial Port Profile). Profil portu szeregowego opisuje wymagania związane z realizacją emulowanego radiowego łącza szeregowego np. pomiędzy dwoma komputerami. K6 - profil dla bezprzewodowego zestawu słuchawkowego HP (Headset Profile). Umożliwia jej bezprzewodowe połączenie i pełnienie roli urządzenia wejściowego i wyjściowego dla sygnałów dźwiękowych (audio). K7 - profil usług modemowych DUN (Dial-up Networking Profile). Profil dostępu do sieci stosowany jest przez komputer do uzyskania komputerowego dostępu do Internetu poprzez telefon komórkowy lub modem. K8 - profil usług telefaksowych FP (Fax Profile) K9 - profil dostępu do sieci lokalnej LA (LAN Access Profile). Definiuje zestaw procedur zapewniający bezprzewodowy dostęp do sieci LAN. K10 - ogólny profil wymiany danych w postaci obiektów GOEP (Generic Object Exchange Profile). W ramach usługi transmisji szeregowej wyodrębniono specjalna grupę profili które precyzują wymagania odnośnie wymiany danych w podstacji obiektów. Urządzeniami, które najczęściej korzystają z tego typu profili są laptopy, notatniki elektroniczne czy telefony komórkowe.. K11 - profil przesyłania obiektów OPP (Object Push Profile). Profil przesyłania obiektów OPP definiuje trzy podstawowe rodzaje operacje: 1. przesyłanie jednego lub więcej obiektów 2. pobranie tzw. wizytówki biznesowej 3. wymianę wizytówek, rozumianą jako następujące po sobie operacje 1. i 2. K12 - profil przesyłania plików FTP (File Transfer Profile). Profil aplikacji transferu plików FTP umożliwia przesyłanie danych w łączu bezprzewodowym. K13 - profil synchronizacji danych SP (Synchronization Profile). Wirtualny port szeregowy stanowi rozszerzenie ogólnego profilu dostępu GAP o elementy konieczne do zapewnienia transmisji w trybie szeregowym. Zadaniem emulatora jest ukrycie przed oprogramowaniem użytkownika, bezprzewodowego charakteru łącza. Nowe profile Bluetooth 2.0: K14. Profil rozszerzonego wykrywania usług ESDP (ExtendedService Discovery Profile) K15. Profil dostępu do sieci osobistej PAN (PersonalAreaNetworkingProfile) K16. Profil rodzajowej dystrybucji audio/wideo GAVDP (GenericAudio/Video DistributionProfile) K17. Profil zaawansowanej dystrybucji audio A2DP (AdvancedAudio DistributionProfile) K18. Profil dystrybucji wideo VDP (Video DistributionProfile) K19. Profil zdalnego sterowania audio/wideo AVRCP (Audio/Video RemoteControlProfile) K20. Profil wydruku bez kabla HCRP (HardCopyCableReplacementProfile)
K21. Profil podstawowego obrazowania BIP (Basic ImagingProfile) K22. Profil podstawowego drukowania BPP (Basic Printing Profile) K23. Profil wspólnego dostępu do sieci ISDN CIP (CommonISDN Access Profile) K24. Profil wolne ręce HFP (Hands-FreeProfile) Profil HFP K25. Profil urządzeń interfejsu człowiek-maszyna HID (HumanInterfaceDeviceProfile) K26. Profil dostępu do karty SIM SAP (SIM Access Profile) Literatura: 1. http://bluetooth.com/bluetooth/ 2. http://pl.wikipedia.org 3. Brent A. Miller, Chatschik Bisdikian, Bluetooth, Helion, 2003. Scenariusze ćwiczeń
Scenariusz 1. Potrzebne: dwa telefony z funkcją bluetooth stoper lub 3 telefon z możliwością zliczania czasu z dokładnością do 0.1 sek Przebieg ćwiczenia: Ćwiczenie polega na pomiarze czasu przesyłania [w sekundach] danych z podanych przez prowadzącego odległości i powtórzenia pomiarów określoną ilość razy. Zawsze nadaje ten sam telefon (A) i odbiera telefon (B), Dane do ćwiczenia: A) na stronie producentów sprawdzić w specyfikacji telefonów WERSJE BLUETOOTH i na tej podstawie ustalić: maksymalny zasięg transmisji, prędkość transmisji [kbit/s, kbps, Mbit/s] Znalezione informacje należy uwzględnić w sprawozdaniu. B) ilość powtórzeń pomiaru czasu z danej odległości: wielkość pliku (w [kb]): typ danych (a) obrazek, (b) muzyka, (c) video, warianty odległości [m], : piętra, na których należy przeprowadzić pomiary :. upewnić się, aby czas przesyłania największego pliku z maksymalnej odległości w wariancie był nie dłuższy niż 30 sekund!!! (w razie konieczności zmienić plik na mniejszy) wyniki pomiaru umieścić w tabeli Wyniki pomiarów: Wykonać wykresy wartości mierzonych dla każdego z wariantów np. przepustowość dla kolejnych odległości miedzy urządzeniami. Wnioski uwzględniające ewentualne zakłócenia na różnych piętrach pomiarowych Wnioski ( m.in. porównanie praktycznych możliwości sprzętu z ich teoretycznymi możliwościami, odległości, przepustowości. Opis wpływu odległości na transfer, wpływu zakłóceń innych transferów, przeszkód )
Scenariusz 2: Potrzebne: dwa telefony z funkcją bluetooth stoper lub 3 telefon z możliwością zliczania czasu z dokładnością do 0.1 sek Przebieg ćwiczenia: Ćwiczenie polega na pomiarze czasu przesyłania [w sekundach] danych z podanych przez prowadzącego odległości i powtórzenia pomiarów określoną ilość razy. Zawsze nadaje ten sam telefon (A) i odbiera telefon (B), Dane do ćwiczenia: A) na stronie producentów sprawdzić w specyfikacji telefonów WERSJE BLUETOOTH i na tej podstawie ustalić: maksymalny zasięg transmisji, prędkość transmisji [kbit/s, kbps, Mbit/s] Znalezione informacje należy uwzględnić w sprawozdaniu. B) ilość powtórzeń pomiaru czasu z danej odległości: wielkość pliku (w [kb]): typ danych (a) obrazek, (b) muzyka, (c) video, pomiary z przeszkodami (drzwi, plecak, oparcie krzesła, ściana, etc)... wyniki pomiaru umieścić w tabeli Wyniki pomiarów: Wykonać wykresy wartości mierzonych dla każdego z wariantów np. czas przesyłu w funkcji wielkości przesyłanych danych i kolejnych odległości miedzy urządzeniami. Wnioski uwzględniające ewentualne zakłócenia na różnych piętrach pomiarowych Wnioski ( m.in. porównanie praktycznych możliwości sprzętu z ich teoretycznymi możliwościami, odległości, przepustowości. Opis wpływu odległości na transfer, wpływu zakłóceń innych transferów, przeszkód )
Scenariusz 3: Potrzebne: 3 lub 4 telefony (lub inne urządzenia) z funkcją bluetooth stoper lub telefon z możliwością zliczania czasu z dokładnością do 0.1 sek Przebieg ćwiczenia: Ćwiczenie polega na pomiarze czasu przesyłania [w sekundach] danych z podanych przez prowadzącego odległości i powtórzenia pomiarów określoną ilość razy. Dane do ćwiczenia: A) na stronie producentów sprawdzić w specyfikacji telefonów WERSJE BLUETOOTH i na tej podstawie ustalić: maksymalny zasięg transmisji, prędkość transmisji [kbit/s, kbps, Mbit/s] Znalezione informacje należy uwzględnić w sprawozdaniu. B) ilość powtórzeń pomiaru czasu z danej odległości: wielkość pliku (w [kb]): typ danych (a) obrazek, (b) muzyka, (c) video, pomiary w konfiguracji:. a. pierwszy telefon z drugim, trzeci z czwartym, w tym samym czasie b. pierwszy telefon z drugim, trzeci z czwartym c. pierwszy z drugim, drugi z trzecim, trzeci z pierwszym wyniki pomiaru umieścić w tabeli Wyniki pomiarów: Wykonać wykresy wartości mierzonych dla każdego z wariantów np. czas przesyłu w funkcji wielkości przesyłanych danych i kolejnych odległości miedzy urządzeniami. Wnioski uwzględniające ewentualne zakłócenia na różnych piętrach pomiarowych Wnioski ( m.in. porównanie praktycznych możliwości sprzętu z ich teoretycznymi możliwościami, odległości, przepustowości. Opis wpływu odległości na transfer, wpływu zakłóceń innych transferów, przeszkód )