Cuprins Tehnologia Bluetooth. ......................... .......................... ........................... ................. ........... ............ ............. ........... .... 3 Cap. 1 Istoricul Bluetooth................................... ........................... ........................... .................. 4 Cap. 2 Principiile Bluetooth......................................... ........................... .................... .............. ............ ............. ......... .. 5
2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7.
Comunicaţiile în frecvenţă radio (RF) (RF) prin împrăştiere spectrală.................................. 6 Relaţia dintre Bluetooth şi comunicaţia în infraroşu......................... ............. ....... ............ ............. ........... 8 Soluţia Bluetooth pentru comunicaţia în radiofrecvenţă....................... radiofrecvenţă.............................. ............. ............. ........... .... 8 Bluetooth, master şi slave............................. ............................................... ........................... .......................... ............. .......... ... 9 Funcţionarea la nivel baseband şi modalităţi de conservare a energiei.................. energiei........... ............ ..... 10 Topologia comunicaţiilor Bluetooh............................. Bluetooh..................................................... .............................. ............ ............ ............. ......... 12 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.......................... protocoale..................................................... ........................................ .................... ............ ..... 16 4.3. Protocoalele de transport................................................ transport..................... ...................................................... ................................. ............. ............ ..... 18 4.4. Nivelul L2CAP................................. L2CAP............................................................ ...................................................... ........................................ .................... .......... ... 18 4.5. Nivelul Link Manager............................. Manager....................................................... ..................................................... ............................................ ................... 19 4.6. Nivelul Baseband şi Radio.............................. ......................................... ........................... .................... ............ ............. ......... 19 4.7. Nivelul HCI................................. ...................................................... ........................... ........................................ ................... ............. ........... 20 4.8. Grupul protocoalelor de mijloc................................... mijloc.............................................................. .................................................. ......................... 21 4.9. Nivelul RFCOMM........................................... 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.................................................... audio......................... ......................................... .................... ............ ............. ........... 23 4.14. Nivelul aplicaţiilor.......................... ................................................... ........................... .............................. ............ ............ ............. ......... 25 4.15. Protocoalele de transport........................... ............................................... ........................... .......................... ............. ........... .... 26 4.16. Nivelul radio................................................. radio...................... ...................................................... ......................................... .................... ............ ............. ........... 27 4.17. Securitatea Bluetooth........................... ...................................................... ........................... ..................................... ................ ...... 29 Cap. 5 Caracteristici sau parametrii parametrii cheie ai funcţionării funcţionării dispozitivelor dispozitivelor radio Bluetooth.. .. 30
5.1. 5.2. 5.3. 5.4. 5.5. 5.6. 5.7.
Modulaţia...................................................................................................................... 30 Puterea la emisie................................ ................................................ ........................... ........................... ............ ............. ............. ...... 31 Sensibilitatea receptorului.................... ...................................................... ........................... ................................. ............. ............ ..... 32 Toleranţele pentru frecvenţele radio............................ ............................................... ........................... ........................ 33 33 Link Controller-ul şi nivelul Baseband............................. Baseband..................................................... .............................. ............ ............. ........... 34 Adresa de dispozitiv Bluetooth Bluetooth (BD_ADDR)........................ (BD_ADDR)................................................... ......................................... .............. 37 Ceasul Bluetooth............................. Bluetooth........................................................ ...................................................... ............................................ ....................... ...... 37
Cap. 6 Modele de utilizare a dispozitivelor dispozitivelor Bluetooth.................................. ............ ...... ............ ............. ......... .. 38
6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. 6.9.
Computerul fără fir (cordless computer)............................ computer)....................................................... ..................................... ................ ...... 39 Dispozitivul headset......................... ..................................................... .......................... .................................. ............. ............. .......... ... 39 Telefonul 3 în 1 (the three in one phone)............................................... phone)....................... .............................. ............ ............. .......... ... 39 Conferinţa interactivă sau transferul de fişiere................................ ................... ............. ............. .......... ... 41 Pod internet (internet bridge).................................................. bridge)....................... ...................................................... ...................................... ........... 42 Accesul la internet prin dial-up............................. ........................................ ........................... ................... ............. .......... ... 43 43 Accesul direct (Direct Network Access)................................ Access).............................................. .................... ............ ............. ............. ...... 43 Modelul Speaking Laptop................................................... Laptop........................ ...................................................... ........................................ ................. 43 Cartea poştală poştală instantanee instantanee (the instant postcard)........................ postcard)............................................... .............................. ........... 44
1
6.10. 6.11. 6.12. 6.13. 6.14. 6.15. 6.16.
Formarea reţelelor ad-hoc (ad-hoc networking)....................... ....................... ................. ............. ........... .... 45 Modelul hiden computing.............................. computing......................................................... ......................................... .................... ............ ............. ......... 46 Casca Bluetooth............................ Bluetooth....................................................... ...................................................... ............................................ ....................... ...... 47 Muzică şi multimedia.................................. multimedia............................................................ ..................................................... .................................. ........... .... 47 Tipărirea prin intermediul Bluetooth......................... .............................. ........................ ............ ............ ............. ......... 47 Dispozitive periferice de intrare........................... ........................................... .......................... ........................ ............ ..... 47 Transfer de date................................................... date........................ ..................................................... .............................................. ........................... ......... 48
Cap. 7 Programarea Bluetooth........................................ ........................... ................ .......... ............ ............. ......... .. 48
7.1. Exemple de programare Bluetooth........................... .................................................. .......................... ............................ 50 50 Bibliografie................................................................................................................................... 53
2
6.10. 6.11. 6.12. 6.13. 6.14. 6.15. 6.16.
Formarea reţelelor ad-hoc (ad-hoc networking)....................... ....................... ................. ............. ........... .... 45 Modelul hiden computing.............................. computing......................................................... ......................................... .................... ............ ............. ......... 46 Casca Bluetooth............................ Bluetooth....................................................... ...................................................... ............................................ ....................... ...... 47 Muzică şi multimedia.................................. multimedia............................................................ ..................................................... .................................. ........... .... 47 Tipărirea prin intermediul Bluetooth......................... .............................. ........................ ............ ............ ............. ......... 47 Dispozitive periferice de intrare........................... ........................................... .......................... ........................ ............ ..... 47 Transfer de date................................................... date........................ ..................................................... .............................................. ........................... ......... 48
Cap. 7 Programarea Bluetooth........................................ ........................... ................ .......... ............ ............. ......... .. 48
7.1. Exemple de programare Bluetooth........................... .................................................. .......................... ............................ 50 50 Bibliografie................................................................................................................................... 53
2
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 tr ansmite ş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. Tehnologi Tehnologiaa bluetooth bluetooth prezintă un sistem sistem de comunicaţie, 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. distincte. Un bun exemplu exemplu este cel al telefonului telefonului mobil care, la bază, 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: Clasa
Clasa 1 Clasa 2 Clasa 3
Puterea maximă permisă (mW)
Puterea maximă permisă (dBm)
100 mW 2.5 mW 1 mW
20 dBm 4 dBm 0 dBm
Raza (aproximativă)
~100 metri ~10 metri ~1 metri
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, laptopuri, 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. 3
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 cuno cunosc scut utăă şi acce accept ptat atăă la nive nivell inte intern rnaţ aţio iona nal,l, deve deveni nind nd astf astfel el mai mai pute putern rnic ică. ă. 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 industria telecomunica telecomunicaţiilor ţiilor şi computerizări computerizăriii şi-au unit forţele 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 Odatăă cu anun anunţa ţare reaa publ public icăă a înfii înfiinţ nţăr ăriiii SIG SIG a fost fost lans lansat atăă o cart cartăă pent pentru ru dezvoltarea unei specificaţii deschise, pentru implementarea hardware şi a softwareului ului aferen aferent,t, neces necesare are unei unei tehnol tehnologi ogiii de comuni comunicaţ caţie ie wirele wireless ss care care să asigur asiguree intero interoper perabi abilita litatea tea tuturo tuturorr tipuri tipurilor lor de dispoz dispozitiv itivee comuni comunica cante nte.. Concom Concomite itent nt 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ânduse 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 între întreaga aga lume, lume, reprez reprezent entând ând academ academii, ii, ramuri ramuri ale indust industrie rieii de consum consum pentru pentru electronice, motoare, fabricate din silicon, telecomunicaţii, tel ecomunicaţ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 profilu profiluriri (volum (volumul ul 2), împreu împreună nă însumâ însumând nd peste peste 1500 1500 de pagin pagini,i, aceas această tă primă 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ă tuturo tuturor, r, larg larg răspân răspândit dităă şi accept acceptată ată,, fabrica fabricanţi nţiii având având dreptu dreptull de autor autor asupra asupra produselor lor la baza cărora stă această specificaţie.
4
Cap. 2 Principiile Principiile Bluetooth Bluetooth
Sistem Sistemul ul nucleu nucleului lui (core) (core) blueto bluetooth oth const constăă în emiţăt emiţătoru orul-tr l-trans ansmiţ miţăto ătorul rul în frecvenţă radio (RF), banda de bază şi stiva de protocoale. Acest sistem oferă servic serviciiii care care permit permit interc intercone onecta ctarea rea dispoz dispozitiv itivelo elorr şi schmb schmbul ul de inform informaţi aţiii între între acestea. Bluetooth operează într-o bandă nelicenţiată ISM, la 2,4 GHz. Sistemul implică un emiţă emiţăto tor-r r-rec ecep epto torr de band bandăă pent pentru ru a comb combat atee inte interf rfer eren enţe ţele le si scăd scăder erea ea semnalului, precum şi mai multe canale de comunicaţie. Operaţiile în frecvenţă radio folo folose sesc sc o frec frecve venţ nţăă modu modula lată tă bina binar, r, perf perfec ectt cont contur urat atăă pent pentru ru a dimi diminu nuaa comple complexit xitate ateaa trancei tranceiver ver-ul -ului. ui. Rata Rata pentru pentru simbol simboluri uri este este de 1 Megasy Megasymbo mboll 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). r idicat). 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 cunosc cunoscută ută sub denumi denumirea rea de frequencyAstfel, el, sunt sunt frequency-hopp hopping ing spread spread spectrum spectrum. Astf 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 cuno cunosc scut utee sub sub denu denumi mire reaa de slot slotur uri.i. Date Datele le sunt sunt tran transm smis isee înte înte disp dispoz oziti itive vele le Bluetooth în pachete poziţionate în aceste sloturi. În cazul în care circumstanţele o perm permit, it, un numă numărr de slot slotur urii cons consec ecut utiv ivee poat poatee fi aloc alocat at unui unui sing singur ur pach pachet et.. 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.
5
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.
2.1.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.
6
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ă.
7
2.2.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ă. 2.3.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.
8
2.4.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.
Fig ura2. 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.
9
2.5.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 Figura3. Diagrama bloc a procesării Bluetooth în aceeaşi arie de proximitate, bandă de bază 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ă 1
î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
1
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. 2.6.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
1
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.
2.7.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ă
1
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. 1
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
1
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
4.1.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.
4.2.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.
1
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 deal 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.
1
4.3.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.
4.4.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
1
admisiei pentru noul trafic de intrare îregistrat şi cooperează cu nivelurile inferioare în vederea menţinerii unei valori dorite. 4.5.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.
4.6.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,
1
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ţă.
4.7.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 2
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.
4.8.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
4.9.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
2
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.
4.10.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.
4.11.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 2
sincronizarea acestor tipuri de obiecte. Nivelurile de interoperabilitate prezente în stiva Bluetooth au menirea de a asigura interoperabilitatea la nivelul aplicaţie.
4.12.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.
4.13.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ă
2
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 legeµ legea 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
2
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.
4.14.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
2
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.
4.15.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
2
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.
4.16.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 întrucâ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
2
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.
2
4.17.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.
2
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 5.1.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
3
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ă pentruµ 1 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 anumiteµ care 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 5.2.Puterea la emisie
Conform acestui parametru echipamentele se împart în 3 clase aşa cum se poate vedea în tabelul următor: Clasa
Puterea maximă de emisie
Puterea nominală
Puterea minimă acceptată la o putere maximă setată
Menţiuni
1
100 mW (20 dBm)
-
1 mW (00 dBm)
-
2
2,5 mW (4 dBm)
1mW
0,25 mW (-6 dBm)
-
3
1 mW (00 dBm)
-
-
Condiţia pentru un dispozitiv bluetoooth radio tipic
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.
3
Figura 7. Dispozitive Blutooth de diverse clase de putere, grupate înpicoreţele.
5.3.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%.
3
5.4.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. Lungimea în intervale temporle a pachetului
Abaterea admisă
1 3 5
±25 KHz ±40 KHz ±40 KHz
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. Domeniul de frecvenţă al semnalului interferat
Nivelul de putere al semnalului interferat
30MHz - 2000 MHz 2000 MHz – 2399 MHz 2498 MHz – 3000 MHz 3000 Mhz – 12,75 GHz
-10 dBm -27 dBm -27 dBm -10 dBm
Măsurătorile sunt făcute pentru un semnal la 3 dB peste nivelul de sensibilitate de referinţă, cu o 0,1%. ≤ rată BER.
3
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.
5.5.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 controllerului 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. 3
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.
3
- 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.
3
5.6.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.
5.7.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, 625µ sunt importante în sistemul Bluetooth: cele de 312,5 1,25ms şi 1,28s. aceste perioade corespund biţilor temer-ului CLK0, CLK1, CLK2 şi 3
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.
3
6.1.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.
6.2.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
3
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. 6.3.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ânduse 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ă.
4
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.
6.4.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
4
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.
6.5.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).
4
6.6.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.
6.7.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.
6.8.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ă.
4
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.
6.9.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 email 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
4
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).
6.10.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, realtime 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.
4
6.11.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).
4
6.12.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). 6.13.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ă. 6.14.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. 6.15.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.
4
6.16.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ă Bluetoothul 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.
4
Figura 1. Paşii majori pentru programarea iniţierii unei conexiuni.
Figura 2. Paşii majori pentru programarea acceptării unei conexiuni.
4
7.1.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 ( )
5
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.
5
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.
5