Tehnologia Bluetooth

Cuprins

Tehnologia Bluetooth 3

Cap. 1 Istoricul Bluetooth 4

Cap. 2 Principiile Bluetooth 5

2.1. Comunicațiile în frecvență radio (RF) prin împrăștiere spectrală 6

2.2. Relația dintre Bluetooth și comunicația în infraroșu 8

2.3. Soluția Bluetooth pentru comunicația în radiofrecvență 8

2.4. Bluetooth, master și slave 9

2.5. Funcționarea la nivel baseband și modalități de conservare a energiei 10

2.6. Topologia comunicațiilor Bluetooh 12

2.7. Sincronizarea automată 13

Cap. 3 Despre specificația Bluetooth 14

Cap. 4 Specificația Bluetooth 16

4.1. Stiva de protocoale Bluetooth 16

4.2. Componentele stivei de protocoale 16

4.3. Protocoalele de transport 18

4.4. Nivelul L2CAP 18

4.5. Nivelul Link Manager 19

4.6. Nivelul Baseband și Radio 19

4.7. Nivelul HCI 20

4.8. Grupul protocoalelor de mijloc 21

4.9. Nivelul RFCOMM 21

4.10. Nivelul SDP 22

4.11. Protocoale de compatibilitate IrDA 22

4.12. Nivelurile rețea 23

4.13. Nivelul TCS și traficul audio 23

4.14. Nivelul aplicațiilor 25

4.15. Protocoalele de transport 26

4.16. Nivelul radio 27

4.17. Securitatea Bluetooth 29

Cap. 5 Caracteristici sau parametrii cheie ai funcționării dispozitivelor radio Bluetooth 30

5.1. Modulația 30

5.2. Puterea la emisie 31

5.3. Sensibilitatea receptorului 32

5.4. Toleranțele pentru frecvențele radio 33

5.5. Link Controller-ul și nivelul Baseband 34

5.6. Adresa de dispozitiv Bluetooth (BD_ADDR) 37

5.7. Ceasul Bluetooth 37

Cap. 6 Modele de utilizare a dispozitivelor Bluetooth 38

6.1. Computerul fără fir (cordless computer) 39

6.2. Dispozitivul headset 39

6.3. Telefonul 3 în 1 (the three in one phone) 39

6.4. Conferința interactivă sau transferul de fișiere 41

6.5. Pod internet (internet bridge) 42

6.6. Accesul la internet prin dial-up 43

6.7. Accesul direct (Direct Network Access) 43

6.8. Modelul Speaking Laptop 43

6.9. Cartea poștală instantanee (the instant postcard) 44

6.10. Formarea rețelelor ad-hoc (ad-hoc networking) 45

6.11. Modelul hiden computing 46

6.12. Casca Bluetooth 47

6.13. Muzică și multimedia 47

6.14. Tipărirea prin intermediul Bluetooth 47

6.15. Dispozitive periferice de intrare 47

6.16. Transfer de date 48

Cap. 7 Programarea Bluetooth 48

7.1. Exemple de programare Bluetooth 50

Bibliografie 53

=== Tehnologia Bluetooth ===

Cuprins

Tehnologia Bluetooth 3

Cap. 1 Istoricul Bluetooth 4

Cap. 2 Principiile Bluetooth 5

2.1. Comunicațiile în frecvență radio (RF) prin împrăștiere spectrală 6

2.2. Relația dintre Bluetooth și comunicația în infraroșu 8

2.3. Soluția Bluetooth pentru comunicația în radiofrecvență 8

2.4. Bluetooth, master și slave 9

2.5. Funcționarea la nivel baseband și modalități de conservare a energiei 10

2.6. Topologia comunicațiilor Bluetooh 12

2.7. Sincronizarea automată 13

Cap. 3 Despre specificația Bluetooth 14

Cap. 4 Specificația Bluetooth 16

4.1. Stiva de protocoale Bluetooth 16

4.2. Componentele stivei de protocoale 16

4.3. Protocoalele de transport 18

4.4. Nivelul L2CAP 18

4.5. Nivelul Link Manager 19

4.6. Nivelul Baseband și Radio 19

4.7. Nivelul HCI 20

4.8. Grupul protocoalelor de mijloc 21

4.9. Nivelul RFCOMM 21

4.10. Nivelul SDP 22

4.11. Protocoale de compatibilitate IrDA 22

4.12. Nivelurile rețea 23

4.13. Nivelul TCS și traficul audio 23

4.14. Nivelul aplicațiilor 25

4.15. Protocoalele de transport 26

4.16. Nivelul radio 27

4.17. Securitatea Bluetooth 29

Cap. 5 Caracteristici sau parametrii cheie ai funcționării dispozitivelor radio Bluetooth 30

5.1. Modulația 30

5.2. Puterea la emisie 31

5.3. Sensibilitatea receptorului 32

5.4. Toleranțele pentru frecvențele radio 33

5.5. Link Controller-ul și nivelul Baseband 34

5.6. Adresa de dispozitiv Bluetooth (BD_ADDR) 37

5.7. Ceasul Bluetooth 37

Cap. 6 Modele de utilizare a dispozitivelor Bluetooth 38

6.1. Computerul fără fir (cordless computer) 39

6.2. Dispozitivul headset 39

6.3. Telefonul 3 în 1 (the three in one phone) 39

6.4. Conferința interactivă sau transferul de fișiere 41

6.5. Pod internet (internet bridge) 42

6.6. Accesul la internet prin dial-up 43

6.7. Accesul direct (Direct Network Access) 43

6.8. Modelul Speaking Laptop 43

6.9. Cartea poștală instantanee (the instant postcard) 44

6.10. Formarea rețelelor ad-hoc (ad-hoc networking) 45

6.11. Modelul hiden computing 46

6.12. Casca Bluetooth 47

6.13. Muzică și multimedia 47

6.14. Tipărirea prin intermediul Bluetooth 47

6.15. Dispozitive periferice de intrare 47

6.16. Transfer de date 48

Cap. 7 Programarea Bluetooth 48

7.1. Exemple de programare Bluetooth 50

Bibliografie 53

Tehnologia Bluetooth

În prezent există multe exemple de comunicație digitală pe distanțe scurte în ceea ce privește computerele, dispozitivele de comunicație în general. O mare parte din această comunicație se face prin mijlocirea legăturilor pe fire, cabluri. Aceste cabluri conectează între ele o multitudine de dispozitive făcând uz de o mare varietate de conectori cu diverse forme, mărimi și număr de pini.

Fiind necesar un cablu între fiecare două dispozitive aceasta poate uneori da bătăi de cap utilizatorului care se descurcă greu într-un asemenea păienjeniș. Folosind tehnologia Bluetooth se înlătură acest neajuns întru-cât dispozitivele pot comunica printr-o interfață aer și nu prin fire, folosind unde radio pentru a transmite și recepționa date. Această tehnologie este special proiectată pentru comunicații pe distanțe scurte (nominal 10 m), ceea ce are ca rezultat un consum foarte redus de putere, făcând-o astfel potrivită pentru a fi utilizată de către dispozitive mici, portabile, care sunt alimentate de obicei cu baterii.

Tehnologia bluetooth prezintă un sistem de comunicație, fără fir, cu rază mică de acțiune, care intenționează să înlocuiască o comunicarea bazată pe conectare cablată, cu fir, prin intermediul căreia se pot transmite voce și date.

Se remarcă din ce în ce mai mult o tendință de întrepătrundere a domeniului computerelor cu cel al telecomunicațiilor, liniile tradiționale din acestea devenind tot mai puțin distincte. Un bun exemplu este cel al telefonului mobil care, la bază, este utilizat pentru aplicații de voce dar acum poate fi folosit și pentru aplicații de date ca accesul la informație sau browsing. Unele tehnologii de comunicație wireless sunt proiectate să transporte doar voce, pe când altele tratează doar trafic de date. Prin Bluetooth se pot transporta atât date cât și voce și în felul acesta este o tehnologie ideală pentru unificarea acestor “două lumi” permițând tuturor tipurilor de dispozitive să comunice, ele transportând fie voce, fie date, fie pe amândouă.

Trăsăturile de bază ale sistemelor de comunicație bluetooth sunt: robustețea, consumul scăzut de energie și pretul mic. Multe dintre caracteristicile de bază ale specificațiilor Bluetooth sunt opționale, implementarea reperezentând diferența dintre produse.

Tabel 1. Clasificarea dispozitivelor bluetooth în funcție de raza de acoperire:

Bluetooth-ul este un set de specificații bazate pe undele radio, pentru o rețea wireless personală (PAN – personal area network) și creează o cale prin care se poate realiza schimbul de informații între aparate precum telefoane mobile, laptop-uri, calculatoare personale, imprimante, camere digitale și console video printr-o frecvență radio sigură și de rază mică. Clasificarea dispozitivelor bluetooth funcție de raza de acoperire este prezentată în tabelul 1.

Dispozitivele bluetooth comunică între ele atunci când se află în aceeași rază de acțiune. Acestea folosesc un sistem de comunicații radio astfel încât nu este nevoie să fie aliniate față în față pentru a transmite, pot fi chiar în camere diferite dacă transmisia este suficient de puternică.

Cap. 1 Istoricul Bluetooth

Specificația de Bluetooth a fost formulată pentru prima dată de Sven Mattisson și Jaap Haartsen, muncitori în Lund, Suedia, la divizia mobilă Ericsson.

În 1994 Ericsson a inițiat un proiect pentru studiul fezabilității unei interfețe radio cu consum redus și cost minim, menită să înlocuiască (deci să elimine) cablurile dintre telefoanele mobile și accesoriile acestora.

Într-un mediu al comunicațiilor și computerizării în care indivizii preferă să achiziționeze și să utilizeze tehnologii bazate pe standarde industriale, inginerii de la Ericsson au înțeles că este preferabil ca tehnologia Bluetooth nou inventată să fie cunoscută și acceptată la nivel internațional, devenind astfel mai puternică. Cunoașterea și acceptarea sa la nivel internațional puteau fi înfăptuite de către un grup industrial care să producă o specificație deschisă și larg răspândită. La 20 mai 1998 liderii din industria telecomunicațiilor și computerizării și-au unit forțele luând naștere Grupul Special de Interes Bluetooth (SIG). Companiile fondatoare ce s-au constituit în grupul inițial de conducere , numite pentru aceasta companii promotoare, sunt: Ericsson, Intel Corporation, International Business Machine Corporation (IBM), Nokia Corporation și Toshiba Corporation.

Odată cu anunțarea publică a înființării SIG a fost lansată o cartă pentru dezvoltarea unei specificații deschise, pentru implementarea hardware și a software-ului aferent, necesare unei tehnologii de comunicație wireless care să asigure interoperabilitatea tuturor tipurilor de dispozitive comunicante. Concomitent cu evoluția specificației, multe alte companii și-au manifestat interesul pentru această nouă tehnologie și s-au alăturat ca și susținători-adopters. Aceștia au licență pentru dezvoltarea de produse ce folosesc tehnologia de comunicație Bluetooth, bazându-se pe specificație și de asemenea primesc și au dreptul să efectueze comentarii pe marginea primelor publicații ale SIG. Astăzi SIG numără peste 1800 de membri din întreaga lume, reprezentând academii, ramuri ale industriei de consum pentru electronice, motoare, fabricate din silicon, telecomunicații, consultanță și multe altele.

În primul an de existență SIG a reușit să producă o specificație completă constituită din 2 volume, așa-numita core specification (partea centrală) și partea de profiluri (volumul 2), împreună însumând peste 1500 de pagini, această primă versiune fiind publicată chiar în iulie 1999. În decembrie 1999 patru noi companii promotoare (dintre care unele au contribuit și la specificația inițială ca susținători) au aderat la SIG: 3COM Corporation, Lucent Technologies Inc., Microsoft Corporation și Motorola Inc.. Documentația este de tip “open specification” și este disponibilă tuturor, larg răspândită și acceptată, fabricanții având dreptul de autor asupra produselor lor la baza cărora stă această specificație.

Cap. 2 Principiile Bluetooth

Sistemul nucleului (core) bluetooth constă în emițătorul-transmițătorul în frecvență radio (RF), banda de bază și stiva de protocoale. Acest sistem oferă servicii care permit interconectarea dispozitivelor și schmbul de informații între acestea.

Bluetooth operează într-o bandă nelicențiată ISM, la 2,4 GHz. Sistemul implică un emițător-receptor de bandă pentru a combate interferențele si scăderea semnalului, precum și mai multe canale de comunicație. Operațiile în frecvență radio folosesc o frecvență modulată binar, perfect conturată pentru a diminua complexitatea tranceiver-ului. Rata pentru simboluri este de 1 Megasymbol pe secundă (Msps) suportând o rată de trasfer de 1 Megabit pe secundă (Mbps) sau, cu EDR (Enhanced Data Rtae), o rată mul mai mare de transfer de până la 3,2 Mbps. Cele două moduri de transfer sunt cunoscute ca Basic Rate (Transfer de Bază) sau Enhanced Data Rate (Transfer de date ridicat).

Pe parcursul unei operații obișnuite, un canal de comunicație radio este partajat de un grup de dispozitive sincronizate după un tact de ceas și modulare în frecvență. Un dispozitiv oferă sincronizarea de referință și este recunoscut ca master (principal). Restul dispozitivelor sunt recunoscute ca slave (secundare). Un grup de dispozitive sincronizate în acest mod formează o rețea de tip piconet (rețea de date ad-hoc care interconectează dispozitive utilizând protocoale Bluetooth). Aceasta reprezintă forma de bază a comunicațiilor bazate pe tehnologia fără fir Bluetooth.

Bluetooth utilizează tehnologia trecerii de la un canal de comunicație la alt canal de comunicație într-un spectru de bandă apropiat de banda de origine, tehnologie cunoscută sub denumirea de frequency-hopping spread spectrum. Astfel, sunt disponibile 79 de canale a câte 1MHz, iar după fiecare transmisie sau recepție de date dispozitivul comută către un nou canal. Ocazional, două rețele de tip piconet pot intra în coliziune pe același canal de comunicație, dar vor comuta automat către o nouă frecvență și vor fi retransmise datele pierdute. Modelul comutării de canal poate fi adaptat astfel încât să excludă intervale de frecvență care pot interfera cu alte dispozitive. Această tehnică îmbunătățește tehnologia Bluetooth din punct de vedere al coexistenței cu sistemele statice în banda ISM (Industrial Scientific and Medical) cu care pot intefera.

Din punct de vedere fizic, canalul de comunicație este divizat în unități de timp cunoscute sub denumirea de sloturi. Datele sunt transmise înte dispozitivele Bluetooth în pachete poziționate în aceste sloturi. În cazul în care circumstanțele o permit, un număr de sloturi consecutive poate fi alocat unui singur pachet. Comutarea de canal de frecvență are loc între transmisia sau recepția pahetului. Tehnologia bluetooth oferă efectul transmisiei de tip duplex prin utilizarea schemei diviziunii in timp (TTD – time-division duplex).

De la lansare și până în prezent au fost elaborate mai multe specificații Bluetooth care au îmbunătățit pe parcurs aspectele deficitare ale acestei tehnologii.

Bluetooth 1.0 și 1.0B

Versiunile 1.0 si 1.0B au avut multe probleme care au facut producătorii să întâmpine mari dificultăți în a face produsele lor funcționale.

Bluetooth 1.1

Multe din erorile găsite la versiunea 1.0B au fost reparate

Suport pentru canalele necriptate

A fost adăugat indicator al puterii semnalului de transmisie

Bluetooth 1.2

Aceasta versiune este compatibilă cu 1.1.

Viteza practică a transmisiei de date a fost mărită la 721 kbps, la fel ca la versiunea 1.1

Bluetooth 2.0

Această versiune este compatibilă cu versiunile 1.x. Principala îmbunătățire este introducerea a Enhanced Data Rate (EDR) care permite o viteză de 3.2 mbps. Îmbunătățirea a creat următoarele efecte:

viteza de transmisie de 3 ori mai mare

consum de energie mai mic

rata erorilor de transmisie (BER – bit ratio eror) mai mică

Până în prezent am prezentat pe scurt, la nivel de pricipiu, comunicațiile Bluetooth. În continuare vom prezenta mai detaliat funcționarea tehnologiei bluetooth și a protocoalelor implicate.

Comunicațiile în frecvență radio (RF) prin împrăștiere spectrală

Prin împrăștierea spectrală în cadrul comunicațiilor RF se înțelege o diviziune în frecvență, în timp sau pe baza unei scheme de codare, a benzii disponibile. Mesajele ce urmează a fi transmise sunt și ele separate în pachete, care sunt transmise pe anumite segmente ale spectrului astfel divizat. Metoda, numită Frequency division spread spectrum sau Frequency hopping, este folosită de către Bluetooth și constă în împărțirea spectrului în diferite frecvențe sau canale. Urmând această metodă mesajul conținut într-un singur pachet este transmis pe un anumit canal, apoi dispozitivul radio selectează un alt canal – proces numit salt sau hopping către o altă frecvență – pentru a transmite următorul pachet, și procesul se repetă în același mod până se transmite întregul mesaj, prin aceasta efectuându-se o împrăștiere a mesajului pe întregul spectru disponibil.

Figura1. Prezentarea tehnologiilor Bluetooth

Fiecare tehnologie folosește o metodă proprie de stabilire a modelului de salt al frecvenței. Este evident că mesajul provenit de la o sursă oarecare va fi recepționat de mai multe dispozitive radio însă, pentru ca acestea să se acordeze succesiv pe frecvențele (canalele) exacte, necesare recepției în secvență și apoi asamblării mesajului, trebuie să-I cunoască modelul frequecy hopping.

Față de cazul în care s-ar alege o singură frecvență fixă penru transmisiune, procesul FHSS (Frequency hopping spread spectrum) prezintă o compexitate sporită dar oferă și anumite avantaje. Primul ar consta în reducerea interferenței radio, datorită faprului că toate dispozitivele radio efectuează acest salt de la o frecvență la alta în mod aleator sau pseudoaleator și adesea foarte repede. Chiar dacă toți participanții la transmisiuni în aceeași bandă folosesc

Spectrul împrăștiat cu salt de frecvență (FSSH), interferența cauzată de transmisiile pe o aceeași frecvență este mai puțin probabilă decât în cazul în care fiecare dispozitiv ar utiliza un singur canal pe o durată mai mare de timp. În plus, atunci când totuși apar coliziuni, efectele lor sunt micșorate pentru că se pierde un singur pachet și chiar și acela poate fi retransmis pe o altă frecvență unde este puțin probabil să interfereze din nou.

Al doilea avantaj al metodei FHSS este acela că oferă un anumit grad de securitate pentru comunicații datorită faptului că doar receptorul care cunoaște codul de împrăștiere poate recepționa și asambla apoi toate pachetele dintr-un mesaj. Și, întru-cât codul de împrăștiere și salt al frevenței poate fi construit într-un mare număr de feluri într-o anumită bandă, ar fi greu de dedus și urmărit un model particular, mai ales în cazul unei benzi de frecvență intens utilizată, așa cum este cea în care operează Bluetooth. Din acest motiv FHSS este folosită penru a împiedica “trasul cu urechea”. De fapt această din urmă caracteristică a condus la inventarea FHSS de către George Autheil și Hedy Lamarr în Al II-lea Război Mondial. Tehnologia Bluetooth implementează un model de schimbare relativ rapidă a frecvențelor, mai precis de 1600 de ori pe secundă.

Relația dintre Bluetooth și comunicația în infraroșu

Cunoaște faptul că frecvența radio nu este singura modalitate de comunicație fără fir. Tehnologia de comunicație în infraroșu este implicată în comunicația dintre dispozitive cum ar fi calculatoare notebook, PDA-uri și telecomenzi. Aceasta operează în spectrul invizibil, situat imediat după roșu din spectrul vizibil. O metodă standard pentru comunicația în infraroșu este specificată de IrDA (Infrared Data Association), frecvent folosită de către telefoanele mobile, notebook-uri și computere portabile (handheld). Tehnologia IrDA este relevantă în discuția despre Bluetooth deoarece IrDA este de asemenea proiectată pentru comunicații wireless pe distanțe scurte, cu consum redus de energie, în aceași bandă de frecvențe fără licență de utilizare. O altă asemănare între cele două specificații este aceea că pentru amândouă sunt definite un nivel fizic și o stivă de protocoale software pentru a permite interoperabilitatea.

În ciuda deosebirilor dintre IrDA și Bluetooth în ceea ce privește vitezele de transmisie și calea de propagare a semnalului – comunicația în infraroșu necesită existența unui câmp vizual fără obstacole între cele două dispozitive comunicante, pe când undele radio pot penetra majoritatea obiectelor, deci pot trece efectiv prin aceste obstacole – asemănările sunt de asemenea manieră încât SIG a folosit tehnologia IrDA pentru a crea și dezvolta specificația Bluetooth. Și pentru că există și o anumită suprapunere la nivel aplicație între cele două, specificația Bluetooth include un nivel pentru interoperabilitatea cu IrDA, în care sunt încorporate unele protocoale definite în aceasta din urmă. Acest fapt conduce la interoperabilitatea dintre aplicațiile wireless, indiferent de modalitatea de transport a semnalelor utilizată.

Soluția Bluetooth pentru comunicația în radiofrecvență

Elementele prezentate până acum ne ajută să ne formăm baza pentru înțelegerea modului în care Bluetooth a fost proiectată. Câteva considerații generale merită totuși reamintite și subliniate:

– la nivelurile inferioare comunicația se desfășoară în radiofrecvență în banda 2,4 GHz, deci este o comunicație fără fir;

– este otimizată pentru comunicații de mică acoperire cu consum scăzut și cu cost mic;

– la nivelurile superioare reutilizează protocoalele de transport și pe cele de nivel aplicație deja existente definite pentru domenii similare așa cum sunt cele din tehnologia de comunicație fără fir în infraroșu.

Rezultatul este deci o tehnologie de comunicație wireless potrivită pentru a înlocui cablurile și pentru a fi utilizată în dispozitive portabile, într-o largă arie de aplicații.

Bluetooth, master și slave

La nivelul numit bandă de bază (baseband) în momentul în care două dispozitive stabilesc o legătură Bluetooth, unul activează în rolul de master(stăpân) iar celălalt ca slave (sclav). Această specificație permite oricărui dispozitiv Bluetooth să-și asume oricare dintre cele două roluri și chiar posibilitatea ca un dispozitiv oarecare să funcționeze ca master într-o legătură și ca slave într-o legătură cu un alt dispozitiv. Este posibilă deci comunicația punct – multipunct. Rolul de master nu conferă unui dispozitiv nici un fel de privilegii sau autoritate. Acest statut se referă la modul de realizare a sincronizării comunicației de tip FHSS între dispozitive și anume: masterul este cel care stabilește atât modelul frequency hopping (pe baza adresei sale de dispozitiv Bluetooth) cât și faza secvenței de salt (pe baza frecvenței sale de tact). Toate dispozitivele slave care comunică cu același master își schimbă frecvența în același timp cu masterul. În general, statutul de master este atribuit dispozitivului care a inițiat comunicația. De fapt nu putem spune că i se conferă acest statut deoarece nu există un control centralizat prin care să se atribuie aceste roluri , ci mai degrabă este un rol pe care dispozitivul însuși și-l asumă printr-o configurare corespunzătoare.

Figura2. Scenarii de conectare cu Bluetooth.

Unele dispozitive Bluetooth pot fi configurate să activeze într-un singur rol, însă majoritatea își pot asuma oricare rol, în funcție de modul de utilizare în care este implicat. Așadar, un dispozitiv master poate comunica cu mai multe dispozitiv slave, mai exact cu până la 7 dispozitive slave active și chiar până la 255 de dispozitive slave aflate în stare inactivă, numită parked. Dispozitivele slave, împreună cu masterul, cu care comunică formează ceea ce specificația numește o picorețea (piconet). Deci într-o picorețea nu poate exista decât un singur master. Relația master – slave este necesară în comunicația la nivelurile inferioare Bluetooth dar în general dispozitivele pot fi considerate “egale”. Atunci când un dispozitiv stabilește o legătură punct la punct cu un alt dispozitiv, rolul pe care fiecare dintre cele două și-l asumă – master sau slave – este adesea lipsit de importanță, este irelevant pentru protocoalele de la nivelurile superioare, ca și pentru utilizatorii dispozitivelor.

Funcționarea la nivelul baseband și modalități de conservare a energiei

Așa cum am arătat, o picorețea poate include până la 7 dispozitive slave active și mult mai multe dispozitive parked slaves. De fapt pot fi chiar mai mult de 255 de dispozitive slave parked. Specificația Bluetooth definește așa-numita “adresare directă” pentru până la 255 de unități slave parcate, adresare care se realizează printr-o adresă alocată dispozitivului slave parcat (parked slave address) și, de asemenea, prevede o adresare indirectă a acestora prin intermediul adresei de dispozitiv Bluetooth, specifică fiecăruia, fiind astfel acceptate oricâte slave-uri parcate, deși din punct de vedere practic nu este eficient ca într-o picorețea să fie mai mult de 255 de dispozitive slave de acest gen.

Specificația cuprinde definiții pentru modurile de lucru specifice nivelului baseband, și anume: active, sniff, hold și parked. Diversele moduri de funcționare aferente acestui nivel facilitează conservarea energiei, permițând dispozitivelor radio să intre în aceste stări de consum redus de putere. Cele trei moduri de consum redus sniff, hold și parked sunt în fapt trei metode de intrare în și ieșire din starea generic numită de consum redus. Se poate spune că un mod de lucru se aplică unei conexiuni Bluetooth date și nu unui dispozitiv ca întreg. De asemenea, aceste moduri permit ca un număr mult mai mare de dispozitive să fie localizate în aceeași arie de proximitate, devreme ce nu toate trebuie să aibă legături de comunicație în același timp.

Un dispozitiv se poate afla într-unul din cele 4 moduri de lucru posibile, specifice nivelului baseband, active, sniff, hold sau parked atunci când acest nivel se află în starea “conectat” (connected state); în caz contrar, acest nivel și împlicit dispozitivul se află în standby.

În modul activ un slave ascultă (urmărește) transmisiunile efectuate de master. Slave-urile active recepționează pachete prin intermediul cărora se sincronizează cu masterul și prin care sunt informate despre momentul în care pot trimite și ele pachete de informație înapoi către acesta. În mod normal un slave activ trebuie să asculte toate pachetele provenite de la master dar, există o anumită optimizare a acestui proces conform nu este necesar să urmărească în întregime pachetele ci doar header-urile pachetelor, dacă se cunoaște faptul că un alt slave desfășoară o comunicație cu masterul în acel moment, deci dacă se știe că informația din pachetele recepționate nu-i este destinată lui. Starea activă este caracterizată de faptul că timpul de răspuns este minim, comparativ cu celelalte stări dar, totodată consumul de putere are valoarea cea mai mare deoarece dispozitivul recepționează în mod continuu pachete și este oricând pregătit ca la rândul său să transmită pachete către master.

Modul sniff conferă o modalitate de reducere a consumului de putere. În esență, aflat în sniff mode un slave devine activ cu o anumită periodicitate. Masterul transmite pachete către un slave particular doar în anumite intervale de timp care se succed periodic, însă poate să nu transmită în fiecare astfel de interval. În acest fel slave-ul urmărește la fiecare perioadă doar începutul acelui interval (cu o anumită abatere acceptată) în care poate primi pachete de la master și în situația în care chiar primește pachete la începutul unui interval, continuă să asculte și să le recepționeze, altfel (dacă nu primește pachete) poate “dormi” (sleep) până la următorul interval. Reducerea consumului de putere este posibilă în sniff mode prin reducerea ciclului activ al dispozitivului, așa cum am arătat mai înainte, dar în felul acesta este posibil ca dispozitivul să fie mai puțin receptiv decât atunci când s-ar afla în modul activ. Consumul de putere și receptivitatea dispozitivelor depind în modul sniff de lungimea intervalului sniff.

În modul hold slave-ul poate înceta complet să urmărească pachetele provenite de la master, pe durata unui interval de timp specificat sau poate înceta să urmărească anumite tipuri de pachete. O pereche master – slave stabilește durata intervalului hold pe parcursul căruia comunicația între cei doi este întreruptă, adică legătura este neutilizată (pasivă). În acest timp nu este necesar ca dispozitivul slave să urmărească pachetele trimise de master și poate face altceva cum ar fi de exemplu să stabilească legături cu alte dispozitve sau chiar să “doarmă”. La sfârșitul intervalului hold slave-ul reîncepe ascultarea pachetelor pe care le trimite masterul. Se poate spune că în modul hold dispozitivul este mai puțin receptiv decât în modul sniff, anterior prezentat, și de asemenea că permite economisirea într-o și mai mare măsură a puterii deși toate acestea depind de durata intervalului hold ca și de ceea ce face slave-ul în acest timp (adică doarme sau comunică prin intermediul altor legături stabilite cu alte dispozitive).

Un dispozitiv slave “parcat”, sau altfel spus aflat în modul parked, continuă să mențină sincronizarea cu masterul dar nu mai poate fi considerat activ; slave-urile sunt considerate active atunci când se află într-una din stările: active, sniff sau hold. Deoarece într-o picorețea nu pot fi mai mult de 7 slave-uri active la un moment dat, folosirea modului parked permite masterului să “dirijeze” comunicația într-o picorețea care poate conține mai mult de șapte dispozitive. Acest lucru este înfăptuit prin schimbarea stării dispozitivelor slave, care pot trece dintr-un mod activ în modul parked și invers, astfel încât în total să fie în orice moment doar șapte active, restul fiind parcate. Așa cum am mai spus un slave parcat trebuie să-și mențină sincronizarea cu masterul și face acest lucru ascultând periodic masterul prin folosirea unei scheme de semnalizare (beaconing scheme) care va fi descrisă ulterior. Modul parked este cel mai puțin receptiv dintre modurile “conectate” întru-cât slave-ul trebuie să facă tranziția către starea de membru activ al picorețelei și abia apoi să reânceapă comunicația. Totodată acest mod permite un nivel sporit de conservare a energiei.

Atât consumul de energie cât și receptivitatea corespunzătoare modurilor de funcționare depind în mare măsură de factori ca: traficul vehiculat pe legăturile dintre fiecare slave și master, perioadele de sniff și hold care pot afecta ciclul activ (duty cicle) al dispozitivelor radio. Ca regulă generală ce rezultă din aceste considerații slave-urile aflate în modul activ vor consuma cea mai mare cantitate de energie dar vor fi și cele mai receptive, pe când ,la celălalt capăt, slave-urile parcate vor consuma cel mai puțin și vor fi cele mai slab receptive. Aceasta este tendința generală, însă relațiile (asocierile) dintre moduri și consum de putere plus receptivitate aferente variază pentru situații particulare.

O altă modalitate de conservare a energiei în afara celor oferite de modurile de funcționare posibile la nivelul baseband, este așa-numita “putere adaptivă de transmisiune” sau controlul adaptiv al puterii emise (adaptive transmission power). Aceasta permite slave-urilor să atenționeze masterul atunci când puterea de transmisie a acestuia nu este potrivită, urmând ca masterul să-și ajusteze nivelul de putere. Acest lucru este îndeplinit prin folosirea unui indicator de putere a semnalului recepționat (RSSI – received signal strength indicator). Când valoarea parametrului RSSI este în afara unui domeniu precizat, slave-ul anunță masterul că trebuie să-și ajusteze puterea. Acest lucru este util atunci când două dispozitive se află foarte aproape unul de celălalt și nu este necesar să se transmită la puterea maximă; un exemplu elocvent în acest sens este acela în care două persoane stau una lângă cealaltă și una dintre ele vorbește foarte tare, atunci interlocutorul său îi va cere să vorbească mai încet. Firește că este posibilă și situația inversă adică să se ceară creșterea nivelului puterii de transmisiune atunci când valoarea RSSI indică un semnal slab (un nivel scăzut al semnalului recepționat). Dar principala motivație pentru controlul adaptiv al puterii emise este reducerea consumului de putere când este suficintă o putere mai scăzută pentru transmisiune. Ca și alte metode de conservare a energiei, aceasta permite în plus existența și funcționarea unui număr sporit de dispozitive în aceeași arie de proximitate deoarece este posibilă reducerea interferenței radio. Puterea perturbatoare poate fi foarte mare în cazul în care se află multe dispozitive într-o arie geografică mică sau datorită mobilității unor dispozitive și deci a apropierii de receptor a surselor care nu interesează. Astfel, folosind controlul adaptiv al puterii emise , sursa care contează poate emite mai puternic, ori cele care nu contează pot emite mai slab sau respectiv se face ajustarea corespunzătoare a puterii emise de sursele mobile care nu interesează, pe măsură ce distanța dintre ele și un anumit receptor scade.

Topologia comunicațiilor Bluetooth

Modelul rețelei Bluetooth este unul special datorită comunicării de tipul “de la egal la egal” (peer-to-peer), adică dispozitivele comunicante sunt considerate egale iar rețelele se formează prin simpla mijlocire a apropierii dispozitivelor unele de altele. Aceasta înseamnă că atunci când un dispozitiv radio se apropie de un altul deci intră în “raza de acțiune” a acestuia, ele pot stabili automat o legătură de comunicație. Dispozitivele Bluetooth pot fi configurate la nivelul baseband astfel încât să accepte doar anumite conexiuni sau chiar să nu accepte niciuna.

Distanța nominală pe care se poate desfășura o comunicație între dispozitive radio Bluetooth standard, adică cu nivel de putere de 0dBm, este 10m; versiunea 1.0 a specificației se concentrează pe dispozitivele standard, și ca urmare vorbește în principal despre acest tip de comunicații de până la 10m.

Datorită faptului că dispozitivelor Bluetooth le este necesară o singură și simplă condiție pentru a putea începe să comunice între ele –această facilitate fiind cunoscută sub numele de proximity networking – pot lua naștere așa-numitele personal aria networks sau federații de dispozitive personale ca: telefoane mobile, pagere, calculatoare notebook și PAD-uri care, dacă pot comunica fără probleme, utilitatea lor totalizată sporește mult. O altă aplicație a acestei facilități de comunicație este interactivitatea dintre dispozitivele mobile și cele fixe (imprimante, puncte de acces la rețea – network access points – chioșcuri telefonice, automate pentru vânzare de produse diverse, etc.).

Ne putem întoarce acum să discutăm despre topologia rețelei, noțiune introdusă mai înainte. Prin urmare o picorețea este alcătuită dintr-un singur master și mai multe dispozitive slave aflate în proximitate, care sunt conectate la acel master. În oricare moment dispozitivele slave se pot afla într-una din stările active, sniff, hold sau parked. Toate componentele unei picorețele sunt sincronizate și, ca urmare, își schimbă simultan frecvența de transmisiune. De asemenea, în limitele aceleiași suprafețe – în care activează picorețeaua – mai pot exista și alte dispozitive care nu comunică cu masterul, deci nu fac parte din picorețea, incluzându-se aici cele aflate în standby. De asemenea, este posibil ca un dispozitiv să facă parte din mai multe picorețele în același timp. Atunci când două sau mai multe picorețele se suprapun cel putin parțial în timp și spațiu, se formează o rețea scatternet. Principiile de organizare și funcționare ale unei picorețele individuale se aplică pentru fiecare picorețea în parte din componența unei scatternet. Deci fiecare are un singur master și un set de slave-uri care pot fi active și parcate; fiecare are propriul său model de salt al frecvenței stabilit de către masterul propriu. Un slave poate face parte din mai multe picorețele pe rând, stabilind conexiuni cu diverși masteri din proximitate cu care se și sincronizează. Este perfect posibil ca un același dispozitiv să fie slave într-o picorețea și să-și asume rolul de master într-alta. Topologia rețelei scatternet oferă o metodă flexibilă prin care dispozitivele pot întreține conexiuni multiple, fapt extrem de util în cazul dispozitivelor mobile, care în mod frecvent se apropie și se depărtează de alte dispozitive.

Figura 4. Rețea scatternet.

Sincronizarea automată

Dispozitivele portabile cum sunt computerele notebook, PAD-uri, telefoane inteligente (smart phones) ne fac viața mai ușoară oferindu-ne posibilitatea să aflăm într-un mod rapid și comod informații de care avem nevoie în viața de zi cu zi. Iar aceste informații pentru a fi cu adevărat utile necesită actualizarea continuă.informații personale ca liste cu “lucruri de făcut”, programări,diverse chestiuni organizatorice, etc. ar putea fi distribuite, conținute în mai multe dispozitive pe care cineva le deține și le folosește. Sincronizarea reprezintă procesul prin care date provenite din două surse diferite fuzionează pe baza unui set de reguli, astfel încât cele două seturi de date rezultate să fie identice, sau cel puțin să reflecte informații identice. Se dorește deci ca datele conținute în memoria unui dispozitiv să corespundă cu cele dintr-un altul, primul asigurând actualizarea celui de-al doilea. Un exemplu comun este acela al sincronizării unui personal digital assistant cu un computer desktop sau chiar cu un notebook. Astăzi acest lucru se realizează folosind cabluri seriale speciale și software de asemenea specializat pentru un anumit tip de dispozitiv. Se poate spune că, în varianta clasică sincronizarea este un proces conștient al utilizatorului datelor respective întru-cât implică conectarea unui cablu serial, apăsarea unui buton sau îndreptarea unul către celălalt a două dispozitive ce lucrează în infraroșu, și lansarea unei aplicații. Cu Bluetooth totul este mult mai simplu: în primul rând protocoalele standard și formatele obiectelor din specificația sa permit ca datele dintr-un dispozitiv să fie sincronizate cu date dintr-un oricare alt dispozitiv, fie că acestea sunt PDA-uri, computere notebook, telefoane inteligente sau chiar date accesate printr-un punct de acces la date. Un alt fapt care pledează pentru înlocuirea variantei clasice de sincronizare prin fire, cu acest model de utilizare Bluetooth este acela că prin Bluetooth se asigură, așa cum spune și numele modelului, o sincronizare automată, ceea ce înseamnă că sincronizarea se realizează imediat ce dispozitivele în discuție se află unul în vecinătatea celuilalt fără ca posesorul lor să intervină în vreun fel (această facilitate poartă numele de proximity networking).

Cap. 3 Despre specificația Bluetooth

Oricare specificație, pentru a fi considerată bună din punct de vedere tehnic, trebuie să răspundă mai multor întrebări ale neinițiaților, cum ar fi:

Ce este această tehnologie?

Ce este proiectată să facă?

Din ce se compune?

Ce alte standarde are la bază?

Întrebările referitoare la realizare nu sunt, de obicei, soluționate de către specificație și deciziile rămân la latitudinea celor ce implementează. Așadar, în general o specificație oricare ar fi ea, nu ne oferă rețetele precise hardware și software pe care să le urmăm întocmai pentru a construi un produs. Din acest punct de vedere, specificația Bluetooth nu este cu nimic deosebită de altele, cu toate că este extrem de vastă (conține peste 1500 de pagini reunite în cele două volume ale primei sale versiuni 1.0.b) ci se concentrează în primul rând pe noțiunile fundamentale mergând până în profunzime, adică tot ceea ce are nevoie să cunoască o persoană pentru ca apoi imaginația și intelegența sa să constituie liantul necesar construirii produsului Bluetooth. Un motiv care justifică întinderea acestei specificații ar fi acela că este extrem de completă, acoperă o largă paletă de subiecte, și nu se referă bineânțeles la un singur tip de dispozitiv radio ori la un singur nivel al stivei software, ci la combinația hardware-software, luate separat și ca întreg, incluzând toate fațetele problemelor ce decurg de aici și chiar mai mult, fiind îmbogățită cu variate aplicații prezentate pe larg. Grupul Special de Interes SIG a considerat a considerat necesară această abordare dată fiind multitudinea de noi concepte introduse prin Bluetooth. Totuși SIG a adoptat protocoalele deja existente apaținând altor tehnologii, acolo unde a fost posibil acest lucr, și, ca urmare, o mare parte a specificației se ocupă cu problema adaptării acestor protocoale la mediul Bluetooth.

Asemeni altor specificații din domeniul tehnic, specificația Bluetooth este răspunsul la cerințele de marketing. Grupul de marketing din cadrul SIG a creat inițial un așa-numit Document al cerințelor de marketing (MRD – Marketing Requirements Document), document intern al SIG care include obiectivele și modelele de utilizare care au constituit geneza specificației. Așadar scopul central al specificației a fost să definească componentele ce pot fi utilizate pentru dezvoltarea soluțiilor adecvate cerințelor de marketing. Printre obiectivele cuprinse în MRD se numără și acelea care acum constituie atributele cheie ale comunicației wireless Bluetooth, și anume: o specificație deschisă, utilizare la nivel global fără necesitatea licenței, cost minim și soluții interoperabile, indiferent care este fabricantul de astfel de dispozitive. De fapt, fiecare în parte dintre caracteristicile fundamentale ale tehnologiei își are originea în documentul amintit. La fel, multe dintre modelele de utilizare, numite și scenarii de utilizare, ca și caracteristicile tehnice uau fost înregistrate mai întâi ca cerințe de marketing și dintre ele majoritatea au supraviețuit aproape neschimbate până astăzi, având în vedere avântul nestăvilit al progresului tehnicii; totuși au fost rafinate și mult dezvoltate, lărgite ca aplicativitate. Multe dintre aceste scenarii purtau inițial alte nume.

Intenția inițială a SIG a fost aceea de a crea o specificație axată pe niște modele de utilizare a căror principală menire era înlăturarea cablurilor folosite ca mediu de comunicație și de asemenea axată pe un protocol cadru pentru aceste modele. Această idee a avut ca rezultat versiunea 1.0 a specificației care definește o stivă de protocoale care să permită conturarea multor și importante profiluri. Dar SIG nu s-a oprit aici, ci activitatea sa a continuat cu descoperirea de noi nevoi și crearea de noi și fascinante aplicații și profiluri. Acestă specificație nu doar descrie anumite implementări deja existente, ci un mare interes a fost manifestat de către creatorii ei ca aceasta să asigure posibilitatea oricui dorește și poate să dobândească acea abilitate, pricepere, știință pentru a implementa ideile specificației. S-a dorit ca toată această activitate să se desfășoare într-o manieră cât mai practică, să primeze cooperarea și nu ideile particulare ale unei singure companii, așa cum s-a și întâmplat dealtfel. Ideile născute din cunoștințele, experiența și ingeniozitatea concentrată a tuturor reprezentanților companiilor promotoare au condus la realizarea unui draft pentru specificație, iar apoi ipotezele conținute în acesta au putut fi testate la una sau mai multe companii prin prototipuri, rezultatele constituindu-se în feed-back-ul necesar rafinării produselor.

Numărul mare al celor care au implementat hardware și software tehnologia Bluetooth, mulți dintre ei fără să facă parte din grupul companiilor promotoare, a semnalat grupului SIG reușita în ceea ce privește obținerea unei specificații suficient de competă. A fost extrem de îmbucurător și încurajator pentru creatorii ei să descopere multitudinea de echipamente ce folosesc tehnologia de comunicație wireless Bluetooth, costruite pe baza versiunii 1.0 a specificașiei. Pe de altă parte, așa cum era de așteptat dealtfel pentru o acțiune atât de complexă ca dezvoltarea unei specificații, au apărut desigur și erori și interpretări greșite. De îndată ce a fost publicată prima versiune, mai precis versiunea 1.0 a, au apărut numeroase comentarii din partea celor ce au adoptat ideile SIG și nu numai, multe dintre ele referindu-se la porțiuni ale specificației care erau neclare sau care lăsau loc unor interpretări variate. În plus s-au descoperit erori minore care au scăpat chiar și “controlului final” al membrilor SIG. Pentru toate acele comentarii cu adevărat justificate care au meritat a fi luate în seamă, – întru-cât au fost se pare zeci, dacă nu chiar sute în total – grupul din cadrul SIG responsabil cu aceste probleme a pregătit o erată pentru corectarea sau clarificarea celor semnalate. Rezultatul a fost publicarea în decembrie 1999 a versiunii 1.0 b. a specificației, care este de fapt varianta la care se referă majoritatea celor care vorbesc despre versiunea 1.0.

Cap. 4 Specificația Bluetooth

Stiva de protocoale Bluetooth

Partea centrală (core) a specificației Bluetooth, adică volumul 1 al acesteia cuprinde în cea mai mare parte stiva de protocoale. Potrivit acestor protocoale dispozitivele se pot localiza unele pe altele într-o anumită suprafață, se pot conecta între ele, pot shimba date între ele și pot desfășura aplicații interoperabile și interactive. Vom vedea în cele ce urmează care sunt principalele componente ale stivei de protocoale Bluetooth, subliniind relaiile dintre diferitele niveluri. Pentru a oferi o largă paletă de aplicații, Bluetooth dispune de mai multe niveluri software.

Componentele stivei de protocoale

Elementele constituente ale stivei (protocoale, niveluri, aplicații) sunt împărțite din punct de vedere logic în trei grupuri:

Grupul protcoalelor de transport

Grupul protocoalelor de mijloc (middleware)

Grupul aplicațiilor

Grupul protcoalelor de transport este alcătuit din protocoalele ce permit dispozitivelor Bluetooth să se localizeze unele pe altele și de asemenea permit crearea, configurarea și administrarea legăturilor fizice și logice care oferă posibilitatea protocoalelor de la nivelurile superioare și aplicațiilor să facă schimb de date. Acestea sunt: protocolul radio, protocolul baseband, administratorul legăturii (link manager), protocolul de control al legăturii logige și adaptării (L2CAP – logical link control and adaptation protocol) și host controller interface (HCI). Acesta din urmă nu este propriu-zis un protocol de comunicație.

În cel de-al doilea grup sunt cuprinse protocoalele de transport suplimentare, necesare aplicațiilor existente și viitoare să ruleze peste legăturile Bluetooth. În această categorie se includ atât terțe protocoale și protocoale aferente standardelor industriale , cât și protocoale specifice comunicației wireless Bluetooth, dezvoltate de către SIG. Din prima categorie amintim protocoalele specifice arhitecturii Internet (PPP- Poit to Point Protocol, IP-Internet Protocol și TCP-Transmission Control Protocol) și protocoale de nivel aplicație wireless așa-numitele object exchange protocols (OBEX), adoptate din tehnologii ca IrDA, etc. Cea de-a doua categorie include trei protocoale specifice comunicației Bluetooth ce permit unui mare număr de aplicații, tot specifice Bluetooth să se desfășoare pe legăturile wireless caracteristice acestei tehnologii.

Nivelurile inferioare pot oferi conexiuni de voce și o singură”conductă” pentru transportul datelor între două dispozitive Blutooth. Pentru a facilita integrarea tehnologiei Bluetooth în aplicațiile deja existente, unde aceasta vine să înlocuiască legăturile pe fir, specificația prevede niște niveluri de mijloc, de adaptare, care încearcă oarecum să înlăture unele aspecte compexe ale comunicației wireless. Împreună aceste niveluri pot accepta diferite protocoale și formate de date, date pe care le pachetizează, le multiplexează și le transferă mai departe într-o manieră foarte asemănătoare nivelurilor inferioare. Nivelurile corespunzătoare de la recepție demultiplexează și depachetizează datele. Unul este RFCOMM – numele îi vine de la activitatea pe care o desfășoară, și anume emularea în radiofrecvență a porturilor seriale COM ale calculatoarelor PC. Mai precis, emulează o comunicație serială de tipul RS232 pe 9 pini, peste un canal L2CAP. El face ca aplicații mai vechi, funcționale prin alte tehnologii și care în mod normal ar avea nevoie de o interfață cu un port serial, să funcționeze fără probleme folosind protocoalele de transport Bluetooth. Al doilea este un protocol care oferă un control avansat al operațiunilor telefonice; el este în fapt un protocol de control al semnalizărilor din telefonie. Cel de-al treilea este SDP (Service Discovery Protocol) care permite dispozitivelor Bluetooth să “descopere” serviciile oferite de fiecare în parte și de asemenea să obțină informații referitoare la modul în care să acceseze respectivele servicii.

Din grupul aplicațiilor fac parte acele aplicații care efectiv utilizează legăturile Bluetooth. Acestea pot fi fie aplicații preluate de la alte tehnologii care cunosc protocoalele de transport din stiva Bluetooth, fie aplicații specifice tehnologiei în discuti .

Figura 5. Stiva de protocoale Bluetooth.

Potocoalele de transport

Protocoalele dezvoltate de către SIG pentru transportul fluxurilor de date și audio între dispozitivele comunicante vor fi prezentate parcurgând stiva de sus în jos, adică din punctul de vedere al unui dispozitiv care transmite, și potrivit căruia traficul este dirijat de la nivelurile de transport superioare către cele inferioare; la recepție, în dispozitivul de la celălalt capăt al comunicației, fluxurile urmează o cale inversă. În principiu aceste protocoale se ocupă deci cu modalitățile de transport al informației între dispozitivele comunicante, de aici venind alegerea numelui pentru acest grup, dar ele nu corespund nivelului transport (nivelul 4) din stiva OSI ci mai degrabă s-ar potrivi cu nivelurile 2 și 1, nivelul legătură de date și respectiv nivelul fizic. Împreună setul de protocoale din cadrul grupului protocoalelor de transport constituie un fel de conductă virtuală prin care datele sunt transportate de la un dispozitiv la altul efectiv prin aer, aceasta fiind interfața folosită în tehnologia Bluetooth. De menționat este faptul că toate protocoalele din acest grup sunt absolut necesare pentru desfășurarea unei comunicații. Acest lucru nu este valabil și în cazul protocoalelor din celelalte grupuri, chiar dacă este vorba despre cele create de SIG așa cum este RFCOMM.

Protocoalele de transport din stiva Bluetooth sunt adecvate atât transmisiunilor asincrone, pentru comunicații de date cât și celor sincrone, pentru comunicații de voce telefonice, cu debitul de 64 Kb/s. Pentru a menține calitatea superioară a serviciilor oferite prin intermediul aplicațiilor audio, traficului de voce i se acordă prioritate maximă. Traficul audio sare peste nivelurile intermediare ca L2CAP și link manager, trece direct de la niveul aplicație la nivelul baseband care îl transferă sub forma unor pachete mici, direct prin interfața Bluetooth – aerul.

Nivelul L2CAP

Spre deosebire de traficul audio, traficul de date trece mai întâi prin nivelul controlul și adaptarea legăturii logice, L2CAP (Logical Link Control and Adaptation Protocol), care face ca protocoalele și aplicațiile de la nivelurile superioare să nu necesite cunoașterea detaliilor, aproblemelor specifice protocoalelor de transport inferioare lui L2CAP. Astfel, probleme ca modelul de salt al frecvențelor care are loc la nivelul radio și baseband sau formatele specifice ale pachetelor de informație utilizate pentru transmisiunile prin interfața aer, nu au relevanță pentru activitatea nivelurilor superioare. La nivelul L2CAP se poate face multiplexarea protocoalelor și aplicațiilor, permițând acestora să utilizeze în comun interfața aer. Tot aici se face și segmentarea pachetelor de informație – de dimensiuni mult mai mari, provenite de la nivelurile superioare – adaptându-le la dimensiunea necesară transmisiunii la nivelul baseband și corespunzător, reasamblarea pachetelor la recepție. Mai mult, nivelurile L2CAP din două dispozitive văzute ca egale, pot decide numărul de servicii ce pot fi oferite în același timp și asigură menținerea valorii dorite a acestui parametru, prin negocierea unei valori acceptabile. Nivelul L2CAP cunoaște valoarea cerută a acestui parametru (adică a gradului, nivelului de servicii), efectuează controlul admisiei pentru noul trafic de intrare îregistrat și cooperează cu nivelurile inferioare în vederea menținerii unei valori dorite.

Nivelul Link Manager

Administratorii legăturii (link managerii) din fiecare dispozitiv negociază proprietățile (parametrii) interfeței aer prin intermediul protocolului numit Link Manager Protocol (LMP). Una dintre aceste proprietăți este alocarea benzii necesare pentru asigurarea unui anumit grad de servicii pentru traficul de date, ca și o rezervare periodică a benzii necesare transmiterii fluxurilor audio. Autentificarea dispozitivelor comunicante se face de către link managerii corespunzători, pe baza unei proceduri de tipul întrebare-răspuns. Tot ei supraveghează menținerea perechii realizate cu cele două dispozitive; această pereche (pairing) presupune crearea unei releții de încredere între dispozitive prin generarea și păstrarea unei chei de autentificare necesare pentru autentificări ulterioare, viitoare. De asemenea se ocupă cu criptarea datelor ce traversează interfața aer, doar atunci când este necesar. Dacă autentificarea eșuează, link managerii desfac legătura dintre cele două dispozitive, orice comunicație devenind imposibilă. Nivelul Link Manager se ocupă și cu controlul puterii de transmisiune negociind modurile de operare caracterizate printr-un consum redus de energie, specifice nivelului baseband, negociere realizată prin schimbul de informații despre parametri ca durata de funcționare a dispozitivului într-un astfel de mod. Așa cum am văzut anterior, nivelul de putere la care se face transmisiunea poate fi ajustat, în principal în vederea conservării energiei, și link managerul este cel care cere efectuarea acestor ajustări.

Nivelurile Baseband și Radio

Nivelul Baseband are o serie de atribuții legate de interfața aer utilizată în tehnologia Bluetooth. El definește procesul prin care dispozitivele caută și localizează alte dispozitive aflate în aceeași arie de acțiune, precum și modul în care se conectează la acestea odată ce le-au localizat. Tot la acest nivel sunt definite rolurile de master și slave pe care dispozitivele și le pot asuma, după cum un dispozitiv este sau nu inițiatorul procesului de conectare la un alt dispozitiv. Se poate observa faptul că conceptul de dispozitiv master sau slave nu apare mai sus de nivelul Link Manager; de exemplu la nivelul L2CAP și mai sus comunicația se bazează pe modelul așa-numit de la egal la egal (peer-to-peer). De asemenea nivelul Baseband definește modul de alcătuire a secvenței de salt al frecvenței, folosită de către dispozitivele aflate într-o comunicație, și regulile de utilizare în comun de către mai multe dispozitive a interfeței prin care se transmit semnalele, aerul. Aceste reguli se bazează pe o procedură de interogare ciclică sau schemă polling, după care dreptul de utilizare se alocă conform unei metode de diviziune în timp numită TDD (Time Division Duplex). Mergând mai departe, nivelul Baseband specifică felul în care coexistă și străbat aceeași interfață traficul sincron și cel asincron. De exemplu, într-o transmisiune sincronă masterul transmite și/sau interoghează periodic un dispozitiv slave. Tot în legătură cu traficul asincron și sincron, nivelul Baseband definește tipurile de pachete suportate de către acestea, precum și diverse proceduri de prelucrare a informației conținute în pachete, cum ar fi detecția și corecția erorilor, aleatorizarea datelor (signal whitening, signal scrambling), criptarea datelor, transmisia și retransmisia pachetelor. Se poate efectua transmisia pachetelor de informație prin mediul aer doar dacă se folosesc transmițătoare și receptoare radio (numite și transceivere) care să se potrivească unul cu celălalt, să fie complementare.

Nivelul radio specific tehnologiei Bluetooth se sprijină pe câțiva parametri care îl fac optim pentru a fi utilizat împreună cu restul protocoalelor din stivă, în comunicațiile wireless de mică distanță.

Nivelul HCI

Nivelurile radio, baseband și link manager pot fi implementate împreună su forma unui singur modul Bluetooth. Apoi modulul este atașat unui dispozitiv gazdă (host), făcându-l apt pentru a fi folosit în comunicații Bluetooth. Nivelul L2CAP, ca și alte niveluri superioare din stivă, adecvate unui anumit tip de dispozitiv, deci pe care pot rula aplicații specifice, sunt conținute în dispozitivul host respectiv. Modulul se atașează la host prin intermediul unei interfețe fizice numită host transport așa cum este un port USB (Universal Serial Bus), RS-232 sau UART (Universal Asynchronous Receiver/Transmitter).

Pentru a asigura interoperabilitatea modulelor Bluetooth ale diverșilor fabricanți, specificația definește o interfață comună pentru accesarea nivelurilor inferioare care se găsesc în diversele module, independent de interfața fizică folosită pentru conectarea modulului la dispozitivul gazdă. Așadar nivelul Host Controller Interface (HCI) permite nivelurilor superioare ale stivei, inclusiv aplicațiilor, să utilizeze serviciile de transport oferite de nivelurile baseband, link manager printr-o interfață standard unică. Prin comenzile nivelului HCI modulul poate intra în anumite moduri de operare în care poate executa anumite operațiuni cum ar fi de exemplu autentificarea. Prin intermediul activităților desfășurate la acest nivel , nivelurile superioare pot fi informate despre rezultatul operației de interogare a unui dispozitiv, pot citi setările codecului audio conținut la nivelul baseband, pot determina puterea semnalului recepționat,ș.a.m.d. Atât traficul sincron cât și cel asincron tranzitează acest nivel ca atare, fie că este transmis, fie că este recepționat de către host. Tipic nivelul HCI se găsește sub nivelul L2CAP, totuși acest lucru nu este impus prin specificație. El a fost creat cu unicul scop de a asigura interoperabilitatea între dispozitivele host și modulele Bluetooth, fiecare dintre acestea putând proveni de la o mare varietate de producători. În unele sisteme nivelul HCI poate chiar să lipsească ori se poate găsi în alt loc în stivă, posibil deasupra nivelului L2CAP și poate avea o altă formă decât cea descrisă în specificație.

Între diversele niveluri ale stivei de protocoale pot exista trei tipuri de fluxuri, deci trei tipuri de căi: o cale audio, o cale de date și una de control (control path). Aceasta din urmă folosește așa cum îi spune și numele pentru transportul informației de control între niveluri. În mod obișnuit dar nu neapărat obligatoriu comenzile de control adresate de nivelurile superioare sunt pentru a stabili un mod de operare pentru dispozitiv, care să se mențină până când este dinnou modificat printr-o acțiune provenită de la un nivel superior primului. De exemplu cineva ar putea activa sau dezactiva manual autentificarea sau criptarea pentru un anumit dispozitiv. Sau tot așa o entitate de nivel superior ca o aplicație sau chiar un utilizator ar putea pune un dispozitiv într-o stare de consum redus, ceea ce s-ar traduce printr-un semnal de control pe care link managerul îl înțelege și se comportă în consecință. Similar, un dispozitiv poate fi setat pentru a fi “descoperit” de către alte dispozitive, stare în care răspunde interogărilor acestora, ori poate fi setat să răspundă doar la cererile de conectare primite de la anumite dispozitive pe care le cunoaște și care de asemenea trebiue autentificate. Calea de control nu este descrisă explicit în specificație dar ea apare totuși ca întrețesută cu protocoalele stivei, iar specificația nivelului HCI include majoritatea informației pe care calea de control o poate transporta.

Grupul protocoalelor de mijloc

Protocoalele din acest grup folosesc serviciile oferite de nivelurile inferioare, de transport, pentru ca la rândul lor să ofere nivelurilor aplicație interfețe standard prin care să comunice cu nivelurile de transport. Fiecare dintre nivelurile din acest grup definește un protocol standard care oferă un grad sporit de abstractizare pentru comunicațiile dintre aplicații și nivelurile de transport față de cazul în care acestea ar comunica direct unele cu altele.

Protocoalele din acest grup sunt:

• RFCOMM – o abstractizare a portului serial

• SDP (Service Discovery Protocol) – folosit pentru descrierea serviciilor disponibile ale unui dispozitiv și pentru localizarea serviciilor de care cineva are nevoie

• Un set de protocoale dedicate interoperabilității cu tehnologia IrDA, adoptate din aceasta și prin care pot fi utilizate aplicații specifice IrDA

• TCS (Telephony Control Protocol) – un protocol folosit pentru controlul comunicațiilor telefonice cu flux audio sau de date

Nivelul RFCOMM

Porturile seriale reprezintă unele dintre cele mai cunoscute și mai intens utilizate interfețe în computere și dispozitive de comunicație. Majoritatea comunicațiilor seriale implică folosirea unui cablu pentru transferul datelor prin porturile seriale. Tehnologia Bluetooth țintește în primul rând către înlocuirea firelor, iar folosirea sa ca suport pentru comunicațiile seriale și alte aplicații înrudite reprezintă un subiect important. Ca exemplu de aplicații care folosesc în mod curent comunicațiile seriale putem aminti: transferul de fișiere și obiecte între dispozitive considerate egale, sincronizarea datelor și conectarea la rețea prin dial-up.

Pentru aface posibilă desfășurarea comunicațiilor seriale peste legăturile wireless oferite de tehnologia Bluetooth, în stiva sa de protocoale este definită o abstractizare a portului serial, numită RFCOMM. Acesta constituie un port serial virtual pentru aplicații. O aplicație poate folosi interfața RFCOMM pentru a realiza scenarii ca cele mai sus menționate întocmai ca și un port serial standard, legat prin fire, fără modificări semnificative aduse aplicației, dacă nu chiar complet fără modificări. RFCOMM a fost modelat de către Institutul European de Standarde pentru Telecomunicații (ETSI) sub forma standardului TS07.10. Acest standard se referă la comunicațiile seriale multiplexate pe o singură legătură serială. Specificația Bluetooth adoptă o parte a acestuia, la care adaugă niște porțiuni de adaptare proiectate special pentru comunicațiile Bluetooth. Datorită faptului că pentru dispozitivele digitale comunicațiile seriale sunt predominante, facilitățile oferite aplicațiilor de către RFCOMM ca și port serial fac din acesta o parte importantă a stivei de protocoale.

Nivelul SDP

Diferă de celelalte niveluri situate mai sus de L2CAP prin faptul că nu este proiectat ca o interfață pentru protocoalele de la nivelurile superioare lui, ci pentru a se ocupa de operațiuni specifice Bluetooth.

Motivul principal pentru formarea rețelelor este acela de a permite dispozitivelor cuprinse într-o astfel de structură să comunice între ele și astfel să utilizeze serviciile oferite de fiecare dintre ele. În rețelele tradiționale cum sunt de exemplu rețelele Ethernet, servicii ca transferuri și lucrul cu fișiere, posibilități de printare,ca și funcțiile podurilor și gateway-urilor sunt oferite de către un anumit tip de dispozitive – serverele – astfel ca alte dispozitive, numite clienți să le poată folosi. În majoritatea situațiilor clienții află despre aceste servicii prin intermediul unei configurații statice.

În cazul rețelelor dinamice constituite ad-hoc, așa cum sunt cele formate cu dispozitive Bluetooth, acest tip de configurație standard este insuficientă. Oricare două dispozitive ar putea începe să comunice sub impulsul momentului și dacă doresc să utilizeze fiecare serviciile celuilalt, au nevoie de o modalitate mult mai dinamică pentru a afla care sunt acele servicii. Așadar după ce a fost stabilit canalul de comunicație, următorul pas în comunicația dintre două dispozitive este ca cele două să afle care sunt serviciile disponibile în fiecare dintre ele. Cu acest lucru se ocupă protocolul numit Service Discovery Protocol (SDP). El definește o metodă standard prin care dispozitivele Bluetooth descoperă și află mai multe despre serviciile oferite de alte dispozitive Bluetooth. În corespondență, tot SDP definește și o modalitate prin care dispozitivele își pot descrie serviciile oferite.

Protocoalele de compatibilitate IrDA

IrDA (Infrared Data Association) a definit protocoale pentru schimbul de date și sincronizarea acestora intre mediile wireless. Grupul Special de Interes Bluetooth a adoptat mai multe dintre protocoalele IrDA ținând cont de asemănările dintre cele două tehnologii de comunicație fără fir, în ceea ce privește unele caracteristici comune, scenarii de utilizare și aplicații. O cerință fundamentală pentru schimbul de date între dispozitive este să se precizeze formatul datelor, adică sintaxa și semantica. Unul dintre protocoalele dezvoltate de IrDA pentru aceste activități este IrOBEX (Infrared Object Exchange). Schimbul de obiecte este una dintre aplicațiile în care se face apel la acest protocol și astfel de obiecte sunt considerate cărți de vizită electronice (formatul vCard), e-mail-uri și alte tipuri de mesaje (formatul vMessage), etc. În plus, un alt protocol IrDA numit Infrared Mobile Comunications (IrMC), permite sincronizarea acestor tipuri de obiecte. Nivelurile de interoperabilitate prezente în stiva Bluetooth au menirea de a asigura interoperabilitatea la nivelul aplicație.

Nivelurile rețea

Spre deosebire de rețelele LAN, pentru comunicațiile Bluetooth se folosește o topologie de rețea de tipul de la egal la egal (peer-to-peer). Cu toate acestea, tehnologia Bluetooth ține cont de particularitățile altor tipuri de rețele atunci când se dorește conectarea unui dispozitiv Bluetooth la o rețea mai mare, prin dial-up sau printr-un punct de acces la rețea. De asemenea specificația discută problema interoperabilității cu un protocol numit Wireless Application Protocol (WAP), creat pentru conectarea wireless la rețele și folosit de dispozitive ca telefoanele mobile. Pentru conectarea la rețele prin dial-up se face apel la serviciile nivelului de comandă AT din grupul protocoalelor de mijloc al stivei. În cele mai multe cazuri rețeaua accesată este o așa-numită rețea IP, adică o rețea care folosește protocolul IP. După ce s-a stabilit conexiunea cu rețeaua IP (prin dial-up), dispozitivul care a inițiat conexiunea poate folosi protocoalele standard din stiva Internet: TCP,UDP,HTTP,etc. Deasemenea un dispozitiv se mai poate conecta la o rețea IP printr-un punct de acces la rețea, așa cum se procedează pentru accesul LAN, folosind protocolul PPP (Point to Point Protocol). În acest caz dispozitivul se conectează la punctul de acces la rețea printr-un link Bluetooth, și la rândul său acesta se conectează la o rețea mai mare, fiind cel mai probabil, deși nu neapărat, o rețea cablată. Peste link-ul Bluetooth se folosește deci protocolul PPP din Internet. Ca și în cazul conectării prin dial-up, după ce s-a stabilit legătura prin protocolul PPP, mai departe pentru a interacționa cu rețeaua sunt folosite protocoalele standard din Internet, mai sus menționate. Accesul la o rețea de tip WAP folosind un gateway de tip WAP se desfășoară în mod similar: se stabilește același tip de conectare prin PPP la un punct de acces la o rețea IP și apoi, în scopul interacționării cu rețeaua, se utilizează protocolul WAP.

În prima versiune a specificației nu este prevăzut nici un exemplu în care stiva de protocoale Bluetooth să accepte utilizarea directă a protocoalelor din stiva TCP/IP peste legăturile Bluetooth, singura modalitate de acces la o rețea IP fiind aceea care face apel la protocolul PPP. Deși cu siguranță este posibil să se opereze asupra stivei de protocoale TCP/IP direct prin intermediul tehnologiei de comunicație Bluetooth ca purtător, SIG nu a definit încă o modalitate interoperabilă, adică un profil, pentru o asemenea operațiune.

Nivelul TCS și traficul audio

După cum am menționat anterior, un avantaj cheie al comunicației Bluetooth este capacitatea acestei tehnologii de a trata atât traficul de voce cât și traficul de date. În vreme ce protocoalele descrise până acum se ocupă în principal de traficul de date, protocolul prezentat în continuare și nivelul în stivă la care el se găsește – Telephony Control Specification – sunt special proiectate pentru tratarea problemelor legate de telefonie, mai precis acele funcții asociate apelurilor și convorbirilor telefonice. Nivelul TCS se ocupă cu stabilirea parametrilor unui apel telefonic; după ce apelul este stabilit, semnalul vocal ce constituie convorbirea telefonică este transmis printr-un canal audio Bluetooth. TCS poate fi de asemenea utilizat și pentru stabilirea apelurilor de date (data calls), așa cum se întâmplă în cazul conectării prin dial-up la o rețea, caz în care conținutul “convorbirii” este transmis sub formă de pachete de date prin intermediul protocolului L2CAP. Protocoalele TCS sunt compatibile cu specificația ITU-T Q931. Datorită faptului că folosesc o codare binară, aceste protocoale sunt numite în cadrul specificației – TCS-BIN.

În timp ce se lucra la specificație, Grupul Special de Interes Bluetooth s-a gândit la o a doua variantă a protocolului TCS, pe care au botezat-o TCS-AT, care este de fapt un protocol pentru controlul modemului (adesea numit “comenzi AT”), și ale cărui comenzi sunt adresate nivelului RFCOMM cu care comunică direct. Totuși specificația nu-l prezintă ca un protocol separat, chiar dacă această variantă specială de conlucrare cu nivelul RFCOMM este efectiv pusă în aplicare în unele aplicații. Protocolul TCS-BIN este considerat ca un protocol de sine stătător în specificație și pe baza sa au fost create și descrise profiluri legate de telefonie; el este folosit în profilurile Telefonie cordless și Intercom. Chiar dacă comenzile AT nu sunt grupate într-un protocol separat, există așa cum am spus mai multe profiluri în versiunea 1.0, printre care ultimate headset, fax, accesul prin dial-up la rețea, care folosesc comenzile AT peste interfața serială RFCOMM, și nu protocolul TCS-BIN. Acesta din urmă include funcții de control al apelului, funcții de administrare (group management functions) și o metodă pentru schimbul informației de semnalizare între dispozitive, fără să fie stabilită o legătură telefonică între ele.

Problema traficului audio – și aici ne referim în principal la traficul de voce – este abordată separat în cadrul comunicației Bluetooth. Fluxul de voce este dirijat direct de la și către nivelul baseband, fără să mai treacă prin nivelurile superioare acestuia, cum ar fi L2CAP, și aceasta pentru că traficul audio este izocron. Dacă este vorba despre semnale audio digitale pachetizate, acestea ar putea fi transportate ca pachete de date standard, folosind protocolul L2CAP, dar în acest caz traficul audio ar fi tratat ca trafic de date. Deci traficul audio este transportat direct prin nivelul baseband sub forma unor pachete cu o structură specială, numite pachete sincrone orientate pe conexiune (synchronous connection-oriented SCO). Comunicațiile Bluetooth permit existența simultană a trei canale audio, lăsând o parte din bandă la dispoziția traficului de date. Comunicațiile audio Bluetooth se desfășoară la un debit de 64 Kb/s, folosind una din cele două scheme de codare acceptate: modulația impulsurilor în cod (MIC, sau cu denumirea sa în engleză PCM – Pulse Code Modulation), modulație logaritmică pe 8 biți, sau modulație delta continuă cu pantă variabilă (CVSD – Continuous Variable Slope Delta). Tehnicile de compresie cunoscute sub numele de legea A și se aplică pentru modulația MIC. Codarea PCM cu oricare legelegea de compresie din cele două a fost adoptată de specificația Bluetooth datorită popularității sale în sistemele de telefonie celulară, iar modulația delta continuă cu pantă variabilă pentru că oferă o calitate superioară a fluxului vocal în medii cu zgomot accentuat. Calitatea audio Bluetooth este aproximativ la fel cu cea obținută printr-un telefon mobil GSM, ceea ce înseamnă că fluxul audio este transmis așa cum am văzut la o rată fixă de 64 Kb/s. întru-cât transmisiunile de voce reprezintă o aplicație fundamentală a comunicațiilor audio (în special pentru dispozitive ca telefoanele inteligente care folosesc tehnologia de comunicație wireless), de cele mai multe ori termenii audio și voce se confundă. Desigur traficul de voce nu este singurul tip de trafic audio care poate fi transportat la nivelul baseband specific tehnologiei Bluetooth. Atâta timp cât fluxul audio poate fi redat cu debitul de 64 Kb7s, el poate fi transmis și recepționat pe legăturile Bluetooth. În acest fel canalele audio Bluetooth pot transporta și alte forme de flux audio, așa cum ar fi scurte clipuri audio sau chiar muzică. Totuși, partea audio a acestei tehnologii fiind optimizată pentru traficul de voce, nu se descurcă bine când vine vorba despre muzică de calitate CD, pentru care sunt necesare transmisiuni cu un debit de 1411,2 Kb/s; dar cu o tehnică de compresie potrivită (de exemplu comprimarea cu MP3 a unui flux audio la 128 Kb/s) se poate folosi o legătură ACL (asyncronous conectionless). Un lucru aparent surprinzător este că deși transportul vocii este o parte importantă a comunicației Bluetooth doar câteva pagini din specificație se referă direct la acest subiect. Și asta nu pentru că SIG l-ar fi considerat lipsit de importanță, ci mai degrabă pentru că în desfășurarea sa nu implică mai multe protocoale, lucrurile fiind deci mult mai simple.

Grupul aplicațiilor

Unele dintre protocoalele prezentate anterior ca făcând parte din grupul protocoalelor de mijloc, de exemplu protocoalele pentru interoperabilitate create de IrDA: IrOBEX și IrMC sunt considerate de unii specialiști ca fiind protocoale de nivel aplicație. Totuși nu la acest tip de protocoale se referă grupul aplicațiilor, ci la software-ul plasat deasupra stivei definite de SIG. Acest software este furnizat de firme specializate în dezvoltarea de software sau de către producătorii de dispozitive care doresc să acopere și această latură, creând funcții speciale pe care să le îndeplinească și de pe urma cărora să beneficieze utilizatorii dspozitivelor Bluetooth. Acest lucru spune că fiind dată stiva de protocoale Bluetooth pentru un dispozitiv, este necesar să se scrie software-ul pentru aplicații care să “determine” acea stivă să îndeplinească anumite funcții ca de exemplu: transfer de fișiere, conectare la rețea, etc. Grupul SIG nu a definit decât protocoalele de transport și pe cele de mijloc, nu și protocoale propriu-zise pentru aplicații. de asemenea nu a creat nici așa-numitele API-uri (Aplication Programing Interfaces) – interfețe pentru dezvoltarea de programe de aplicație. O importanță deosebită o are realizarea în practică a scenariilor (profilurilor) Bluetooth. Și pentru ca acest lucru să fie posibil trebuie scris software-ul necesar care să îndeplinească funcțiile respective imaginate prin scenariul de utilizare. Profilurile nu spun decât în ce fel să se construiască acele aplicații interoperabile, iar liniile propriu-zise de program nu se găsesc în specificație. Cei care se ocupă cu dezvoltarea de sotware pentru aplicații au suficiente libertăți în ceea ce privește diferențierea produselor fiecăruia prin adăugarea de trăsături particulare și interfețe pentru utilizare cât mai variate, fără să afecteze cumva cerințele de interoperabilitate indispensabile ale acestor profiluri.

La acest nivel întâlnim două tipuri de aplicații posibile: unele deja existente la momentul apariției acestei tehnologii, să le spunem moștenite, proiectate pentru a folosi nivelurile de transport din stive ce corespund altor tehnologii, dar care pot fi desfășurate și prin linkuri Bluetooth, cu modificări minore sau chiar deloc ale software-ului respectiv. Acest lucru a dus așa cum bine știm la definirea nivelului special RFCOMM, capabil să preia fluxul informațional din medii ca IrDA sau cabluri seriale. În plus aflăm că mai este necesar pentru unele platforme să existe încă un nivel între grupul protocoalelor middleware și aplicațiile propriu-zise, și anume un nivel de adaptare a software-ului moștenit, la stiva Bluetooth (Bluetooth adaptation software). În a doua categorie de aplicații sunt cele special create pentru a opera în mediul Bluetooth. În acest caz este adesea avantajos să se dezvolte pentru aplicații așa-numitele common services. Common services sunt considerate serviciile de securizare, de administrare a conexiunii, servicii SDP, etc. Ele pot fi realizate folosind limbaje de cod ca security manager, o consolă Bluetooth pentru management (poate chiar cu o interfață pentru utilizatori asociată, care să-i permită unui utilizator să selecteze dispozitivele și serviciile dintr-o picorețea cu care dorește să interacționeze), sau un program client-server obișnuit (iarăși posibil cu o user interface pentru service searching și browsing).

Ne putem totuși întreba cum pot fi create aplicațiile standard pentru cazurile de utilizare dacă specificația nu conține și API-uri. Răspunsul se găsește în profiluri, care așa cum știm sunt create ca bază pentru utilizarea stivei de protocoale în desfășurarea într-o manieră interoperabilă a anumitor “cazuri” de utilizare. Și cum s-a dorit ca tehnologia de comunicație Bluetooth să fie folosită într-o multitudine de tipuri de dispozitive și pe variate platforme, ar fi extrem de complicat să se imagineze și creeze o singură interfață API standard potrivită pentru toate acestea. Atunci când o tehnologie este încorporată într-o platformă și apare nevoia de a construi noi API-uri acestea sunt adesea mai bine construită de către experții în acea platformă decât de către experții în tehnologia respectivă. De aceea SIG a decis să nu creeze API-uri sub Linux, Windows, Symbian sau altele, ci profilurile conținute în specificație să ofere funcțiile necesare acelora care vor să dezvolte API-uri pentru aplicații Bluetooth. Unele profiluri realizează totuși acest lucru într-un mod direct. De exemplu profilul Service discovery descrie niște modele posibile de programare și definește primitivele service discovery care pot duce la API-uri. Dezvoltarea de aplicații nu se limitează însă la un software care să oglindească profilurile, ci odată cu diversificarea dispozitivelor, se lărgește orizontul pentru creatorii de aplicații. Nu s-a spus totul odată cu apariția și cunoașterea primei versiuni a volumului de profiluri, altele noi vor fi fără îndoială dezvoltate și vor apărea alte scenarii de utilizare pentru care se vor scrie aplicații, pe măsură ce se vor găsi noi utilizări ale tehnologiei Bluetooth.

Protocoalele de transport

Un dispozitiv Bluetooth reprezintă acea entitate fizică (cum ar fi un telefon digital, un computer notebook) ce conține aplicații care pot comunica folosind tehnologia wireless cu același nume, încorporată în același dispozitiv. Se înțelege prin aceasta că în dispozitivul respectiv este implementat un singur grup al protocoalelor de transport și o singură interfață aer. La proiectarea protocoalelor de transport s-a ținut cont de următoarele condiții-doleanțe: asigurarea unei complexități scăzute de fabricație, și de aici un cost scăzut, plus ieșirea rapidă pe piață. Pentru aceasta a fost adoptată soluția sistemului radio frequency hopping spread spectrum. În plus datorită naturii ad-hoc – am putea spune – a acestor sisteme, a rețelelor formate cu aceste sisteme, s-a ales pentru transmisiunile la nivelul baseband o arhitectură de tipul master-slave. Picorețelele se pot forma spontan cu dispozitive disparate, cu diverse puteri de emisie; noi astfel de dispozitive pot face parte dintr-o rețea deja formată, îndată ce intră în raza de acțiune a acesteia, sau altele pot ieși prin depărtarea, peste limita suportată, de picorețea și astfel, la fel de simplu cum se formează, aceste rețele pot și înceta să existe. De asemenea pentru a fi posibil acest mod de conectare (ad-hoc) fără să necesite menținerea unei stări anume în care să se afle dispozitivele pentru a putea comunica, picorețelele sunt formate fără implicarea unei terțe părți (o altă infrastructură) care să se ocupe cu semnalizările. Atâta timp cât este nevoie, masterul îndeplinește rolul unui punct de control pentru comunicațiile dintr-o picorețea, astfel că pe durata existenței respectivei picorețele activitatea desfășurată de master seamănă cu aceea a unei stații de bază a unui sistem picocelular. În acest fel tehnologia Bluetooth face posibilă crearea spontană și temporară a unui sistem picocelular în care traficul este controlat de către o stație de bază, și ea creată spontan, – masterul. Acesta dirijează fluxurile informaționale de la și către ceilalți membri ai picocelulei, dispozitivele slave. Mergând mai departe, tehnologia Bluetooth permite crearea ad-hoc de sisteme picocelulare multiple care rămân operaționale chiar și în cazul în care se suprapun spațial și temporal. Folosirea modelului master/slave reduce complexitatea proiectării, și astfel costul utilizării tehnologiei Bluetooth.

În implementarea de referință a modulului Bluetooth de regulă partea radio și link controller-ul sunt incluse în hardware, în timp ce link manager-ul este implementat firmware (instrucțiuni speciale codate și fixate permanent în ROM pe un cip). Ca urmare, nivelul radio și nivelul link controller cu funcțiile sale de nivel baseband, au constituit primele părți ale specificației, oferind informații suficient de stabile, de bine încetățenite despre blocul hardware, proiectanților de cip-uri. Inițial specificația referitoare la link manager s-a concentrat pe problemele legate de securitate; mai târziu SIG a îmbogățit funcțiunile acestuia, astfel încât să exploateze la maximum posibilitățile nivelului baseband.

Figura 6. Modulul Bluetooth ca parte dintr-un dispozitiv Bluetooth.

Nivelul radio

Sistemul Bluetooth operează în banda industrială, științifică și medicală (ISM – Industrial,Scientific and Medical) de 2,4 GHz. Benzile ISM poartă acest nume întru-cât sunt benzi de frecvență cu un statut special, în care lucrează wireless echipamentele din domeniile: industrial, științific și medical, fără să necesite licență de utilizare. Conform reglementărilor din aproape întreaga lume, aceste benzi sunt disponibile sistemelor care necesită pentru funcționare nivele scăzute de putere. Spun din aproape întreaga lume pentru că în unele țări există anumite limitări în ceea ce privește lărgimea acestei benzi de frecvență. În SUA și majoritatea țărilor europene banda de frecvențe în care se desfășoară comunicațiile Bluetooth este cuprinsă între 2400 și 2483,5 MHz, iar canalele de radiofrecvență sunt: f = 2402 + k MHz, k = 0,…..,78. Se observă că s-au păstrat niște intervale de gardă de 2 MHz în partea inferioară a benzii (LGB – Lower guard band) și respectiv 3,5 MHz în partea superioară (UGB – Upper guard band) pentru a satisface reglementările din fiecare țară, referitoare la frecvențele din afara acestei benzi și utilizate în alte scopuri. Sunt așadar 79 canale de radiofrecvență de 1 MHz lărgime fiecare. Una dintre țările în care s-au impus limitări este Franța, care folosește doar banda 2446,5 – 2483,5 MHz iar canalele RF corespunzătoare sunt f = 2454 + k MHz, k = 0,…22, deci 23 canale de 1 MHz fiecare. De notat este faptul că produsele care lucrează în banda de frecvențe redusă nu vor putea conlucra cu cele din banda întreagă. Primele sunt considerate versiuni locale, pentru o anumită piață. Grupul SIG a lansat o campanie pentru depășirea acestor dificultăți.

Partea radio a specificației constă în principal dintr-o serie de cerințe, precizări pentru transceiverele Bluetooth (acestea fiind dispozitivele în dublul lor rol de transmițătoare și receptoare) .

Specificația prezintă un model radio dictat de necesitatea construirii de transceivere cu cost redus și de calitate superioară, în concordanță cu varietatea reglementărilor din întreaga lume, referitoare la banda de 2,4 GHz. Transceiverul Bluetooth este un sistem radio care folosește împrăștierea spectrală în varianta cu salturi de frecvență FHSS, (sistemele spread spectrum în secvență directă,DSSS – direct sequence spread spectrum, cărora de asemenea le este permisă funcționarea în banda de 2,4 GHz ISM pot fi extrem de scumpe și de aceea nu se potrivesc cerințelor pentru sistemele radio Bluetooth). Sunt specificați doi algoritmi distincți de salt de frecvență, pentru funcționarea cu 79 de canale RF, respectiv 23 în alte țări. Cel puțin 75 din cele 79 de canale de frecvență trebuie utilizate pseudo-aleator, cu un timp total maxim de reținere a fiecărei frecvențe de 0,4 secunde, într-o perioadă de 30 de secunde.

Nivelul radio comunică pe de o parte cu restul sistemului Bluetooth, mai precis cu link controller-ul, așa cum se poate vedea și în Figura 5, și pe de altă parte cu nivelul radio dintr-un alt dispozitiv prin două interfețe, dintre care pentru ultimul caz interfața este aerul. Spre link controller există de fapt o dublă interfață logică pentru transportul datelor și informației de control între cele două părți ale modulului Bluetooth. La nivelul radio datele se referă la toate informațiile transmise sau recepționate pe calea aerului, iar informațiile de control controlează comportamentul echipamentului radio. Pe partea de transmisie acestea din urmă includ frecvența purtătoare pe care se acordează transmițătorul înainte de a emite orice șir de biți de informație prin aer (adică se ocupă cu generarea purtătorului și modulația semnalului cu acest purtător) și nivelul de putere la care se va face transmisiunea. Pe partea de recepție informațiile de control se referă la frecvența pe care trebuie să se acordeze receptorul pentru a recepționa fluxul de biți informaționali (generarea purtătorului și demodularea semnalului) și, opțional, puterea semnalului recepționat. Pe lângă cele două legături logice mai apar liniile de alimentare (de la baterii) și cea de time signalling. Specificația nu oferă un set de interfețe standardizate pentru date și informația de control. În acest fel rămâne la latitudinea proiectanților de cip-uri și fabricanților acestora în ce mod vor integra componenta radio în restul modulului Bluetooth astfel încât să obțină un produs ieftin și eficient.

Securitatea Bluetooth

Tehnologia Bluetooth a pus accent, încă de la începuturi, pe securitate în timpul conectării dispozitivelor.

Bluetooth SIG, numără în prezent peste 8.000 de mebrii și are un grup de experți în securitate care include ingineri din companiile membre care furnizează constant informații și cerințe în domeniul securității Bluetooth, pe măsură ce specificațiile sunt dezvoltate.

Dezvoltatorii de produse bazate pe tehnologia Bluetooth pentru produsele lor dispun de câteva opțiuni importante în vederea implementării securității. Există trei moduri de relizare a securității pentru accesul Bluetooth între două dispozitiveȘ

Modul 1 – Insecur;

Modul 2 – Securitate intărită la nivelul serviciului;

Modul 3 – Securitate întărită la nivelul legăturii.

Fabricanții fiecărui produs determină modul de securitate de implementat.Conform specificațiilor dispozitivele și serviciile au niveluri diferite de securitate. Pentru dispozitive există două moduri de de securitate: dispozitive de încredere (trusted devices) și dispozitive fără încredere (untrusted devices). Un dispozitiv de tip trusted a făcut deja pereche cu un alt dispozitiv, s-a sincronizat, și are acees fără restricții la orice serviciu.

Serviciile au trei niveluri de securitate:

servicii care solicită autorizare și autentificare;

servicii care solicită doar autentificare;

servicii care sunt deschise către toate dispozitivele.

Au existat elemente de conffusie și lipsă de informație referitoare la securitatea Bluetooth. De fapt, problema o constituie implementarea.

În realitate, algoritmii de encriptare din specificațiile Bluetooth sunt siguri din punct de vedere al securității. Aceasta include nu doar telefoanele mobile care utilizează tehnologie Bluetooth, ci și alte dispozitive precum mouse-ii și tastaturile conectate la calculator, telefonul mobil sincronizat cu un calculator sau un PDA utilizând un telefon mobil ca modem. Acestea sunt doar câteva exmple din multitudinea de scenarii posibile.

Cazurile în care datele eu fost compromise în telefoanele mobile reprezintă probleme de implementare nu de tehnologie. Bluetooth SIG analizează împreună cu membrii toate problemele raportate și le investighează pentru a depista și înțelege cauza problemei.

În cazul în care este o problemă de specificații SIG împreună cu membrii lucrează la elaborarea și crearea unui patch pentru a proteja alte dispozitive de acceași vulnerabilitate. În schema de mai jos este prezentată metoda de realizare a securității la împerecherea dispozitivelor bluetooth.

Denumirile de bluesnrfing și bluebugging au fost date metodelor de obținere ilegală a informațiilor din diferite modele de telefoane mobile. Pentru evitarea acestor probleme specialiștii în securitate bluetooth dau câteva sfaturi de exploatare și utilizare a dispozitivelor cu tehnologie bluetooth încorporată.

Primul sfat, și cel mai important, este acela de a utiliza un algoritm de encriptare al datelor cât mai robust și greu de descifrat în vederea realizării unei conexiuni și a unei sesiuni de lucru sigure. Totuși, se atrage atenția asupra complexității algoritmului și metodei de encriptare alese, astfel încât să nu dăuneze calității conexiunii și să nu îngreuneze sesiunea de lucru.

Un alt sfat dat de specialiști este acela de a se utiliza coduri pin cât mai complexe pentru autentificarea dintre dispozitive. De asemenea, speciliștii recomandă închiderea rețelelor piconet sau scatternet pe perioadele în care nu se lucrează cu ele, în vederea evitării posibilității de a “trage cu urechea” a amatorilor de informații neautorizate.

Cap. 5 Caracteristici sau parametri cheie ai funcționării dispozitivelor radio Bluetooth

Modulația

Este de tipul GFSK (Gaussian frequency shift keying). Aceasta este o modulație cu deplasare de frecvență, pentru care filtrul FTJ folosit pentru limitarea spectrului de frecvență, este un filtru Gaussian. Parametrul modulat, în acest caz frecvența, ia M valori distincte, unde M este numărul de niveluri ale semnalului de date în banda de bază, M = 2m, iar după limitarea benzii cu FTJ gaussian frecvența va avea valori continue.

Produsul bandă-timp BT este un parametru care descrie calitatea formelor de undă transmise, exprimată ca produs între banda filtrului de modulație (FTJ gaussian) și perioada unui bit și este egal cu 0,5. Indicele de modulație este între 0,28 și 0,35. Un “1” binar este reprezentat printr-o deviație (deplasare) pozitivă de frecvență, iar un “0” binar printr-o deviație negativă. Deviația minimă este 115 KHz, iar eroarea la trecerile prin zero (diferența între perioada de simbol ideală și momentul măsurat al trecerii pri zero) va fi mai mică decât ± 118 din perioada de simbol.

Transmisia datelor se face la o viteză de semnalizare de 1 Msimbol/s, ceea ce înseamnă în condițiile utilizării modulației binare GFSK un debit de 1 Mb/s pe un link; perioada de bit este de s. Acestă modulație binară de frecvență este folosită pentru1 minimizarea complexității transceiverului. Este utilizat un transceiver care efectuează salturi de frecvență pentru combaterea interferenței și a fadingului. Tipic efectuează 1600 de salturi pe s.secundă, cu un timp de menținere pentru fiecare frecvență de 625 Așadar fiecare canal este împărțit în sloturi (intervale) temporale s și care corespunde unei anumitecare au fiecare o lungime de 625 frecvențe de salt; salturile consecutive corespund unor astfel de frecvențe distincte. Secvența de salt este unică pentru fiecare picorețea și este determinată de adresa de dispozitiv Bluetooth a masterului. Faza în secvența de salt este determinată de ceasul Bluetooth al masterului. Potrivit aceluiași ceas se face și numerotarea intervalelor temporale. Numerele intervalelor pot lua valori între 0 și 227-1 și se repetă ciclic, lungimea unui ciclu fiind deci 227.

Pentru mesajele de interogare (inquiries) și paging se practică o rată de frequency hopping de 3200 salturi/s, cu un timp de menținere s.de 312,5

Puterea la emisie

Conform acestui parametru echipamentele se împart în 3 clase așa cum se poate vedea în tabelul următor:

Pentru toate cele trei categorii se sugerează fără să fie obligatoriu un control al puterii până la –30 dBm. Stabilirea limitei inferioare de –30 dBm este deci opțională, ea alegându-se de fapt conform cerințelor (necesităților) fiecărei aplicații.

Figura 7. Dispozitive Blutooth de diverse clase de putere, grupate înpicorețele.

Sensibilitatea receptorului

Nivelul de sensibilitate al unui receptor Bluetooth este definit ca nivelul unui semnal de intrare pentru care se atinge o rată a erorilor pe bit (BER) de 0,1%. Cerința este ca această rată să fie atinsă pentru un nivel de –70dBm sau chiar mai scăzut. Un receptor trebuie să atingă acest nivel de sensibilitate pentru semnale de intrare generate de orice transmițător care este în conformitate cu specificația.
Puterea transmițătorului și sensibilitatea receptorului au valori stabilite special pentru reducerea costului și a necesarului de putere pentru dispozitivele Bluetooth. În comparație cu aceste valori, într-o rețea locală wireless (WLAN) de tipul IEEE 802.11 se fac transmisiuni la puteri cuprinse între 1 mW (0 dBm) și 1000 mW (30 dBm), în SUA. Pentru limita superioară se practică valori mai scăzute în alte părți ale lumii. Din această cauză soluția 802.11 nu este potrivită pentru unele dispozitive portabile cu constrângeri legate de puterea emițătorului. De asemenea, sensibilitatea receptorului pentru această tehnologie este mai scăzută decât pentru receptorul Bluetooth, și anume, pentru un receptor IEEE 802.11b cu împrăștiere spectrală în secvență directă (DSSS), acest nivel este de –80 dBm pentru o rată a erorii de cadru de 8%.

Toleranțele pentru frecvențele radio

Se remarcă aici două probleme:

• acuratețea frecvenței inițiale (frecvența centrală, stabilită înaintea transmiterii oricărei informații) – abaterea admisă în acest caz este de ± 75 KHz.

• abaterea admisă pentru frecvențele centrale la care se transmit efectiv pachetele de informație.

Intervin două tipuri de interferență:

• Interferența co-chanel este interferența datorată utilizării în comun a aceluiași canal radio, atunci când două sau mai multe canale de comunicație sunt alocate aceleiași frecvențe, în scopul creșterii eficienței de utilizare a spectrului de frecvențe, și este fixată la valoarea raportului Nivel purtător/Nivel interferență de maximum 18 dBm.

• Interferența între canalele adiacente situate unele față de altele la distanța de 1 MHz sau 2 MHz, pentru care raportul C/I este 0 dB, respectiv –30 dB.

Măsurătorile sunt făcute la o putere dorită a semnalului de 10 dBm 0,1%.peste nivelul de sensibilitate de referință, cu o rată BER

Un alt parametru cuprins în specificația radio este blocajul (mai precis interferența) în afara benzii. Sunt specificate nivele de putere ale semnalelor ale semnalelor interferente pe anumite intervale din afara benzii considerate de tehnologia Bluetooth.

Măsurătorile sunt făcute pentru un semnal la 3 dB peste nivelul de sensibilitate de referință, cu o 0,1%. rată BER.

O cerință suplimentară se impune în cazul transceiverelor care doresc să controleze puterea pe link-uri (este așadar opțional acest parametru) și anume să fie capabile să măsoare puterea semnalului recepționat și să decidă dacă transmițătorul de la celălalt capăt al comunicației ar trebui să crească sau să micșoreze puterea sa la emisie. Acest lucru este posibil printrțun parametru numit indicatorul de putere al semnalului la receptor (RSSI – Receiver Signal Srength Indicator). Măsurătoarea presupune compararea nivelului semnalului recepționat cu două praguri. Pragul inferior corespunde unei puteri recepționate situată în intervalul [-56 dBm ; 6 dB + nivelul curent (real) de sensibilitate a receptorului], iar pragul superior este cu 20 dB mai sus decât primul, cu o toleranță de ± 6 dB.

Link Controller-ul și nivelul Baseband

Probleme ca ce date să se transmită și când, ce date să se aștepte a fi recepționate și când, ce frecvență purtătoare și ce putere de transmisie să se utilizeze, depășesc competența nivelului radio și sunt responsabilitățile link controller-ului care execută protocolul de comunicație de la nivelul baseband și procese înrudite cu acesta. Se include aici:

• funcții de control al picorețelei și dispozitivelor cum ar fi stabilirea conexiunii (prin interogare și paging), selecția secvenței de salt al frecvenței, ceasul Bluetooth.

• moduri de operare pentru controlul puterii emise și algoritmi de securizare a informației.

• funcții pentru accesul la mediu: polling, tipuri de pachete utilizate, prelucrarea pachetelor informaționale și tipuri de legături.

Interfețele logice dintre nivelul baseband și restul sistemului Bluetooth, prin intermediul cărora sunt transportate datele și informațiile de control nu sunt standardizate prin specificație, pentru aceleași motive menționate în discuția despre partea radio. Tot în acest context va fi prezentată mai pe larg structura rețelei care ia naștere prin conexiunile dintre dispozitivele Bluetooth, și anume picorețeaua.

Așadar pentru ca aceste dispozitive să poată comunica folosind tehnologia wireless Bluetooth trebuie să facă parte dintr-o picorețea. Altfel spus, picorețeaua oferă un canal de comunicație folosit în comun conform anumitor reguli, prin care membrii picorețelei comunică între ei. Ținând cont de faptul că dispozitivele radio Bluetooth lucrează conform unui model FHSS, acest canal de comunicație constă dintr-o secvență bine definită de frecvențe la care se face transmisiunea, alese pseudo-aleator dintr-un set posibil de valori (2,402 + k GHz, k = 0,1,…m-1, m = 79) și care se schimbă de 1600 de ori pe secundă, fapt pentru care spunem că se face un salt al frecvenței – frequency hop. Membrii picorețelei trebuie și sunt capabili să urmeze succesiunea de frecvențe într-o manieră sincronă. O particularitate a acestui tip de rețele este că se formează după nevoile de moment de a comunica ale dispozitivelor sau chiar prin simplul fapt că acestea “se întâlnesc” într-o suprafață de anumite dimensiuni, durează atâta timp cât participanții comunică între ei și nu se bazează pe mijlocirea unei entități suport dedicate , așa cum ar fi o stație de bază într-o rețea celulară sau vreun soi de WLAN. La nivelul baseband aflăm despre modul în care se crează o secvență frequency hopping pentru o picorețea, cum învață dispozitivele să urmeze această secvență pentru a se alătura picorețelei și cum se transmit și se recepționează pachete de informație într-o manieră ordonată între aceste dispozitive.

Protocolul de la nivelul baseband stabilește regulile potrivit cărora sunt create aceste conexiuni ad-hoc asfel încât dispozitivele să poată comunica eficient și ordonat. Secvențele frequency hopping care definesc canalele de comunicație pentru picorețele au o structură foarte dezordonată,în sensul că frecvențele de salt sunt alese într-un mod dezordonat, sau mai bine zis sunt create astfel încât să pară alese foarte dezordonat. Datorită utilizării salturilor de frecvență pentru transmisiuni în orice picorețea Bluetooth, este posibilă existența și deci funcționarea concomitentă în spațiu și timp a mai multor picorețele, cu o minimă interferență între ele. Am văzut că atunci când două sau mai multe picorețele se suprapun cel puțin parțial în spațiu și timp, ia naștere o rețea mai extinsă numită scatternet. Acest lucru oferă posibilitatea comunicațiilor între picorețele, atunci când dispozitivele devin membri ai mai multor picorețele.

Rolurile de master și slave într-o picorețea sunt temporare și ele au semnificație doar atâta timp cât dispozitivele învestite cu aceste roluri sunt membri ai picorețelei. Desigur ele pot fi costruite astfel încât să opereze doar ca master sau doar ca slave, dar acest lucru ține mai mult de aplicația host și de un anumit scenariu de utilizare decât de specificația Bluetooth. În general specificația asigură capacitatea dispozitivului de a acționa atât ca master cât și ca slave, în funcție de rolul cerut pentru a duce la îndeplinire o situație dată. Unitățile Bluetooth în sine sunt identice, ceea ce înseamnă că oricare unitate poate deveni masterul unei picorețele și în plus, odată ce a fost stabilită picorețeaua, ele își pot schimba aceste roluri prin intermediul unui proces amănunțit. În cazul unei rețele scatternet, un dispozitiv care este parte din mai mult de o rețea poate fi master pentru cel mult una dintre acestea și slave în mai multe dintre ele. Nu voi discuta aici despre migrația picorețelelor, nici despre comunicația prin scatternet, motivul fiind acela că nu au fost suficient dezvoltate în versiunea 1.0 a specificației, în care nu se face referire la nici un scenariu de utilizare care să implice comunicații ce traversează picorețelele; totuși sunt prevăzute unele considerații pe baza cărora aceste procese s-ar putea desfășura.

Rolul principal al masterului este de a preciza următoarele:

– ce secvență frequency hopping să urmeze membrii picorețelei din care el face parte.

– când intervine schimbarea frecvenței, precizând astfel baza de timp după care se desfășoară procesele (evenimentele) în picorețea.

– care frecvență este cea “curentă”.

– cărui slave îi va transmite informații și/sau cărui slave i se permite apoi să transmită (ținem cont de faptul că permisiunea de a transmite este acordată prin interogare ciclică – polling).

Primele trei chestiuni sunt în strânsă legătură cu modul de formare și menținere a picorețelei, și cu modalitatea prin care dispozitivele pot face parte din ea, în timp ce ultima chestiune este asociată cu modul în care se desfășoară transmisiunile în picorețea.

În Figura 8 sunt prezentate stările în care un dispozitiv Bluetooth se poate afla în cadrul unei picorețele:

– Atunci când un dispozitiv nu este asociat cu vreo picorețea sau nu participă în vreun fel la formarea sau aderarea la una se cheamă că se găsește în starea standby. Aceasta este starea implicită (default) în care se găsește un dispozitiv Bluetooth și în acest timp el efectiv nu face nimic, doar ceasul său propriu (nativ) funcționează într-un mod de consum redus de putere.

– Pentru a ajunge în starea “conectat” (connected), dispozitivul trece mai întâi în stările inquiry (interogare) și page , prezentate ca stări distincte dar complementare d.p.d.v al masterului și slave-ului. În starea inquiry un dispozitiv află identitatea celorlalte dispozitive din vecinătate , și la rândul lor, acestea trebuie să se găsească în starea inquiry scan pentru a asculta mesajele de interogare (inquiries) și a răspunde apoi la acestea.

– În starea page invită în mod explicit un altul să se alăture rețelei al cărei master este. Cel invitat trebuie să se afle în starea page scan pentru a putea asculta mesajele de paging și apoi să răspundă corespunzător. Așa cum se poate observa din aceeași figură, un dispozitiv poate sări peste starea inquiry dacă cunoaște deja identitatea dispozitivului căruia urmează să-i transmită mesajul de paging.

– În fine, starea connected este aceea în care se află dispozitivul când este membru al picorețelei. De asemenea se sugerează în figură că un dispozitiv, chiar dacă este deja membru al picorețelei mai poate trimite mesaje inquiry și page (adică poate trece dinnou în aceste stări) către alte dispozitive pentru ca și acestea să facă parte din picorețea sau pentru a forma o altă picorețea. Se mai poate afla în stările inquiry scan și/sau page scan, caz în care este cooptat într-o altă picorețea (ca slave deci), formându-se în acest fel o scatternet.

Figura 8. Stările operaționale ale unui dispozitiv Bluetooth.

Pentru a deveni membru într-o picorețea, un dispozitiv Bluetooth trebuie să știe cum să reproducă secvența de salt care definește acea picorețea și la care frecvențe și când urmează să se transmită mesaje. De asemenea, pentru a lua parte la o comunicație în acea picorețea trebuie să știe cum să formuleze , să citească și să scrie pachetele de informație. Toate acestea și aproape orice altă operațiune desfășurată într-un dispozitiv Bluetooth sunt legate de cunoașterea a două elemente fundamentale:

• Adresa dispozitivului Bluetooth.

• Ceasul propriu (nativ) al dispozitivului Bluetooth.

Orice proces la nivelul baseband este strâns legat de acestea. Dar dintre ele, două sunt remarcabile, de aceea sunt considerate procese fundamentale. Acestea sunt cele care generează secvența frequency hopping și codul de acces.

Adresa de dispozitiv Bluetooth (BD_ADDR)

Am putea spune că adresa de dispozitiv Bluetooth (BD_ADDR – Bluetooth Device Address) este cea mai statică entitate a unui dispozitiv Bluetooth și că este inscripționată electronic în fiecare astfel de unitate. Este o adresă pe 48 de biți, unică pentru fiecare dispozitiv Bluetooth , unicitatea fiind garantată de către o autoritate însărcinată cu asignarea acestor adrese. BD_ADDR este o adresă de tipul IEEE pe 48 de biți, similară adreselor MAC ale dispozitivelor care operează în rețelele IEEE 802.xx LAN. Cei 48 de biți, dela cel mai puțin semnificativ (LSB) până la bitul cel mai semnificativ (MSB), sunt împărțiți în trei părți:

– partea inferioară a adresei (LAP – Lower Address Part), 24 de biți.

– partea superioară a adresei (UAP – Upper Address Part), 8 biți.

– partea nesemnificativă a adresei (NAP – Non-significant Address Part), 16 biți.

Părțile UAP și NAP se constituie în identificatorul unic al organizației (OUI – Organization Unique Identifier) și care este asignat în mod unic fiecărei organizații de către autoritatea de numerotare. Restul, adică partea LAP, este la dispoziția fiecărei organizații în parte pentru alocarea internă de adrese. Diversele părți ale adresei BD_ADDR sunt implicate în aproape toate operațiunile desfășurate la nivelul baseband, de la identificarea picorețelei, la codul HEC (Header Error Checking) de verificare a apariției erorilor în pachetele informaționale,la autentificare și generarea codului (cheii) de criptare a informației. Adresa masterului determină secvența de salt și codul de acces la canalul de comunicație.

Ceasul Bluetooth

Fiecare dispozitiv Bluetooth are un ceas propriu, nativ, care determină momentele de salt al frecvenței pentru transceiver. Este un ceas pe 28 de biți care nu este niciodată ajustat ori oprit. El s;ticăie de 3200 de ori pe secundă, sau odată la fiecare 312,5 altfel spus, frecvența ceasului este 3,2 KHz. Se remarcă faptul că aceasta este dublul ratei nominale de salt al frecvenței (1600 ori/s). exactitatea sa este de ±20ppm. Pentru funcționarea în modurile de consum redus ca hold, park și în standby, se folosește un oscilator de mică putere, ceea ce conduce la o exactitate scăzută a ceasului, de ±250ppm. Ceasul Bluetooth joacă un rol fundamental în alegerea momentelor în care dispozitivul poate sau nu să transmită sau să asculte transmisiunile, la ce frecvență să transmită și/sau să recepționeze și ce tipuri de pachete informaționale să aștepte ori să transmită. De notat este că acest ceas nu are nici o legătură cu momentele zilei, ca urmare poate fi inițializat cu orice valoare, și are un ciclu de aproape o zi. Ceasul de sistem al masterului determină faza secvenței de salt al frecvenței și stabilește temporizarea (timing).

Pentru sincronizarea cu alte dispozitive se folosesc offset-uri, care adăugate la ceasul nativ (native clock), propriu fiecărui dispozitiv, rezultă în ceasuri Bluetooth; odată stabilită o picorețea, ceasul masterului este comunicat dispozitivelor slave, fiecare adăugând un offset la ceasul său propriu, pentru a se sincroniza cu ceasul masterului, aceste offset-uri trebuind să fie înnoite cu regularitate întru-cât ceasurile native sunt freee-running.

Patru perioade s,s, 625sunt importante în sistemul Bluetooth: cele de 312,5 1,25ms și 1,28s. aceste perioade corespund biților temer-ului CLK0, CLK1, CLK2 și CLK12. Transmisiunile de la master către slave încep la intervale temporale (slots) pare, atunci când CLK0 și CLK1 sunt amândoi 0.

După cum dispozitivele Bluetooth se pot găsi în diverse moduri și stări de funcționare, așa și ceasul poate îmbrăca mai multe forme:

• CLKN – ceasul nativ (native clock),

• CLKE – ceasul estimat (estimated clock),

• CLK – ceasul masterului.

Ultimile două sunt derivate din primul prin adăugarea unui offset; în cazul masterului, offset-ul este 0, deoarece CLK este identic cu propriul său CLKN. Fiecare slave adaugă la propriul CLKN un offset potrivit, astfel ca CLK-ul obținut să corespundă cu CLKN-ul masterului.

Cap. 6 Modele de utilizare a dispozitivelor Bluetooth

Explicarea conceptului de comunicație fără fir Bluetooth se axează și se bazează pe specificația tehnologiei, iar aceasta la rândul ei este întemeiată pe baza unor modele sau scenarii de utilizare. Acestea au precedat de fapt apariția specificației fiind conținute în planul de marketing alcătuit pentru prezentarea obiectivelor tehnologiei ce avea să se contureze și să se dezvolte și a căror parte integrantă sunt de fapt. Scenariile nu au fost prevăzute să acopere toate funcțiunile posibile ce puteau fi obținute cu această tehnologie, ci intenția a fost ca să stabilească scopul inițial al primei versiuni a specificației.

Modelele de utilizare Bluetooth sunt specificate formal (oficial) în profiluri (profiles) de care ne vom ocupa ulterior în această lucrare. Pentru început însă vom prezenta la modul general, de fapt din punctul de vedere al utilizatorului final. Nu toate scenariile ce vor fi descrise în continuare au un profil corespondent deși toate au fost la un moment dat discutate, prezentate sau publicate de către SIG și sunt reprezentative pentru modelele de utilizare care au condus la dezvoltarea specificației. Dacă un model de utilizare din cele descrise în continuare nu are un profil corespondent, aceasta pur și simplu este din cauză că SIG nu a prezentat oficial acel scenariu în versiunea 1.0 a specificației. În acest fel, modelele de utilizare descrise în continuare reprezintă doar un set de scenarii care pot fi realizate folosind tehnologia de comunicație fără fir Bluetooth; acestea pot fi realizate și cu alte tehnologii deci modelele nu sunt neapărat unice tehnologiei Bluetooth.

Computerul fără fir (cordless computer)

Am aflat că la bază tehnologia de comunicație Bluetooth este un înlocuitor pentru fire, cabluri. Calculatorul desktop, cel care sălășluiește pe birourile noastre de acasă ori la serviciu, este primul exemplucare ne vine în minte și în care avem de-a face cu un mare număr de cabluri incomode și deci greu de controlat. Acest model de utilizare nu este conținut explicit în versiunea 1.0 dar se așteaptă ca acest scenariu să fie realizat într-o manieră directă în viitorul apropiat. Așa cum se poate observa în Figura multe dintre cablurile de legătură dintre calculator și periferice pot fi înlocuite prin legături wireless. Tastaturi, mose-uri, joistick-uri, boxe, imprimante, scannere și altele ar putea folosi în acest scop tehnologia de comunicație wireless Bluetooth.

Tot în legătură cu computerul desktop și tot fără fir pot comunica cu acesta PAD-urile, camerele digitale și de asemenea legătura la rețeaua din care poate face parte calculatorul este posibil să fie wireless. În plus față de avantajul evident de a nu avea de a face cu cabluri în timpul instalării și lucrului cu calculatorul, dispozitivele fără fir oferă mai multă libertate în ceea ce privește plasarea lor în spațiul disponibil, ca și în utilizarea lor. Boxele, imprimantele și scanerele de exemplu, ar putea fi plasate oriunde, în locuri puțin sau deloc incomode pentru utilizator, nerestricționate de conectori și lungimi d cablu. Tot așa dispozitivele pentru interfața cu utilizatorul, adică tastatura, mouse-ul, joistick-ul, le putem așeza oriunde ne convine, în imediata apropiere a noastră, a utilizatorilor și în plus pot fi mutate odată cu noi, nemaifiind nevoie să rămână fixe într-un loc, constrânse de prezența cablului. O importanță în creștere o are un alt aspect al acestui scenariu și anume: utilizarea în comun a dispozitivelor, cunoscută sub numele de device sharing, cu avantaje evidente în cazul folosirii în comun, de către mai multe calculatoare adică, a perifericelor ca imprimantele și scanerele. În mod cert această facilitate este preferabilă celei similare dar desfășurată prin intermediul conexiunilor prin cablu care se petrece în felul următor: în primul rând calculatorul la care sunt conectate prin cabluri perifericele ca și restul calculatoarelor fără imprimantă și/sau scaner proprii trebuie să fie legate într-o rețea iar primul se va comporta ca un server; atunci când utilizatorul unui alt calculator vrea să folosească perifericele va face acest lucru prin intermediul stației host (serverul) la care acestea sunt legate. Incomod, nu? În cazul modelului cordless computer acest inconvenient dispare și alte dispozitive care comunică prin Bluetooth pot accesa în mod egal perifericele.

Dispozitivul headset

Acest dispozitiv alcătuit după cum se știe dintr-un mic difuzor plasat într-o cască pentru o singură ureche și un microfon este folosit ca suport pentru voce în comunicația Bluetooth. Această metodă de implemetare este tot mai cautată în telefonia mobilă. Ele sunt evident extrem de utile persoanelor care, la locul de muncă îndeosebi, pot înlocui acel binecunoscut gest al ținerii receptorului telefonului fix cu umărul pentru a continua convorbirea în timp ce cu mâinile caută prin dosare , completează formulare sau, mai nou aproape pretutindeni, lucrază pe calculator, așa cum se întâmplă call center-uri, birouri de informații, birouri pentru rezervări de tot soiul prin telefon, etc.. Ne putem imagina diverse situații în care dispozitivul headset se folosește împreună cu telefonul mobil. Ceea ce ne-am dorit a fost așadar să putem vorbi la telefon fără să avem o mână ocupată pentru aceasta. Noutatea introdusă de tehnologia Bluetooth nu este acest dispozitiv ci faptul că între el și telefon nu mai există cablu.  

Un apel telefonic poate fi efectuat folosind claviatura telefonului pentru apelarea partenerului de conversațiedupă care convorbirea propriu-zisă este dirijată prin microfonul și difuzorul dispozitivului headset. Un mare avantaj al acestui dispozitiv numit ultimate headset este mobilitatea, adică utilizatorul său este liber să se deplaseze, să străbată o anumită suprafață , conexiunea păstrându-se intactă. Un alt avantaj este acela că ultimate headset poate fi folosit nu doar în legătură cu telefoanele ci și cu alte dispozitive ca de exemplu un punct de acces la voce fix (voice access point) – așa cum este o stație de bază pentru telefonia cordless – și de asemenea poate interacționa pe cale audio cu calculatoarele, toate acestea fiind posibile datorită faptului că specificația Bluetooth oferă o interfață standard. În viitor vom putea probabil folosi ultimate headset pentru casetofoane, CD playere portabile și chiar dispozitive de înregistrat voce. Ca și în cazul modelului de utilizare anterior prezentat, echipamentele cu care ultimate headset interacționează și care au deci implementată tehnologia Bluetooth, pot fi plasate după bunul plac al utilizatorului, cele mobile putând fi purtate convenabil într-un buzunar sau în servietă. Prin dezvoltarea tehnologiei vorbirii ar putea fi posibil să nu mai avem nevoie nici măcar de calviatura telefonului pentru a efectua un apel telefonic ci, folosind recunoașterea vocii, ultimate headset să fie tot ceea ce ne trebuie și ca interfață cu utilizatorul.

Telefonul 3 în 1 (the three in one phone)

Astăzi oamenii au la dispoziție nenumărate posibilități de a comunica prin intermediul telefoanelor, mulți dintre noi dispunând de mai multe astfel de aparate: un telefon la serviciu, unul sau mai multe acasă (unele cu fir, altele cordless), unul sau chiar mai multetelefoane mobile (celulare), avem acces la telefoane publice, deci oriunde ne-am afla putem telefona. În locul multora dintre aceste telefoane am putea folosi unul singur care implementează tehnologia de comunicație wireless Bluetooth. Modelul numit three in one phone permite ca un telefon mobil să poată fi întrebiunțat în trei moduri distincte, toate trei însă fiind aplicații de voce și anume: 1. ca telefon celular în manieră standard, 2. ca telefon cordless conectându-se la un punct de acces la voce care este stația de bază pentru telefonia cordless, sau 3. în rolul așa-numitului intercom sau “walkie-talkie” pentru comunicații directe phone-to-phone cu un alt telefon aflat în apropiere. Primul și principalul avantaj al acestui dispozitiv sau mai bine zis model de utilizare este că un telefon poate fi tot ceea ce îi trebuie unei persoane pentru a desfășura multiple variante de comunicație telefonică.

Prin urmare, nevoia de a deține mai multe receptoare telefonice acasă ori la serviciu și implicit nevoie de tot atâtea numere de telefon distincte este minimizată în acest mod.

Funcția “walkie-talkie” a telefonului trei în unul este utilă îndeosebi pentru comunicații desfășurate pe o rază de 100m , folosind deci nivelul amplificat de putere de 20dBm și nu pe cel standard, pentru că dacă părțile comunicante s-ar apropia la 10m distanță una de cealaltă – cu excepția situației în care între cei doi se găsește un obstacol fizic ca un perete de exemplu – această utilizare nu și-ar mai avea rostul întru-cât cei doi ar putea pur și simplu să țipe unul la celălalt decât să folosească telefoanele. Tocmai din această pricină (utilitatea limitată) Sig a dezbătut problema includerii acestei funcții a modelului telefonul 3 în 1 în versiunea 1.0 a specificației, care după cum știm s-a axat pe dispozitivele radio Bluetooth cu puterea standard de 0dBm. În felul acesta modelul s-ar fi numit telefonul 2 în 1. Totuși chiar și pentru aceasta s-au găsit situații care să-i justifice utilitatea de exemplu: atunci când partenerii de comunicație se află fiecare la un alt etaj al clădirii, sau când unul dintre cei doi se găsește într-un spațiu îngust, strâmt, sau pur și simplu atunci când deși cei doi nu se află la o distanță prea mare unul față de celălalt și se pot vedea, doresc să nu le fie deranjată discuția, sau nu vor să strige unul la celălalt încercând să acopere vocile unei mulțimi aflată între ei.

Conferința interactivă sau transferul de fișiere

Una dintre aplicațiile fundamentale și totodată una dintre cele mai utile pentru orice tip de rețele de date, inclusiv pentru simplele legături punct la punct (așa cum sunt și cele stabilite în cadrul comunicației prin Bluetooth) este schimbul de fișiere și alte așa-numite data objects. Binecunoscute sunt transferurile de fișiere efectuate prin intermediul floppydisk-urilor sau cablurilor (care leagă între ele calculatoarele în rețele, transferându-se astfel fișiere de la un calculator la altul). Iată că dinnou se disting avantajele comunicației wireless, care înlătură necesitatea cablurilor și totodată ușurează procesul de creare a legăturilor temporare între dispozitivele comunicante, legături create cu scopul de a transfera într-o manieră cât mai rapidă fișiere și alte data objects. De exemplu pe măsură ce porturile de comunicație în infraroșu sunt tot mai des utilizate în computere notebook, telefoane mobile și personal digital assistants este foarte ușor pentru utilizatori să stabilească legături în infraroșu temporare, pentru a schimba să spunem cărți de vizită și alte tipuri de date.

În mod asemănător, acest tip de transfer de fișiere și obiecte este posibil prin tehnologia de asemenea wireless Bluetooth. Un bun scenariu pentru exemplificare este acela al sălii în care se desfășoară o conferință interactivă și unde participanții fac schimb de cărți de vizită și fișiere. Transferul se poate desfășura între oricare două calculatoare, pentru fișiere sau chiar între oricare două dispozitie cu condiția ca toate să fie dispozitive cu Bluetooth, pentru transferul orintat pe obiect. Așadar un prim avantaj al transferului wireless de fișiere este evident ușurința cu care se face schimbul de date între două sau mai multe dispozitive, fără să fie nevoie de cabluri, care pe lângă faptul că sunt incomode sunt adesea și incompatibile pentru două dispozitive oarecare. La fel de important este faptul că nu este necesară setarea și configurarea unei rețele complete propriu-zisă care să unească toate aceste dispozitive. Deci este mult mai comod, mai simplu și mai frumos pentru cei prezenți la o conferință, întâlnire de afaceri, etc. să folosească acest model de comunicație decât să amâne schimbul de informații până la sfârșitul întrevederii, când un computer ar putea fi conectat la rețea.

Pod Internet (Internet bridge)

În ceea ce privește acest model de utilizare există două metode similare și în același timp diferite prin care comunicația Bluetooth poate substitui podurile pentru a face legătura cu rețele ca Internet sau Intranet.

Funcția descrisă aici este similară podurilor tradiționale și întocmai ca la acestea este diferită de funcția îndeplinită de ruteri. Nici nu este specificat în versiunea 1.0 un model de ruter Internet cu Bluetooth. Prima metodă este conectarea la rețea prin dial-up, folosind un telefon în rolul de modem fără fir, iar a doua este accesul direct la o rețea locală (LAN) prin intermediul unui punct de acces la date (data access point).

Accesul la Internet prin dial-up

Folosirea acestui tip de pod Internet nu se deosebește cu mult de metoda cunoscută și folosită astăzi de mulți oameni pentru accesul la Internet. Metoda clasică implică conectarea unui calculator la Internet printr-un modem, folosind un telefon pentru a contacta un furnizor de servicii Internet (ISP – Internet Service Provider). Ceea ce aduce Bluetooth în plus la acest scenariu este posibilitatea realizării acestuia fără implicarea vreunui fir. Astăzi modelul clasic de conectare prin dial-up necesită folosirea unui cablu între calculator și telefon chiar și în cazul în care telefonul este mobil. Dar folosind un computer și un telefon ambele suportând profilul Bluetooth de conectare prin dial-up la Internet sau o altă rețea, legătura capăt la capăt creată poate fi în întregime wireless.

Accesul direct (Direct Network Access)

În timp ce accesul la Internet prin dial-up este o metodă foarte populară în special pentru accesul de acasă sau din alte medii în care liniile telefonice (sau în unele situații cabluri sau legături de date de mare viteză ex. XDSL) sunt principalele poduri de comunicație, accesul direct la LAN-uri este comun întreprinderilor, campusurilor universitare și alte medii similare. Așadar rețeaua locală accesată direct reprezintă un gateway (o pasarelă) către Internet. Accesul direct folosind tehnologia de comunicație wireless Bluetooth este posibil prin punctele de acces la date. Un punct de acces la date permite dispozitivelor s ă se conecteze la el fără fir, apoi acesta se leagă la rețeaua locală. Dinnou această procedură nu diferă funcțional de varianta clasică realizată prin cabluri, așa cum se întâmplă în cazul rețelelor Ethernet tradiționale unde calculatoarele se conectează la punctele de acces la rețea (network access point) folosind cabluri. De asemenea un punct de acces la date, fără fir oferă posibilitatea ca mai multe dispozitive să-l folosească în comun. Astfel, mai multe dispozitive aflate în vecinătatea unui singur punct de acces la date se pot conecta wireless la o rețea, ceea ce este mult mai convenabil decât să existe o legătură individuală pentru fiecare pereche dspozitiv-punct de acces propriu. Se remarcă faptul că punctele de acces la date pot fi proiectate astfel încât să se integreze perfect în infrastructura deja existentă a rețelelor prin cablu, folosind și totodată protejând investiția făcută chiar dacă și această ultimă legătură (cea între punctul de acces și rețeaua propriu-zisă) ar fi wireless.

Modelul Speaking Laptop

Acesta nu este unul dintre modelele prezentate în cadrul primei versiuni a specificației, deoarece probabil este considerat o extensie a profilului ultimate headset deja prezentat, dacă luăm în considerație faptul că suportul tehnic al dirijării traficului de voce între un telefon și un alt dispozitiv este asemănător. Totuși există unele considerații particulare privind utilizatorul final care fac acest model să merite o discuție individuală.

Conceptul care stă la baza sa este cel potrivit căruia microfonul și difuzorul unui computer laptop sau computer notebook pot constitui intrarea și ieșirea audio pentru o convorbire telefonică stanilită printr-un telefon mobil. Pentru a înțelege mai bine modul de funcționare să ne imaginăm că o persoană aflată într-o ședință inițiază sau primește un apel pe telefonul său mobil iar tema discuției telefonice este de interes pentru toți cei de față. Pentru ca toți aceștia să poată lua parte la discuție, ar fi necesar un telefon fix pus pe speaker. Rolul lui poate fi jucat de un computer laptop sau notebook prin care să fie rutat fluxul vocal primit de la telefonul mobil. Deci se stabilește o legătură de comunicație Bluetooth între telefonul mobil și laptop și problema este rezolvată. Se înțelege faptul că convrbirea se desfășoară tot prin rețeaua telefonică mobilă la care e conectat telefonul, prin care însă doar trece fluxul audio mai departe spre punctul final care este totodată sursă și receptor (pentru că are microfonul și difuzorul), adică laptopul sau computerul notebook.

Modelul de utilizare speaking laptop este un exemplu de extensie a funcțiilor unui dispozitiv, care îi permite să “împrumute” capacitățile unui alt dispozitiv. Urmând această idee, untelefon mobil care nu dispune de funcția spekerphone poate fi “completat” cu un laptop care prin intrarea și ieșirea sa audio să țină loc de speakerphone, așa cum am văzut.

Cartea poștală instantanee (The instant postcard)

Cartea poștală instantanee este un alt model de utilizare discutat încă de la începutul dezvoltării specificației, fără să facă însă parte adică să fie inclusă oficial în versiunea 1.0. Acesta este unul dintre puținele scenarii care implică un dispozitiv diferit de ceea ce am văzut până acum, adică telefoane mobile și calculatoare și agende electronice de tot soiul, deși de acum înainte se așteaptă ca noile modele de utilizare și profiluri dezvoltate să includă ori să se adreseze unor clase suplimentare de dispozitiv, neimplicate până acum în astfel de proiecte. Conceptul de bază în cadrul modelului instant postcard este așa cum intuim folosirea unei camere foto digitale, capabilă să capteze imagini pe care epoi să le transfere wireless unui alt dispozitiv, de regulă un computer, care la rândul său are rolul de a transmite prin e-mail imaginea, către o destinație anume. Urmând acest lanț ia naștere o carte poștală digitală. Astăzi pentru acest proces se folosește metoda care implică utilizarea firelor deoarece majoritatea camerelor digitale necesită legarea la un computer printr-un cablu serial care transportă imaginile digitale în memoria calculatorului, unde pot fi păstrate, catalogate, manipulate și apoi distribuite.

Figura 9. Cartea poștală instantanee.

Ce schimbări aduce Bluetooth scenariului anterior? În primul rând, așa cum am punctat la început, înlătură necesitatea cablului dintre camera digitală și dispozitivul cu care comunică imediat, adică cel care recepționează într-o primă fază fotografia. În al doilea rând se înlătură și necesitatea ca acest dispozitiv receptor să fie absolut necesar un calculator, intru-cât, mai nou, fotografiile pot fi transferate direct către un telefon mobil care apoi să le trimită prin e-mail către destinație. Și un al treilea avantaj care desigur merită menționat este că transferul fotografiilor de la o cameră digitală către o bază de date ori bibliotecă poate fi realizat într-o manieră apropiată de timp real, devreme ce nu se folosește nici un cablu pentru transport.

Acest scenariu este mai util decât ne-am imaginat întru-cât poate fi folosit pentru a trimite nu doar un singur tip de imagini (cărți poștale și fotografii pentru rude și prieteni), ci în afara acestui aspect personal poate fi implicat în numeroase alte domenii și aplicații (in legătură cu proprietăți imobiliare și funciare, cu domeniul justiției și al asigurărilor).

Formarea rețelelor ad-hoc (Ad-hoc networking)

Acest model de utilizare ar putea fi considerat ca fiind o extensie a scenariului conferința interactivă sau transferul de fișiere și, ca și modelul anterior, nu este prezentat explicit în prima versiune a specificației, dar oferă numeroase posibilități pentru dezvoltarea de noi aplicații în viitor. Rețelele ad-hoc sunt rețele care se formează spontan, și atunci când iau naștere între participanții la o conferință de exemplu, pot decurge de aici noi și incitante aplicații (mesagerie instantanee, real-time viewing, etc.). Interesant este faptul că rețelele ad-hoc formate folosind tehnologia de comunicație Bluetooth împlică dispozitive diverse, ceea ce subliniază superioritatea acestei tehnologii în ceea ce privește interoperabilitatea.

Modelul hidden computing

Hidden computing, cunoscut și sub numele de unconscious computing, este una dintre cele mai fascinante aplicații ale viitorului pentru tehnologia Bluetooth, nefiind conținută în versiunea 1.0 a specificației deși îndelung dezbătută în cadrul întâlnirilor SIG.elementele fundamentale necesare pentru anumite forme de hidden computing există deja în specificația curentă, chiar dacă SIG nu a dezvoltat profiluri care să descrie modul în care diferite aplicații hidden computing pot fi realizate într-o manieră standard și interoperabilă.

Acest model de utilizare include o clasă de aplicații în care dispozitive care nu sunt utilizate în mod explicit de către o persoană pot totuși să execute anumite funcții în beneficiul posesorului dispozitivelor respective. Ceea ce spune de fapt această definiție este că dispozitivele în care este implementată tehnologia Bluetooth și pe care o persoană le poate ține în buzunar ori în geantă, pot efectua acțiuni pe cont propriu, fără ca cel ce le deține să inițieze aceste acțiuni deci fără ca el să fie conștient de desfășurarea lor, cel puțin până verifică. Exemplele sunt multiple. Un computer notebook “ascuns” într-o servietă și aflat în starea “sleep” ar putea fi configurat să “se trezească” periodic pentru a recepționa e-mail-uri și a semnala apoi unui telefon mobil primirea lor.

Utilizatorul ar putea alege dacă să citească e-mail-ul de pe telefon sau de pe calculatorul notebook. Un telefon mobil de asemenea “ascuns” într-un buzunar ori geantă ar putea fi folosit de către un computer notebook configurat corespunzător, și el ascuns într-o servietă, pentru accesul la o rețea, în maniera descrisă la modelul Internet Bridge în varianta conectare prin dial-up. Odată conectat la Internet calculatorul notebook se poate sincroniza (își poate actualiza automat datele conținute) sau poate transmite și recepționa e-mail-uri, și toate acestea fără ca utilizatorul celor două dispozitive să conștientizeze acest fapt, deci fără să intervină în vreun fel în desfășurarea proceselor.

În primele etape ale dezvoltării specificației asemenea aplicații erau numite “șmecheria din servietă” (the briefcase trick) dar ulterior descoperindu-se ușurința cu care dispozitivele care comunică prin Bluetooth pot intra în contact unele cu altele, pur și simplu că se află în vecinătate, aplicațiile hidden computing au început să abunde. O altă încercare a viitorului ar fi folosirea unui astfel de dispozitiv “ascuns”, adică neținut în mână și butonat ca o telecomandă, care să controleze parametrii mediului în care o persoană trăiește (de exemplu temperatura și umiditatea camerei, iluminarea, să pornească muzica sau televizorul deândată ce persoana se întoarce acasă), pe baza preferințelor utilizatorului. Născute din imaginația și ingeniozitatea inginerilor, aceste tipuri de scenarii sunt aproape nelimitate ca număr, și chiar dacă multe nu pot fi încă realizate, tehnologia Bluetooth oferă suportul pentru ca să devină posibile.

Bazat pe aceste modele de implementare cuprinse în specificațiile bluetooth membrii Bluetooth SIG și dezvoltatorii de echipamente bluetooth au relizat dispoyitive care utilizează tehnologiile bluetooth, destinate atât mediului industrial (Anexa 1) cît și utilizatorilor medii (Anexa 2).

Casca Bluetooth

Una dintre primele implementări ale tehnologiei Bluetooth a fost casca fără fir pentru telefoanele mobile. În ziua de azi majoritatea telefoanelor mobile încorporează tehnologie Bluetooth. Utilizatorul are posibilitatea, fie că se află în casă, în mașină, pe motocicletă sau oriunde în altă parte, să poarte convorbiri telefonice fără a avea mâinile ocupate, datorită tehnologiei Bluetooth.

În cazul automobilelor poate fi folosit un car kit al producătorului telefonului, sau un car kit after market, sau poate fi folosit un sistem integrat al automobilului. Și toate acestea datorită compatibilității asigurate diverselor dispozitive.

Căștile Bluetooth pot fi utilizate pentru convorbiri și în combinație cu un PC, fie că este vorba și de conectarea telefonului sau că este vorba de comunicație Voice over Internet Protocol (VoIP).

Muzică și multimedia

Muzica Hi-Fi poate fi ascultată și fără ajutorul cablurilor, conexiunea între echipamente făcându-se prin Bluetooth. Multe dintre telefoanele mobile și playerele MP3 sunt deja livrate cu versiuni avansate de Bluetooth care suportă streaming-ul audio. Muzica trimisă de pe telefonul mobil, playere audio sau alte echipamente cu capacitate Bluetooth poate fi ascultată prin intermediul difuzoarelor, căștilor compatibile sau al altor echipamente multimedia cu această caracteristică.

Tipărirea prin intermediul Bluetooth

Pentru a simplifica procedura de conectare a diferitelor dispozitive mobile, sau camere foto sau chiar PC-uri cu imprimantele este folosit Bluetooth. Singurul condiție necesară este ca imprimanta să fi una dintre cele cu capacitate Bluetooth. Comanda de tipărire poate fi dată direct din dispozitivul care se conectează la imprimantă, totul realizându-se printr-un procedeu de setup mult mai simplu. Cu alte cuvinte nu mai este nevoie de cabluri, nu mai trebuie transferate mai întâi fișierele pe un calculator conectat la imprimantă. Totul se face prin conectare directă și mult mai simplu.

Dispozitive periferice de intrare

Este vorba de dispozitivele de genul tastatură, mouse, tabletă grafică, dispozitive fără fir pentru prezentări (cordless presenter) etc.

Pot fi astfel folosite tastaturi Bluetooth atât cu PC-uri, eliminându-se astfel cablurile care ocupă loc pe masa de lucru, cât și cu echipamente mobile gen PDA sau smartphone care au tastaturi mici, incomod de folosit.

Transfer de date

Dispozitivele echipate cu Bluetooth pot transmite și recepționa date între ele, sub formă de text, muzică, imagini sau alte tipuri de fișiere.

Cap. 7 Programarea Bluetooth

Conceptele esențiale de programare Bluetooth nu sunt nici numeroase nici dificile. Bluetooth a fost conceput de la început ca fiind independent de tenhnologiile Ethernet și protocoalele TCP/IP. Este rezonabil să privim programarea Bluetooth din același punct de vedere ca și programarea Internetului.

Ambele urmăresc principiile generale de programare a rețelelor și împart aceleași principii ale unui dispozitiv care comunică și relizează schimb date cu un alt dispozitiv. Programarea Bluetooth și Internet au atât de multe în comun încât înțelegerea unuia ușurează înțelegerea celuilalt.

Programarea TCP/IP este matură, omniprezentă și dispune de o mulțime de exemple. Marea diferență, în comparație cu Bluetooth, constă în faptul că Bluetooth-ul se concentrează pe dispozitive aflate în apropiere, din punct de vedere fizic, în timp ce programarea Internet nu ține cont de distanțe. Acestă diferență afectează modul în care două dispozitive se descoperă reciproc și stabilesc o conexiune. După aceea, majoritatea conceptelor de programare sunt aceleași.

Procesul actual de stabilire a unei conexiuni depinde de modul în care dipsozitivul în cauză stabilește o conexiune de ieșire sau de intrare. Aceasta face diferența dintre dispozitive: care trimite primul pachet de date pentru inițierea comunicației și care primește acel pachet. Aceste concepte seamănă cu modelul client – server. Dispozitivele care inițiază conexiunea trebuie să aleagă un dispozitiv țintă și un protocol de transport, înainte de a stabili conexiunea și a transfera date. Dispozitivele care acceptă o conexiune trebuie să aleagă un protocol de transport al datelor și să asculte înainte de a stabili conexiunea și a transfera date.

Aceste concepte de bază și modul în care sunt transpuse atât în programarea Internet cât și în cea destinată Bluetooth sunt prezentate în figurile 10 și 11. De menționat este faptul că în cazul inițierii conexiunii doar primii doi pași (alegerea dispozitivului țintă, protocolului de transport și a portului pe care se realizează conexiunea) sunt diferite pentru programarea Bluetooth și Internet. Din momentul în care conexiunea a fost stabilită restul conceptelor sunt asemănătoare.

Procesul de acceptare a unei conexiuni este asemănător cu principala diferență că Bluetooth are support pentru asignare dinamică a numărului portului pe care se realizează conexiunea.

Figura 1. Pașii majori pentru programarea inițierii unei conexiuni.

Figura 2. Pașii majori pentru programarea acceptării unei conexiuni.

Exemple de programare Bluetooth

Alegerea dispozitivului țintă

În exemplu următor vom arăta modul în care se realizează alegerea dispozitivului de comunicație. Dispozitivul țintă are numele “My Phone”.

from bluetooth import *

target_name = "My Phone"

target_address = None

nearby_devices = discover_devices( )

for address in nearby¯devices :

if target_name == lookup_name( address ) :

target_address = address

break

if target_address is not None :

print "found target bluetooth device with address" , target_address

else :

print "could not find target bluetooth device nearby"

Comunicarea cu RFCOMM

Bazele stabilirii conexiunii utilizând socket-urile RFCOMM, transferul de date și deconectarea dispozitivelor sunt exemplificate în cele două exemple care urmează.

În primul exemplu un server de aplicații așteptă și realizează o singură conexiune pe portul RFCOMM 2, primește date și le afișează pe ecran.

În al doilea exemplu programul client se conectează la server, trimite un scurt mesaj și se deconectează.

from bluetooth import *

port = 2

backlog = 1

server_sock=BluetoothSocket ( RFCOMM )

server_sock . bind( ( " " ,port) )

server_sock . listen (backlog)

client_sock , client_info = server_sock . accept ( )

print "Accepted connection from " , client_info

data = client_sock.recv (1024)

print "received:" , data

client_sock.close ( )

server_sock.close ( )

from bluetooth import *

server_address = "01:23:45:67:89:AB"

port = 1

sock = BluetoothSocket ( RFCOMM )

sock.connect ( (server¯address , port) )

sock.send ( "hello!!" )

sock.close ( )

În modelul programării pe socket-uri, un socket reprezintă punctul terminus al unui canal de comunicație. Socket-urile nu sunt conectate în momentul creării lor și nu sunt utilizate până la apariția unei instrucțiuni de tip connect (aplicație client) sau accept (aplicație server) terminată cu succes.Odată realizată conexiunea pe socket acesta poate fi utilizat pentru trimiterea și primirea de date până în momentul în care conexiunea eșuează datorită unei erori de legătură sau este întreruptă de utilizator.

O instanță de tip BluetoothSocket class reprezintă un singur socket Bluetooth și aproape toate comunicațiile vor utiliza metoda acestei clase:

sock = BluetoothSocket ( protocol )

Producătorii de echipamente utilizează doar un singur parametru care sprcifică tipul socket-ului. Acesta poate fi RFCOMM, ca în exemplele anterioare,sau L2CAP descris în continuare. Modul de realizare a unui socket este același si pentru client și pentru server.

Un BluetoothSocket RFCOMM utilizat la acceptarea unei conexiuni trebuie atașat resurselor sistemului de operare prin metoda bind:

sock.bind ( address_and_port ).

Această metodă solicită un singur parametru : adresa adaptorului local Bluetooth pentru a fi utilizată și numărul unui port. De obicei există un singur adaptor local Bluetooth sau nu contează care este utilizat, deci un string nul va indica adaptarea oricărui adaptor Bluetooth local. O dată creat socket-ul o cerere către metoda listen pune socket-ul în modul ascultare și îl pregătește să accepte conexiuni prin metoda accept.

sock.listen ( backlog )

Metoda listen solicită un singur parametru, backlog, care va fi aproape permanent setat la valoarea “1”. Intre doi timpi ai instrucțiunilor listen și accept (sau între două instrucțiuni de tip accept) sistemul de operare poate accepta o conexiune și reține în starea pending – de așteptare a unei decizii – până în momentul în care serverul de aplicații lansează instrucțiunea accept.

Acest parametru controleză numărul conexiunilor în așteptare până în momentul în care sistemul de oprare va respinge cererile de conexiuni. Este mult mai util în programarea Internet, unde un server ocupat poate accepta sute sau mii de conexiuni la fiecare secundă. În contextul Bluetooth, unde doar câteva dispozitive se pot conecta simultan, acesta poate fi fi setat tot timpul la “1”:

Client_sock, address_and_port = sock.accept( )

Metoda accept nu necesită nici un parametru și întoarce doua valori. Prima indică faptul că un nou obiect BluetoothSocket este conectat la un client. A doua valoare indică adresa și numărul portului pentru clientul conectat.

Programele client utilizează metoda connect pentru stabilirea unei cereri de conexiune. Acestea nu folosesc instrucțiunea bind sau celelalte două funcții specifice serverelor.

connect ( address_and_port ).

În cazul în care operațiile Bluetooth eșuează dintr-un motiv oarecare, atunci funcție BluetoothError semnalizează aceasta cu un mesaj de eroare care indică și motivul erorii.

BIBLIOGRAFIE

***, BLUETOOTH SPECIFICATION Version 2.1 + EDR, Bluetooth Qualification Program Reference Document (PRD,) 26 July 2007, http://www.bluetooth.com

***, Bluetooth™ Technology, Manufacturer-independent information on Bluetooth™ Technology and its economic aspects, 2001,Bluetooth Whitepaper – www.rfi.de

Christian Gehrmann, Joakim Persson, Ben Smeets, Bluetooth Security, ARTECH HOUSE, INC., 2004

Lawrence Harte, Introduction to Bluetooth: Technology, Market, Operation, Profiles, & Services, ALTHOS, 2004

Michael Miller, Discovering Bluetooth, SYBEX Inc., 2001

***, ADVANCED AUDIO DISTRIBUTION PROFILE SPECIFICATION, BLUETOOTH DOC, 16.04.2007, http://www.bluetooth.com

***, AUDIO/VIDEO DISTRIBUTION TRANSPORT PROTOCOL SPECIFICATION, BLUETOOTH DOC, 16.04.2007, http://www.bluetooth.com

***, AUDIO/VIDEO REMOTE CONTROL PROFILE, BLUETOOTH DOC, 16.04.2007, http://www.bluetooth.com

***, Bluetooth Network Encapsulation Protocol (BNEP) Specification, BLUETOOTH DOC, 14.02.2003, http://www.bluetooth.com

***, HANDS-FREE PROFILE 1.5 , BLUETOOTH DOC, 25.11.2005, http://www.bluetooth.com

Similar Posts