Introducere…………………………………………………………………………………………………………… 3 Capitolul… [606460]

PROIECTAREA UNEI APLICA ȚII DE
CONTROL LA DISTANȚĂ A UNUI
CALCULATOR PC CU AJUTORUL UNUI
SMARTPHONE
COORDONATOR ,
Conf.univ.dr
Asist.univ.dr
STUDENT :
1

Cuprins.
Introducere…………………………………………………………………………………………………………… 3
Capitolul .1. Scurt istoric…………………………………………………………………………………………. 4
1.1. Descriere tehnologie Bluetooth…………………………………………………………………………. 5
1.2. Descrierea tehnologiei wireless……………………………………………………………………….. 21
Capitolul 2. Proiectare aplicație……………………………………………………………………………… 36
2.1. Analiza problemei de rezolvat…………………………………………………………………………. 38
2.2. Prezentare instrumente Android și PC – Microsoft Visual Studio – Visual
Basic………………………………………………………………………………………………………………….. 41
Capitolul 3. Dezvoltare si implementare aplicție……………………………………………………….. 44
3.1. Aplicație server……………………………………………………………………………………………… 44
3.2. Aplicație client……………………………………………………………………………………………….. 48
Concluzii…………………………………………………………………………………………………………….. 55
Bibliografie………………………………………………………………………………………………………….. 57
2

Introducere
Pentru realizarea lucrarii am folosit urmatoarele :
Microsoft Visual Studio 2010 – Visual Basic
Protocoale de comunicare Bluetooth
Smartphone cu android și un PC
Lucrarea de fată are ca scop demonstrarea modului in care poate fi folosită o
interfața Bluetooth pentru a comanda si a controla un computer
personal, dar si modul de functionare a acesteia, interactiunea Bluetooth Pc și
dezvoltarea de noi aplicatii.
Capitolul 1 prezintă tehnologia Bluetooth si modul de funcționare a acesteia pentru o
mai buna intelegere a felului in care este creată aplicația dar si pentru intelegerea
protocolului prin care aceasta comunica cu dispozitivul folosit numit Smartphone. Detaliile
despre tehnologia Bluetooth sunt prezentate intr-un mod accesibil tuturor, fara a intra in
amanunt, deoarece scopul lucrarii nu este de a dezbate tehnologia in sine ci doar
utilizarea acesteia.
Capitolul 2 prezintă dispozitivul de comandă și control folosit pentru realizarea
acestei aplicații, numit wireless modul in care acest dispozitiv comunica prin Bluetooth cu
computerul personal, capabilitatile si limitarile lui, dar si alte exemple in care poate fi
folosit. Prezentare instrumente android și PC.
Capitolul 3 prezintă aplicația de comunicare între aplicație server și aplicație client
folosită la prezentarea acestei lucrari, implicit aplicația pe care aceasta lucrare este scrisă
dar si mediul de dezvoltare alaturi de o mica descriere a acestuia.
3

1.Scurt istoric.
Evoluția tehnologiei a dus la crearea unor dispozitive de comandă și control, ce iți
permit să interacționezi de la distanță și să controlezi computerul personal.
Cine nu dorește să stea confortabil in pat sau in fotoliu, pe canapea sau în altă
camera și să fie capabil să actioneze asupra computerului personal, fara ca să
interacționeze direct cu acesta, ci de la distantă printr-o simplă apasare de buton.
Acest lucru a devenit posibil în momentul în care tehnologia Wireless a fost creată
dar a fost definitivat atunci cand tehnologia Bluetooth a vazut lumina zilei.
“Dezvoltarea aplicației comunicare Bluetooth între Calculator și Sistem Android
prezintă in detaliu modul de crearea a aplicației bazate pe tehnologie Bluetooth de
comandă și control a computerului personal, prin accesarea functiilor de baza oferite de o
tastatură sau de mouse, bazandu-se pe o interfață fizica cu utilizatorul reprezenta de un
SmartPhone.
Acest mod de interacționare deschide noi porți in domeniul controlului, atat pe plan
personal pentru comoditatea utilizatorului de rând, cât si pe plan industrial, acolo unde
prezența umană este necesară dar mediul face imposibilă interacțiunea directă a acestuia
fiind necesara interacțiunea de la distanță.
De asemenea aceste aplicatii pot fi folosite și in domeniul medical, atunci când
efectuarea diferitelor operațiuni medicale sunt limitate din cauza spatiului, dar si in
operatiuni de cautare si salvare acolo unde, pericolul iminent face aproape imposibilă
trimiterea de personal uman fara a cauza alte pierderi de vieți omenești.
Din cauza costurilor relative ridicate si nevoia relativ mica pentru acest tip de
produse dezvoltarea lor nu a ajuns la o definitivare. Din acest motiv alegerea unei
biblioteci deja create pentru un scop asemanator a fost definitivatorie in alegerea lucrarii,
intrucat timpul de implementare, timpul de productie si costul acestora este mare.
4

1.1Descriere tehnologie bluetooth
Tehnologia Bluetooth a fost inventata în anul 1994 de către un angajat al companiei
Ericcson.
Patru ani mai târziu, organizația SIG (Bluetooth Special Interest Group) a dezvoltat
tehnologia bluetooth și a oferit licența sa și altor companii și producători de tehnologii.
Tehnologia BLUETOOTH se realizează cu ajutorul comunicației wireless „ fără fir”, și are
drept scop schimbul de informații între două dispozitive pe o distanță de maxim 10 metri.
De-a lungul timpului producătorii s –au confruntat cu o serie de probleme : suprapunera cu
alte dispozitive ce emit unde radio și interoperabilitatea defectuoasă dintre două
dispozitive fabricate de firme diferite. Pentru a putea rezolva problemele apărute, în anul
1998 a fost implementat Grupul de Interes Special (SIG), care cuprinde companiile
wireless Bluetooth: Ericsson, Motorola, Nokia, Toshiba, IBM, Intel, Microsoft precum și alte
mii de companii asociate. Grupul de Interes Special verifică dispozitivele cu privire la:
detalierea specifică utilizatorului, profilurile, protocoale și calitatea undelor radio.
Începând cu anul 1999, au apărut mai multe versiuni Bluetooth:
 Bluetooth 1.0 a fost prima versiune aparută în anul 1999, aducând cu ea o
serie se erori si probleme:
Suprapunerea cu alte aparate ce emit unde radio;
Dă o serie de erori în cazul în care echipamentele erau produse
de firme diferite.

Bluetooth 1.2 Versiune lansată în noiembrie 2003, aduce îmbunătățiri
semnificative:
Sunt mult mai rezinte la suprapunerea cu alte unde
 crește calitatea semnalului audio;
 crește viteza transferului de date.
Bluetooth 2.0 – a fost lansată în anul 2004 și aduce următoarele
îmbunătățiri:
viteza de transfer a datelor de 3 ori mai mare
alinierea Bluetooth la sistemele celulare 3G;
 crește raza de acțiune până la 100m;
 consum de energie mai mic;
Bluetooth 2.1 a fost lansată în august 2007, fiind compatibilă cu versiunile
anterioare aducând în plus o gestionare mai bună a consumului.
Bluetooth 3.0 a fost adoptat în anul 2009, având capacitatea de a
transfera date cu o viteză de pană la 24 Mbit/s.
Această versiune este prevăzută cu un dispozitiv Enhanced Power Control, putând astfel
micșorând posibilitatea unei deconectări accidentale
5

PRODUSE BLUETOOTH
Prin urmare primele produse încorporate cu tehnologia wireless Bluethooth au fost cele
apărute între anii 2000 – 2001.
Putem enumera printre acestea:
Adaptoare pentru telefoane mobile, PC-uri și laptop-uri;
Cartele pentru PC-uri și laptop-uri ;
Headset-ul Bluetooth;
PDA-uri;
PC-uri handheld;
După anul 2002, tehnologia Bluethooth a ajuns să fie încorporată pe tot mai multe
dispozitive mobile și accesorii: imprimante, faxuri, camere foto digitale, tastaturi.
Datorită modernizării tehnologiei, Bluetooth este încorporată în produse industriale,
medicale, dispozitive electronice pentru uz casnic .

TEHNOLOGIA BLUETOOTH
Tehnologia wireless Bluetooth este o tehnologie ideală pentru unirea acestor “ două lumi”
astfel încât să permită tuturor dispozitivelor să cominice, ele transportând fie date, fie voce,
fie pe amândouă.
În tehnologia Bluetooth, comunicația se realizează cu ajutorul unei bande de
frecvențe nelicențiată ISM (Industrial Scientific and Medical ) între 2.402 GHz și 2.480
GHz alocată pentru domeniul industrial, științific, medical fiind folosită astfel aproape
oriunde în lume. Banda este divizată în 79 de canale radio , având o lungine de bandă de
1 MHz. Pentru că în această bandă mai sunt și alte tehnologii de comunicație, pentru a
putea elimina interfațele radio, Bluetooth folosește tehnica de împrăștiere spectrală cu
schimbare în salturi de frecvență .
Punctul de bază al tehnologiei Bluetooth este însușirea de a transmite și de a lua în prmire
simultan atât comunicațiile vocale cât și comunicațiile de date .
Comunicațiile vocale
Tehnologia Bluetooth se realizează în același timp cu 3 canale vocale sincrone sau un
singur canal care suportă simultan transmisie vocală sincronă și transmisie de date
asincronă.

Comunicațiile de date
Un canal de date asincron poate suporta maxim 723,2 Kbps în sens direct în conexiune
asimetrică sau 433,9 Kbps în conexiune simetrică.
Distanța dintre două dispozitive cu care se poate stabili un canal de comunicație depinde
de clasa sa de putere.
6

Tabelul 1.1
Tabelul de mai sus evidențiază cele trei clase de putere și distanța maximă dintre acestea.
Arhitectura Bluetooth
Tehnologia wireless Bluetooth acceptă ca și dispozitivele realizate de diverși producători
să lucreze împreună. De aceea, arhitectura Bluetooth se definește atât ca un sistem radio
cât și ca o stivă de protocoale cu ajutorul căreia este identificată și prezența altor
dispozitive Bluetooth. Arhitectura Bluetooth este o împletire între o arhitectură hard și o
arhitectură soft.
ARHITECTURA HARD reprezintă partea fizică a dispozitivului Bluetooth ( fig.3.) și
este formată din:
Componenta analogică – Bluetooth Radio
Componenta digitală – Bluetooth Host Controller ( HC)

Radio Interface

7
Clasa Puterea maximă admisă Raza aproximativă de acțiune
[mW] [dBm]
Clasa 1 100 mW 20 dBm 100 metri
Clasa 2 2,5 mW 4 dBm 10 metri
Clasa 3 1mW 0 dBm 1 metru
Bluethooth Host ControllerBluetooth Radio
.
Link
Controller
.
CPU core
.
External
interfaces

Figura. 3. Arhitectura hard – Bluetooth
Bluetooth radio are dublu rol: de transmițător și de receptor ( transceiver). Acest
dispozitiv comunică pe de o parte cu nivelul radio din alt dispozitiv Bluetooth și pe de altă
parte cu link controller-ul .
Spre link controller există o dublă interfață logică pentru transportul datelor și pentru
transportul informației de control între cele 2 părți ale dispozitivului Bluetooth.
Host Controller este componenta digitală a dispozitivului Bluetooth care conține:
Link Controller – un procesor de semnal cu mai multe funcții: de transferuri
sincrone și asincrone, codare radio, criptare. La nivelul Link Controller-ului este
adresa dispozitivului Bluetooth BD_ADDR (similara adreselor MAC) și ceasul intern
Bluetooth.
CPU core – este centrul dispozitivului Bluetooth care cuprinde stiva de protocoale
(partea de software)
External interfaces – este o interfață fizică între modulul Bluetooth și dispozitivul
gazdă (host) la care este atașat modulul Blueto
ARHITECTURA SOFT este reprezentată de stiva de protocoale Bluetooth ( fig.4.)
8A P L I C A Ț I I
Connection
ManegerSecurity
ManegerDevice ManagerWAP
RFCOMMTCSSDP
AUDIO
L2CAP
Baseband:
Link Manager
Link Controller
RadioControl
AudioDataHost
Controller
InterfaceHost
Controller
InterfaceOBEXUDPTCP
IP
PPP
AT Commands

Figura.4. Stiva de protocoale Bluetooth
Potrivit acestor protocoale, dispozitivele Bluetooth se pot localiza, conecta și schimba date
între ele și pot desfășura aplicații interactive.
Baseband: Link Manager, Link Controller, Radio – sunt protocoale de transport
care permit dispozitivelor Bluetooth să se indentifice între ele, permit crearea,
configurarea și administrarea legăturilor logice și fizice pentru schimbul de date
dintre protocoalele nivelurilor superioare și celelalte aplicații.
Host Controller Interface – este un pseudo-protocol care se refera la orice
standard de comunicare dintre gazda (ex. smartphone, pc) și controler-ul principal
(ex. Bluetooth IC). Bluetooth are definite câteva standarde HCI, câte unul pentru
fiecare tip de hardware, pentru a transfera aceleași comenzi, evenimente, pachete
de date. Cele mai cunoscute fiind USB (pentru pc-uri) și UART (pentru telefoanele
mobile și PDA-uri).
L2CAP (Logical Link Control and Adaptation Protocol ) – reprezintă un protocol
de control al legăturii logice și adaptării prin care trece traficul de date. Functiile
principale ale L2CPA includ transportul de date pentru protocoalele nivelurilor
superioare si segmentarea/reasamblarea pachetelor de date.
RFCOMM (Radio frequency communication) – este un port serial virtual pentru
aplicații, care face posibilă desfășurarea comunicațiilor seriale peste legăturile
wireless oferite de tehnologia Bluetooth. Majoritatea aplicatiilor Bluetooth folosesc
RFCOMM datorită raspandirii acestuia pe o multitudine de sisteme de operare. În
plus, aplicatiile care folosesc un port serial pentru comunicare pot fi adaptate sa
folosească RFCOMM.
WAP (Wireless Application Protocol ) – este un protocol pentru conectarea
wireless la rețelele de internet și este folosit de telefoanele mobile. Pentru
conectarea la rețelele de internet prin dial-up se utilizează protocolul AT
Commands. Rețeaua accesată este o rețea de tip TCP/IP care folosește protocolul
IP. După ce se stabilește prin dial-up legătura cu rețeaua TCP/IP, dispozitivul care a
inițiat conexiunea folosește protocoalele standard din stiva Internet: TCP, UDP,
HTTP, etc. Un dispozitiv se mai poate conecta la o rețea de tip TCP/IP printr-un
punct de acces la rețea PPP (Point to Point Protocol) -așa cum se procedează
pentru accesul LAN. În acest caz, dispozitivul se conectează la punctul de acces la
rețea printr-un link Bluetooth, iar la rândul său acesta se conectează la o rețea mai
mare. Peste link-ul Bluetooth se folosește protocolul PPP din Internet. După ce s-a
stabilit legătura prin acest protocol, pentru a interacționa cu rețeaua sunt folosite
protocoalele standard din stiva internet: TCP, UDP, HTTP. Accesul la o rețea WAP
folosind un gateway de tip WAP se desfășoară în mod similar cu diferența că în
scopul interacționării cu rețeaua se folosește protocolul WAP.
OBEX (Object Exchange ) – reprezinta un protocol de comunicare care faciliteaza
schimbul de obiecte binare între două dispozitive Bluetooth. OBEX (sau IrOBEX)
9

este folosit pentru profile care necesita schimburi de date simple (ex. transferul unui
fisier, accesul unui numar de telefon etc.)
TCS (Telephony Control Specification ) – este un protocol folosit pentru controlul
comunicațiilor telefonice cu flux audio sau de date. În cazul unui apel telefonic, după
ce apelul este stabilit, semnalul vocal ce constituie convorbirea telefonică este
transmis printr-un canal audio Bluetooth. În cazul conectării prin dial-up la o rețea,
după ce apelul de date (data calls) este stabilit, conținutul convorbirii este transmis
sub formă de pachete de date prin intermediul protocolului L2CAP.
SDP (Service Discovery Protocol ) – este un protocol care stă la baza tuturor
modelelor de utilizare si definește o metodă standard prin care un dispozitiv
Bluetooth descoperă sau este descoperit de un alt dispozitiv Bluetooth. De exemplu
atunci când un telefon mobil se conecteaza la un set de căști, SPD va fi folosit
pentru a determina profilul Bluetooth al castilor și protocolul multiplexar pentru
setarile necesare conectarii lor.
Device Manager – este un bloc care controlează comportamentul general al
dispozitivului Bluetooth cum ar fi: administrarea numelui dispozitivului, cheile de link-
uri memorate, detectarea altor dispozitive Bluetooth din vecinătate, conectarea la
alte dispozitive Bluetooth
Grupul aplicațiilor – este constituit din aplicațiile care efectiv utilizează legăturile
Bluetooth. O parte din aceste aplicații sunt „moștenite” iar altă parte sunt proiectate
pentru a folosi alte tehnologii care pot fi desfășurate prin link-uri Bluetooth, cu
modificări minore ale software-lui respectiv.
Securitatea rețelei Bluetooth
Deoarece semnalele radio pot fi ușor interceptate, dispozitivele Bluetooth au încorporate
proceduri de securizare. Pentru simplitatea conectării a două dispozitive Bluetooth,
majoritatea producătorilor acestor dispozitive aleg varianta configurării lor fără setări de
securitate.
În cadrul standardelor Bluetooth exista trei nivele de securitate:
Nivel 1 – Mod nesigur(no security ). În acest caz dispozitivul permite conectarea oricărui
alt dispozitiv. Dispozitivele configurate cu acest nivel nu implică nici un mecanism de
securitate.
Nivel 2 – Securitatea la nivelul serviciului (Service level security ). În cadrul acestui
nivel măsurile de securitate sunt inițiate după ce canalul de comunicație a fost stabilit.
Acest nivel suportă autentificare, criptare și autorizare. Este cel mai flexibil nivel de
securitate deorece pentru fiecare aplicație sau serviciu se poate aplica un anumit nivel de
securitate. De exemplu pentru o bază de date importantă se poate aplica autentificare,
criptare și autorizare iar un anumit document să nu fie securizat.
Nivel 3 – Securitatea la nivelul conexiunii (Link level security ). La acest nivel m ăsurile
de securitate sunt inițiate înainte de stabilirea comunicației. Asemănător cu nivelul 2
10

suportă autentificare și criptare dar autorizarea nu este necesară deoarece se presupune
că două dispozitive conectate în nivelul 3, ar trebui să poată accesa toate aplicațiile si
serviciile disponibile pe fiecare dispozitiv. Acest nivel este cel mai securizat în schimb este
mai puțin flexibil deoarece toată informația schimbată între două dispozitive este criptată.
Specificațiile Bluetooth definesc un model de securitate bazat pe 3 componente:
O rutină de interpelare pentru autentificare;
Cifrarea fluxului informațional ca metodă de criptare;
Generarea unor chei de sesiune ca metodă de autorizare. Aceste chei pot fi oricând
schimbate pe parcursul unei conexiuni stabilite.
În algoritmul de securizare sunt utilizate 3 entități:
Adresa dispozitivului Bluetooth (BD_ADDR) (48 biți), care este o entitate
publică, unică pentru fiecare dispozitiv;
O cheie privată ( PIN) specifică utilizatorului (128 biți), care este o entitate
secretă care derivă din procedura de inițializare;
Un număr aleator ( IN_RAND) (128 biți), care diferă la fiecare nouă tranzacție și
derivă dintr-un proces pseudo-aleator specific unității Bluetooth.
COMUNICAȚII BLUETOOTH
Tehnologia Bluetooth permite atât comunicații de date, voce și audio. Pentru facilitarea
efectuarii acestor comunicații, în specificațiile Bluetooth sunt implementate două tipuri de
conexiuni fizice:
ACL (Asynchronous ConnectionLess ) – pentru comunicații de date . Aceste
conexiuni lucrează până la 650 Kbps. Dispozitivul cu rol de master poate avea un
anumit număr de conexiuni ACL cu alte dispozitive, dar între două dispozitive poate
exista doar o singură conexiune ACL. Conexiunile ACL asigură doar transmisii de
date fără erori, ceea ce înseamnă că pachetele de date pierdute sau eronate vor fi
retransmise.
SCO (Synchronous Connection Oriented ) – este destinat comunicațiilor vocale .
Aceste conexiuni lucrează cu viteze de pana la 64 Kbps și pot stabilii 3 legături
vocale simultane duplex sau se poate combina transmisia vocală cu una de date.
Dispozitivul cu rol de master poate avea 3 conexiuni SCO simultane, toate cu
același dispozitiv slave sau cu 3 dispozitive slave diferite. Din cauza ratei de
transfer mici, conexiunile SCO nu sunt recomandate a fi folosite pentru transferuri
audio de calitate sau transfeuri de date deoarece pachetele de date pierdute sau
eronate nu sunt retransmise .
Deoarece între dispozitivele unei rețele wireless Bluetooth nu există cabluri de legătură,
pentru realizarea comunicațiilor între două dispozitive, aceste dispozitive trebuie în primul
rând să se descopere și să stabilească o legătură între ele, apoi să se conecteze la o
bază de date și în final să se conecteze la un serviciu Bluetooth .
Pasul 1 – Descoperirea dispozitivelor ( Inquiry) – reprezinta procedura prin care
un dispozitiv Bluetooth A verifica existența unui alt dispozitiv Bluetooth B din zonă și
cere adresa Bluetooth împreuna cu ceasul dispozitivului în vedera sincronizării cu
acesta. Pentru aceasta, dispozitivul Bluetooth A transmite o serie de pachete de
interogare (inquiry) iar dispozitivul Bluetooth B răspunde cu un pachet FHS
11

(Frequency Hop Synchronisation ) care conține informațiile necesare pentru
crearea legăturii între cele două dispozitive (vezi fig.8.). Dispozitivele Bluetooth se
pot descoperii automat între ele dacă sunt setate pe modul „inquiry scan” , situație
în care saltul de frecvență este mai lent iar timpul de descoperire este mai mare.
Figura.8. Schimb de mesaje între un laptop și un telefon celular
Utilizatorul laptop-ului deschide o aplicație care necesită o legătură Bluetooth dial-up.
Pentru a utiliza această aplicație laptop-ul trebuie să afle ce dispozitive Bluetooth sunt în
zonă și inițializează o procedură Inquiry. Pentru aceasta, laptop-ul transmite o serie de
pachete de interogare ( inquiry) iar telefonul celular răspunde cu un pachet FHS care
conține toate informațiile de care laptop-ul are nevoie pentru crearea unei legături cu
celularul.
Pasul 2 – Stabilirea legăturii ( pairing) – este procedura prin care două dispozitive
Bluetooth se autentifică între ele cu ajutorul unei chei de autentificare. Dacă
dispozitivele nu schimbă între ele o astfel de cheie, legătura nu poate fi realizată.
Generarea unei chei de autentificare este cunoscută sub denumirea de pairing.
Procesul de pairing presupune generarea unei chei de inițializare , a unei chei de
autentificare, urmate de autentificare reciprocă (vezi fig.9.).
Cheia de inițializare este bazată pe o cerere către utilizator, care este un număr
personal de identificare ( PIN) sau o parolă și poate avea până la 128 biți. Între 2
dispozitive parola este secretă. Cheia de inițializare este folosită doar în cazul
criptarii atunci când se schimba date pentru obtinerea cheii de autentificare, după
care este distrusa.
Cheia de autentificare este creata în urma generarii unor numere aleatoare și pe
adresele Bluetooth ale ambelor dispozitive.
Când procesul de pairing este complet, dispozitivele sunt autentificate reciproc.
Odată creata, cheia de autentificare este păstrată pentru utilizari viitoare.
12

Figura.9. Crearea unei chei de inițializare
Pasul 3 – Conectarea la o bază de date Service Discovery – acest pas este
necesar pentru a afla dacă un dispozitiv Bluetooth suportă un serviciu anume
(fig.10.).
Figura.10. Secvențe de conectare Laptop – Bluetooth la o bază de date
1.Laptop-ul trimite mesaje de paging telefonului celular, utilizând informațiile adunate
prin procedura inquiry. Telefonul scanează mesajele de paging și răspunde,
moment în care, între cele două dispozitive se setează o conexiune ACL la nivelul
benzii de bază pentru transferul de date.
2.După stabilirea conexiunii ACL, se realizează conexiunea la nivelul protocolului
L2CAP utilizată de fiecare dată când are loc un transfer de date între dispozitive
Bluetooth. Protocolul L2CAP permite mai multor servicii și protocoale să utilizeze o
singură legătură ACL în banda de bază.
13IN_RAND
Randomize 128 bitBD_ADD
RIN_RAN
DK_intPI
NBD_ADD
RIN_RAN
DK_intPI
NMaster A Slave B
IN_RAND

3.Laptop-ul folosește canalul L2CAP pentru a seta o conexiune la serverul Service
Discovery din telefonul celular.
4.Clientul Service Discovery din laptop solicită serverului Service Discovery din
telefonul celular să-i trimită toate informațiile pe care le posedă referitoare la profilul
Dial-Up Networking (DUN).
5.Serverul Service Discovery din telefonul celular caută prin baza sa de date și
returnează caracteristicile referitoare la profilul Dial-Up Networking .
6.După adunarea informațiilor de descoperire a telefonului celular, se poate decide
închiderea conexiunii cu acesta, dacă se dorește stabilirea de conexiuni cu alte
dispozitive din zonă în vederea colectării de informații prin Service Discovery .
Pasul 4 – Conectarea la un serviciu Bluetooth – este identic cu cel pentru
conectarea în vedera descoperirii serviciilor ( fig.11.).
Figura.11. Secvențe de conectare Laptop – Bluetooth la un serviciu Bluetooth
1.Aplicația care rulează pe laptop trimite mesaje de paging telefonului celular,
utilizând informațiile adunate prin procedura inquiry. Telefonul scanează mesajele
de paging și răspunde, moment în care între cele două dispozitive se setează o
conexiune ACL la nivelul benzii de bază pentru transferul de date. Aplicația de pe
laptop trimite cerințele sale către telefonul celular utilizând Host Controller
Interface (HCI).
2.Managerul legăturii ( LM), configurează legătura utilizând Link Manager Protocol
(LMP).
3. După stabilirea conexiunii ACL, se realizează conexiunea la nivelul protocolului
L2CAP utilizată de fiecare dată când are loc un transfer de date între dispozitive
Bluetooth.
4.După stabilirea legăturii L2CAP, prin intermediul ei este setată o legătură RFCOMM
(un simulator al interfeței RS-232). RFCOMM multiplexeză câteva servicii și
protocoale într-o singură conexiune.
14

5. Fiecărui serviciu sau protocol i se atribuie un număr propriu de canal. Laptop-ul, în
urma procedurii Service Discovery , știe ce număr de canal ( Dial-Up Networking )
să folosească de la telefonul mobil.
6.Prin intermediul legăturii RFCOMM se setează conexiunea Dial-Up Networking
(DUN) și laptop-ul poate să înceapă exploatarea serviciilor DUN oferite de telefonul
celular
1.2.Descrierea tehnologiei wireless
WI-FI (WIRELESS FIDELITY ) – este marca înregistrată Wi-Fi Alliance și reprezinta o
tehnologie avansată de conectare într-o rețea WLAN, care utilizează undele radio și se
bazează pe standardele de comunicație din familia IEEE 802.11. Printre dispozitivele care
folosesc aceasta tehnologie se număra: pc-urile, consolele de jocuri, smartphone-urile,
camerele digitale, imprimante, etc.
IEEE (Institute of Electrical and Electronics Engineers )- Institutul Inginerilor
Electrotehniști și Electroniști este cea mai mare organizație de tehnicieni profesioniști
din lume, care sprijină evoluția tehnologiilor bazate pe electricitate.
802.11 este un standard de comunicație în rețelele locale, elaborat de IEEE în anul 1990
care în decursul timpului a fost îmbunătățit și a apărut în mai multe versiuni:
802.11 – a apărut în 1997 (acest standard astăzi nu mai este utilizat).
802.11 a – a apărut în anul 1999 ( nu este compatibil cu celelalte standarde 802.11
x, deoarece folosește altă bandă de frecvență).
802.11 b – a apărut în anul 1999 , are o rata de transfer de 11 Mbit/s, și folosește
aceleași metode media de acces ca și standardul original.
802.11 g –a apărut în luna iunie a anului 2003 si reprezintă a treia iteratie de
standardului și funcționează în aceesi banda (2.4 GHz) ca și 802.11b dar folosește
același OFDM (Orthogonal Frequency-Division Multiplexing) ca și 802.11 a.
802.11 n – a apărut în anul 2006 , a imbunatatit standardul prin adaugarea de antene
MIMO (Multiple-Input Multiple-Output)
802.11ac – a apărut în anul 2013
802.11af – a apărut în anul 2014, supranumit și „Super Wi-Fi” și folosește undele
radio nefolosite de canalele TV
Standardele din familia IEEE 802.11 descriu protocoalele de comunicație aflate la
nivelul fizic (PHY) și la nivelul legăturii de date (MAC) ale unei rețelele locale wireless.

Stiva de protocoale IEEE 802.11 este prezentată în figura.12. Implementările IEEE 802.11
trebuie să primească pachetele de date de la protocoalele de la nivelul rețea și să se
ocupe cu transmiterea lor evitând eventualele “coliziuni” cu alte stații din zonă care emit.
IEEE 802.11 este compatibil cu Ethernet-ul care este standardizat de IEEE în seria de
standarde 802.3.
15

Figura 12. Stiva protocoalelor IEEE 802.11
WI-FI – NIVELUL FIZIC reprezintă mediile de transmisie wireless a pachetelor de date și
include tehnologiile ce controlează transmisia datelor. Nivelul fizic are în componenta doua
subnivele:
PMD (Physical medium dependent ) – Subnivelul dependent de mediul fizic –
este echipat cu interfață de transmitere și recepție a pachetelor de date în mediul
wireless
PLCP (Physical layer convergence protocol ) – Subnivelul protocolului de
convergență a nivelului fizic – reprezintă interfața către subnivelul MAC
(Media Acces Control ). Subnivelul MAC se ocupă de modul cum primesc acces la
date calculatoarele din rețea, reprezintă conectivitatea fizică. Subnivelul PLCP este
responsabil cu funcția de adaptare a capabilităților subnivelului PMD la serviciul care
trebuie să-l ofere nivelul fizic. PLCP definește o metodă de includere a unităților de
date ale protocolului MAC într-un format de cadru adecvat pentru transmiterea și
recepția datelor de utilizator și a informației de administrare, între două sau mai
multe stații, utilizând subnivelul PMD.
Structura cadrelor PLCP depinde de tipul transmisiei :
INFRAROȘU – pachetele de date sunt transmise prin intermediul radiațiilor
electromagnetice din spectrul de lumină infraroșu .
FHSS (Frequency-Hopping spread spectrum ) – Spectru împrăștiat cu salturi de
frecvență – pachetele de date sunt transmise prin intermediul undelor radio în
banda de 2,4 GHz ISM. Fiecare frecventa disponibila este împărțită în sub-
frecvente. Datele sunt transmise pe frecvente alese în mod pseudoaleator și
schimbate în mod constant, interferentele rezultate la o anumita frecventa afectand
semnatul doar pentru o scurta durata de timp.
DSSS (Direct Sequence Spread Spectrum ) – Spectru împrăștiat cu frecvență
directă – pachetele de date sunt transmise prin intermediul radio în banda de 2,4
GHz ISM. Sunt utilizate 14 canale de frecvență, fiecare de 5 MHz.
16PMDDCF CSMA/CA MAC PCF MACLLC (802.2)
PLCP
NIVEL FIZIC
PHYNIVEL
LEGĂTURI
DE DATE
MAC
InfraroșuFHSSDSSSOFDM
()HR-DSSS
(802.11 b)802.11 n
MIMO

OFDM (Orthogonal Frequency Division Multiplexing ) – Multiplexare cu divizare
în frecvențe ortogonale – pachetele de date sunt transmise prin intermediul
undelor radio, simultan, în paralel, pe mai multe frecvențe. Sunt utilizate 52 de
canale din care 48 de date și 4 de sincronizare. Pentru a înțelege sensul termenului
de frecvență ortogonală , se poate face o analogie între transmiterea unui pachet
de date și un jet de apă care curge print-un robinet(în cazul tehnologiei FDM) sau
printr-un duș (în cazul tehnologiei OFDM). Această tehnologie este folosită în banda
de 5 GHz pentru 802.11 a și de 2,4 GHz pentru 802.11 g. Fiecare canal are 300
KHz, iar fiecare utillizator are disponibil 20 MHz. Teoretic viteza de transmisie poate
ajunge la 54 Mbps.
HR – DSSS (High Rate – Direct Sequence Spread Spectrum ) – Spectru
împrăștiat cu frecvență directă și rată ridicată – este asemănătoare cu tehnologia
DSSS, dar cu o rată mai ridicată de transmitere a pachetelor în bandă mai îngustă.
Viteza de transmisie ajunge până la 11 Mbps.
802.11 g – este un standard publicat în 2003 de IEEE, care combină banda îngustă
a tehnologiei HR-DSSS cu tehnica de modulație OFDM
802.11 n – este un standard adoptat în 2006. Acesta utilizează tehnologia MIMO
(Multiple Input Multiple Output ), care împarte un șir de date în mai multe șiruri și
le transmite simultan, cu viteză mare și la distanță mare, folosind mai multe antene.
Două șiruri permit o viteză teoretică de maxim 248 Mbps.
802.11ac – este un standard adoptat în 2013 și este succesorul standardului 802.11
n. Este capabil de viteze teoretice de pana la 1.3Gbps.
WI-FI – NIVELUL LEGĂTURII DE DATE – reprezintă tehnicile de acces ale stațiilor la
mediul de transmisie wireless în standardul 802.11
DCF (Distributed Control Function ) – Funcție de Coordonare Distribuită – este
tehnica prin care fiecare stație controlează propriul acces la mediu, constituind o
rețea wireless ad-hoc .Figura.13.
Realizarea controlului accesului la mediu se face prin tehnica CSMA/CA (Carrier
Sense Multiple Access/Collision Avoidance ) – Acces aleator cu evitarea
coliziunilor. Este o tehnică de control al accesului la mediu, care se utilizează în
rețelele wireless pentru a evita coliziunile . În eter coliziunile sunt foarte greu de
detectat, de aceea pentru transmiterea datelor IEEE a recurs la această strategie de
control al accesului la mediu.
Stația care transmite cadre MAC ascultă mediul de transmisie. Dacă mediul este
ocupat, stația amână încercarea de a transmite până ce mediul devine liber. Dacă
mediul este liber stația poate transmite . În primul moment al transmisiei stația trimite un
cadru RTS (Request To Send ) și așteaptă un răspuns la această cerere. Dacă
destinatarul este liber, răspunde cu un CTS (Clear To Send). După primirea CTS stația
transmițătoare trimite cadrul de date. După transmiterea cadrului se așteaptă o
confirmarea pozitivă pentru a semnala recepția corectă a cadrului. Dacă nu se
17

semnalează confirmarea pozitivă, cadrul este retransmis. După o transmisie reușită
stația trebuie să aleagă un interval de revenire aleatoriu și să decrementeze controlul
intervalului de revenire în timp ce mediul este liber
Figura.13. Rețea IBBS ( Independent Basic Service Sets )
PCF (Point Coordination Function ) – Funcție de Coordonare Punctuală –
necesită o stație specializată numită punct de acces (AP) care gestionează accesul
la mediu Figura.14. AP este punctul central al comunicației pentru toate celelalte
stații. Stațiile nu pot comunica direct între ele, acestea vor comunica doar când li se
permite de către AP. Periodic, stația de bază ( AP) emite un cadru care conține setări
privind conexiunea fizică și care cere stațiilor ce doresc să se conecteze să anunțe
acest lucru.
Figura.14. Infrastructura BSS (Basic Service Sets )
ESS (Extended Service Sets ) – cele două funcții prezentate mai sus (PCF și DCF),
sunt utilizate simultan în aceeași rețea. ESS este un set de două sau mai multe
18
Access Point

structuri BSS care lucrează împreună pentru a forma o singură rețea Figura.15.
Structurile BSS pot fi conectate cu ajutorul unei legături uplink. Interfața uplink
conectează structurile BSS la un sistem de distribuție, notat cu DS. Legătura uplink
către DS poate fi wired sau wireless.
Figura.15. Infrastructură ESS
LLC (Logical Link Control ) – Nivelul logic al legăturii – este subnivelul care se
ocupă cu controlul fluxului de date. IEEE a standardizat LLC sub numele de 802.2
cu mult inainte de elaborarea standardului 802.11.
Standardul IEEE 802.2 este utilizat în rețelele Ethernet. Folosirea de către IEEE
802.11 a subnivelului LLC are drept scop realizarea unei tehnologii wireless
compatibilă cu tehnologia Ethernet.
SECURITATE WI-FI. Spre deosebire de rețelele cablate, rețelele wireless sunt mai expuse
din punct de vedere al vulnerabilutății la interceptări neautorizate. La nivel fizic securitatea
este greu de asigurat deoarece la acest nivel o rețea wireless este foarte ușor de accesat.
Pentru a obține un nivel de securitate acceptabil, într-o rețea wireless, datele trebuie
19
Access Point 1
Access Point 2Sistem de
distribuție
DS

criptate și este obligatoriu controlul accesului la nivelurile superioare ale rețelei. Barierele
de securitate (securitatea de bază) care au fost prevăzute inițial în protocoalele rețelelor
Wi-Fi, asigură un nivel scăzut al securității acestor rețele.
1. Securitate de bază constă în controlarea accesului la rețea prin utilizarea unor tehnici
simple, suficiente pentru a îndepărta unele intruziuni ocazionale. Tehnicile simple de
control al accesului la o rețea wireless sunt:
Filtrarea adreselor MAC (Media Acces Control ). Adresa MAC, este un număr
întreg pe 6 octeți (48 biți), care reprezintă adresa fizică (unică pentru fiecare
dispozitiv de acces la o rețea) prin intermediul căreia orice dispozitiv de acces la o
rețea se poate identifica. Prin filtrarea adreselor MAC, un punct de acces în rețea
este configurat cu adresele MAC ale clienților cărora le este permis accesul în rețea.
Această tehnică este ineficientă deoarece un intrus poate afla și falsifica adresa
MAC a unei stații, apoi se poate conecta în rețea sub identitatea stației respective.
Stoparea transmiterii publice a SSID -ului unui punct de acces. SSID-ul (Service
Set Identifier) – este un cod care definește apartenența la un anumit punct de acces
wireless. Toate dispozitivele wireless care vor să comunice într-o rețea trebuie să
aibă SSID-ul propriu, setat la aceeași valoare cu valoarea SSID-ului punctului de
acces pentru a se realiza conectivitatea. În mod normal un punct de acces își
transmite SSID-ul la fiecare câteva secunde. Oprirea transmiterii acestui semnal
ascunde prezența rețelei față de un atacator superficial, dar permite stațiilor care
cunosc SSID-ul punctului de acces să se conecteze la rețea. Deoarece SSID-ul este
inclus în beacon-ul oricărei secvențe wireless, orice hacker dotat cu echipament de
monitorizare poate să-i descopere valoarea și să se conecteze la rețea. Beacon-ul
este un mic pachet de date transmis continuu de un punct de acces pentru a asigura
managementul rețelei.
Utilizarea algoritmului WEP (Wired Equivalent Privacy ). WEP ameliorează
transmiterea continuă a SSID-ului prin criptarea traficului dintre clienții wireless și
punctul de acces.
WEP folosește un cifru secvențial RC4 pentru confidențialitate și un CRC32
pentru integritate în două variante:
64 bit WEP- folosește o cheie de 40 biți care este concatenată cu un vector
de inițializare de 24 biți pentru a forma cheia RC4.
128 bit WEP- folosește o cheie de 104 biți care este concatenată cu un vector
de inițializare de 24 biți, care este introdusă de utilizator ca un șir hexazecimal
format din 26 caractere.
Această tehnică de criptare Figura.16. a fost folosită din anul 1997 până în anul
2001 când a fost spartă și nu a mai fost considerată sigură. În iunie 2004, IEEE a
adoptat standardul 802.11i care îmbunătățește securitatea rețelelor wireless.

20

ST trimite o cerere de autentificare către AP
AP trimite un text de verificare către ST

ST criptează textul cu o cheie partajată
și îl trimite înapoi către AP

AP decriptează textul și îl compară cu cel original
Dacă textele corespund, AP autentifică ST
ST se conectează la rețea

Figura.16. Pașii autentificării WEP
În figura.16. este prezentată autentificarea prin cheie partajată . Un alt tip de
autentificare pentru standardul IEEE 802.11 este autentificarea deschisă .
Autentificarea deschisă se realizează astfel:
Clientul trimite o cerere de autentificare care conține ID-ul stației (de obicei adresa
MAC a plăcii de rețea)
Punctul de acces verifică ID-ul stației și trimite un răspuns de autentificare care
conține mesajul de succes sau de eșec.
Îmbunătățiri ale securității rețelelor wireless. Wi-Fi Alliance produce în anul 2003
specificația WPA (Wi-Fi Protected Access ), care este o soluție intermediară la criptare
WEP.
21
CLIENT
(ST)
ACCES
POINT
(AP)1
2
3
4
5

IEEE a preluat specificația WPA și a elaborat în anul 2004 standardul 802.11i, standard
care stabilește o tehnică de criptare cunoscută sub numele de WPA 2.
Algoritmul WPA – suportă atât autentificare cât și criptare.
Pentru autentificare sunt utilizate două metode:
1.Autentificare EAP cu standardul 802.1x :
EAP (Extensible Authorization Protocol ) este un cadru de autentificare , o
metodă standard pentru autentificarea la o rețea.
802.1x este un standard de control al accesului la rețea bazat pe porturi, care
asigură per utilizator și per sesiune o autentificare mutuală puternică. Pe baza
EAP, 802.1x permite punctului de acces (AP) și clienților din rețea să folosească
în comun și să schimbe chei de autentificare WEP în mod automat și continuu.
Punctul de acces (AP) acționează ca un proxy server, efectuând cea mai mare
parte a calculelor necesare criptării.
Dacă un utilizator este autentificat prin 802.1x pentru accesul la rețea, un port
virtul este deschis pe punctul de acces (AP) pentru a permite comunicarea. Dacă
nu este autorizat cu succes, portul virtual nu este pus la dispoziție și comunicarea
este blocată. Această metodă de autentificare este mai sigură decât folosirea
metodei de autentificare prin utilizarea cheilor pre-partajate.
2.Autentificarea prin utilizarea cheilor pre-partajate :
Prin această metodă, aceeași cheie este aplicată atât la cliet cât și la punctul de
acces (AP). WPA folosește o metodă care crează o cheie unică pentru fiecare
client.
Pentru criptare, s-a păstrat algoritmul de criptare simetrică RC4, dar s-a introdus
o tehnică de schimbare a cheii de criptare pe parcursul sesiunii de lucru – TKIP
(Temporary Key Integrity Protocol ) și s-a înlocuit algoritmul de integrare
CRC32, utilizat de WPE, cu un nou algoritm numit Michael, care este un
algoritm de căutare în șiruri de caractere. Acest algoritm folosește funcțiile hash
pentru a găsi un subșir al șirului de căutat. Funcțiile hash, numite și funcții de
dispersie sau funcții de rezumat , sunt funcții definite pe o mulțime cu multe
elemente (poate fi o mulțime infinită) cu valori într-o mulțime cu un număr mai
mic de elemente( un număr finit de elemente). Una din cerințele fundamentale
pentru o astfel de funcție este ca, modificând un singur bit la intrare, să producă
o avalanșă de modificări în biții de la ieșire. Funcțiile hash sunt utilizate în
criptografie, drept componente în schemele de semnătură digitală, formând o
clasă de algoritmi criptografici SHA (Secure Hash Algoritm ).
Algoritmul WPA 2 – a fost elaborat în anul 2004 de catre IEEE pe baza
specificațiilor algoritmului WPA. În WPA 2 algoritmul de criptare RC4 este înlocuit cu
algoritmul AES (Advanced Encryption Standard ) care este un algoritm
standardizat, pentru criptarea simetrică, pe blocuri.
22

Algoritmul de integrare Michael este înlocuit cu mecanismul de criptare CCMP
(Counter Mode with Cipher-Block Chaining Message Authentication Code
Protocol) care este bazat pe cifrul AES. WPA2 conține îmbunătățiri care facilitează
roamingul rapid pentru clienții wireless aflați în mișcare. Acest algoritm permite o
preautentificare la punctul de acces spre care se deplasează clientul, menținând în
același timp legătura cu punctul de acces de la care pleacă.
Premisele autentificării WPA 2 :
oPunctul de acces AP trebuie să se autentifice clientului ST
oTrebuie generate chei de criptare
oEAP oferă o cheie de criptare permanentă PMK (Pairwise Master Key )
oCu un hash criptografic SHA (Secure Hash Algoritm ) aplicat pe
concatenarea: PMK; APnonce; STnonce; AP_MAC; ST_MAC, este generată
cheia PTK (Pairwise Transient Key )
o nonce (number used once) – un număr aleator folosit o singură dată într-un
protocol de autentificare
Pașii autentificării WPA 2 Figura.17:
1.Punctul de acces AP trimite către clientul ST un APnonce;
2.Clientul ST generează cheia PTK;
3.Clientul ST trimite punctului de acces AP un STnonce împreună cu un cod
de intergritate a mesajului ( MIC) ce include autentificarea;
4. Punctul de acces AP generează cheia GTK;
5.Punctul de acces AP trimite clientului ST cheia GTK utilizată pentru
decriptarea traficului multicast sau broadcast și un alt MIC;
6.Clientul CT trimite înapoi către AP un mesaj de confirmare ACK.

23
CLIENT
(ST)
ACCES
POINT
(AP)APnonce
2
3
4
5Generare
PTKSTnonce + MIC
Generare
GTKGTK + MIC
ACK1
6

Figura.17. Pașii autentificării WPA 2
Rezumatul măsurilor de securitate Wi-Fi este prezentat în Figura.18.

Figura.18 Măsuri de securitate Wi-Fi
Comparație între standardele 802.11.
802.11 a 802.11 b 802.11 g 802.11 n
Banda [GHz]5 2,4 2,4 2,4
5
ModulațieOFDM DSSS DSSS
OFDMMIMO
OFDM
Viteza
[Mbps]54 11 11
54248
(2 șiruri)
Distanța [m]max 35 35 35 70
Anul
eliberării1999 1999 2003 2006
Standarde 802.11
24
FILTRARE adrese
MAC
STOPARE
transmitere SSID
MODIFICĂ
valori implicite SSID
AUTENTIFICARE
CRIPTARE
FILTRARE
TRAFIC

ECHIPAMENTE Wi-Fi
ACCESS POINT Figura.19. – este un transceiver care transmite și recepționează
date prin intermediul undelor radio. Acesta permite conectarea dispozitivelor mobile
între ele într-o rețea wireless sau poate servii ca punct de interconexiune dintre o
rețea wireless și o rețea LAN. Este prevăzut cu unul sau mai multe conectoare
pentru antenă și un port LAN.

Figura.19. Access Point
ROUTER WIRELESS Figura.20 . – este un dispozitiv de rețea care realizează
funcția unui router wireless care include și funcțiile unui access point. Este prevăzut
cu un port WAN, 4 porturi LAN și 2 antene wireless.
Figura.20. Router wireless
ANTENE WIRELESS Figura.21. – sunt dispozitive utilizate pentru acoperirea unei
anumite zone cu un semnal radio mai puternic. Exista numeroase de tipuri de
antene wireless dintre care cele mai utilizate sunt :
25

oAntene omnidirecționale – emit undele radio în toate direcțiile (sferă) și pot
acoperii o suprafață cu o rază de 4 – 5 Km. Avantajul acestui tip de antena
este reprezentat prin faptul ca aceasta nu trebuie să fie precis orientata ,
clientul trebuie doar să fie în raza de acoperire a statieie cu antena care
transmite semnalul . Dezavantajul principal al acestui tip de antena îl
reprezintă faptul ca exista un risc ridicat de interceptare a undelor radio .
oAntene sectoriale – sunt asemănătoare cu antenele omnidirecționale cu
suprafață de acoperire mare
oAntene direcționale – emit și concentrează undele radio pe o anumită
direcție în funcție de orientarea antenei. Cu cât unghiul de emisie este mai
mic, cu atât distanța de emisie este mai mare. Avantajul acestei antene este
riscul relativ scăzut de interceptare a undelor radio. Dezavantajul principal al
acestui tip de antena este reprezentat de faptul ca antena clientului trebuie să
fie precis orientata pentru a obtine un semnal bun .

Antenă omnidirecțională Antenă sectorială Antenă direcțională
Figura.22. Antene wireless
Splitter Figura 23 a. – este un conector utilizat pentru conectarea la un access
point a doua antene.
Pig tail Figura 23 b. – este un cablu care conectează două echipamente wireless și
care are conectori diferiți la ambele capete. Se poate utiliza pentru conectarea unei
placi wireless la o antenă.
Surge protector Figura 23 c. – acest dispozitiv protejează AP când un fulger
lovește antena. Acest dispozitiv trebuie conectat la pământ.
a b c

26

a. b. c.
Figura 23. Accesorii wireless.
Capitolul 2. Proiectare aplicație
Cel mai întâlnit model de programare a aplicațiilor de rețea poartă numele și de
aplicații Client-Server . Conceptul este relativ simplu: o mașină client face o cerere pentru o
informație sau trimite o comandă la un server; ca răspuns, serverul trimite datele cerute
sau rezultatul comenzii. De cele mai multe ori, serverul răspunde numai la clienți; nu
inițiază comunicațiile.
Funcția principala a unui server este de asculta pentru o conexiune. Aceste lucru
este realizat printr-un obiect server care a fost special creat. Pe de alta parte, funcția
principala a clientului este de a încerca să stabilească o conexiune cu serverul pentru care
este creat un obiect client. Când este stabilită o conexiune , se poate observa că la cele
două capete (server și client), conexiunea este transformată într-un obiect IO Stream și din
acel moment aceasta poate fi tratată ca și cum s-ar scrie sau s-ar citi dintr-un fișier.
La nivel de baza pentru transport , calculatorul are două protocoale principale: User
Datagram Protocol (UDP, neorientat – conexiune) si Transmission Control Protocol (TCP,
orientat – conexiune).
UDP este un protocol simplu, care nu asigură controlul fluxului de date sau
verificarea erorilor , astfel fiind necesar ca aplicația să efectueze aceste verificări; acest tip
de protocol fiind folosit cu precădere la streaming multimedia.
TCP, pe de alta parte , este un protocol care asigură corectitudinea datelor,
efectuând atât verificarea erorilor cât și controlul fluxului; este protocolul de bază pentru
transmiterea informațiilor în rețea .
Avantajele utilizării acestui protocol:
este un protocol de rețea rutabil suportat de majoritatea sistemelor de operare;
reprezintă o tehnologie pentru conectarea sistemelor diferite;
Utilizează utilitare de conectivitate standard pentru a accesa și transfera date între
sisteme diferite;
este un cadru de lucru robust, scalabil între platforme client / server;
reprezintă o metodă de acces la resursele Internet;
permite comunicarea într-un mediu eterogen, deci se pretează foarte bine pentru
conexiunile din Internet (care este o rețea de rețele eterogene atât din punct de vedere
hardware, cât și software);
furnizează un protocol de rețea rutabil, pentru rețele mari, fiind folosit din acest motiv
drept protocol de interconectare a acestor rețele;
TCP/IP este o suită de protocoale, dintre care cele mai importante sunt TCP și IP, care
a fost transformat în standard pentru Internet de către Secretariatul pentru Apărare al
Statelor Unite, și care permite comunicația între rețele eterogene (interconectarea
rețelelor).
27

În această lucrare am exemplificat modul de funcționare al protocololului TCP prin
intermediul unor aplicații client-server(BattleShip).
2.1 Analiza problemei de rezolvat.
Aplicatia este formata din două aplicații care rulează separat: un server si un client,
fiind realizată in acest mod deoarece pe calculatorul pe care este rulat Serverul, nu e
obligatoriu sa fie rulat Clientul si invers.
Aplicatia Server
BattleShipServer este o aplicație realizată in Java având următoarele atribuții:
-Creează un socket pentru a comunica cu clienții
-Primește date de la clienți
-Trimite date la clienți
Aceasta aplicație este o aplicație multi-client, adică la un moment dat la server pot fi
conectați mai mulți clienți,
BattleShipServer are in componență un singur pachet PacServer care conține patru
clase Java:
-ChatCommunication
-ClientObject
-CommonSettings
-ChatServer
Structura claselor:
ChatComunication
ClientObject
28

CommonSettings
ChatServer
În cadul acestui modul au fost definite anumite comenzi pentru a putea distinge
clienții conectați, pentru a trimite mesaje la toți clienții sau numai la anumiți clienți etc
astfel:
-HELLO- stabilește conexiunea la server.
-QUIT- întrerupe conexiunea pentru clientul de la care s-a primit comanda
-MESS – trimite un mesaj general la toți clienții
-PRIV – trimite un mesaj la un anumit client
29

Aplicația este responsabilă cu evidența clienților conectați, username-ul si primirea,
trimiterea de mesaje.
Clasa principală a acestei aplicații este ChatServer, care implementeaza interfața
grafică pentru comunicarea cu utilizatorul, thread-urile pentru comuncarea cu clienții,
trimiterea mesajelor către clienți, adăgarea clienților conectați, stergerea clienților in
momentul cand conexiunea către aceștia a fost închisă.
2.2 Prezentare instrumente Android și PC – Microsoft Visual
Studio – Visual Basic.
Aceasta aplicatie a fost realizata in Microsoft Visual Studio 2015, in limbajul
Microsoft Visual Studio 2015 – Visual basic iar interfata in Java si Eclipse.NET Ca server
de baze de date a fost folosit Microsoft Sql Server 2013.
Despre platforma .NET
.NET este strategia Microsoft pentru dezvoltarea de software care permite oamenilor sa îl
utilizeze din orice loc si utilizând orice fel de dispozitiv. Scopul Microsoft fiind acela de a
creste numarul de aplicatii care folosesc browrsere.
.NET înseamnă foarte mult Internet, iar Internetul este un exemplu de tehnologie sau
fenomen care inseamnă lucruri diferite pentru persoane diferite. Astfel, din punct de
vedere al dezvoltatorilor, Internetul este o stivă de protocoale și un model computational
bazat pe TCP/IP. Din punct de vedere al afacerilor, este o tehnologie care promite multe.
Pentru consumatori, este o incredibilă resursă de informație, comunicație și conectivitate.
Descrierea pe larg a platformei .NET este urmatoarea:
.NET este o platforma de servicii web bazată pe XML care consta în:
. platforma software pentru construirea experientei .NET;
. un set de servicii web bazate pe XML programabile;
. un model și unelte de programare pentru a construi și integra servicii
web bazate pe XML;
. un mijloc de a oferi utilizatorilor aplicații, servicii si dispozitive care
sunt personalizate, simple, consistente si sigure;
. reprezinta un mijloc de a permite utilizatorilor sa interactioneze cu un set larg de
dispozitive inteligente prin intermediul Web-ului, asigurând in același
timp faptul ca utilizatorul și nu aplicația controlează interacțiunea;
.NET incorporează o platformă software pentru construirea experientei .NET ceea ce
înseamnă server care rulează baze de date, servere web si alte sisteme.
Diferentele fata de sistemele actuale de intreprindere constau in capacitățile facilitațile
acestor produse.
Platforma .NET cuprinde un model de programare impreuna cu uneltele respective prin
care se permite dezvoltatorilor să creeze serviciile web pe care se bazeaza .NET. Modelul
este .Net Framework, care este descris in cele ce urmeaza.
Extinderea intraneturilor si portalurilor prin utilizarea .NET 97 componenta finală a .NET
este rezultatul modelului de programare a uneltelor și platformei. Serviciile web oferă
aceste servicii si informații necesare utilizatorilor în faza a treia de dezvoltare a
Internetului. Deoarece aceste servicii web sunt programabile, ele permit unui utilizator să
30

utilizeze orice dispozitiv pentru a accesa informatia si pentru a o partaja cu alte site-uri
sau servicii.
.NET este construit peste familia de servere .NET care cuprinde urmatoarele produse:
. SQL Server 2000 – server de baze de date;
. Commerce Server 2000 – necesar pentru crearea de infrastructuri pentru comerțul
electronic;
. Exchange 2000 – server de mesagerie si group ware;
. BizTalk 2000 – primul server .NET, destinat pentru construcția de procese de afaceri care
să fie integrate cu alte procese asemanatoare prin intermediul mesajelor;
. Host Integration Server – necesar pentru integrarea diverselor sisteme (inclusiv a
mainframe-urilor);
. Internet Security and Accelaration Server 2000 – asigura securitatea și accelerarea
aplicațiilor;
. Application Center 2000 – produs prin care se face managementul aplicațiilor web;
. Mobile Information Server – pentru accesarea informatiilor in timp real de pe dispozitivele
mobile.
Pentru a oferi componente dezvoltatorilor pentru crearea de solutii de tip servicii web,
.NET utilizează o serie de protocoale standard pe Internet: XML, SOAP, HTTP si TML.
Unealta utilizată este Visual Studio.NET. De asemenea trebuie oferite cadrele de lucru,
limbajele si ghidul. pentru ajutorul construirii acestor servicii.
Toate acestea sunt integrate in Framework.
Microsoft a decis, pe termen lung, sa inlocuiască COM cu CLR (Common Language
Runtime), în care s-au incorporat cele mai bune aspecte ale COM, dar s-au omis
aspectele "dureroase" ale scrierii aplicațiilor bazate pe COM. Unele dintre cele mai
frustrante probleme ale COM sunt: instalarea aplicatiilor; interoperabilitatea dintre limbaje;
versiunile de componente. Noul model de programare introdus de CLR a fost introdus cu
scopul de a elimina multe dintre detaliile nenecesare sau confuze ale COM privitoare la
scrierea sau intelegere acodului pentru o aplicatie distribuită.
Istoria COM a fost marcata de probleme privind interoperabilitatea diverselor limbaje de
programare, cu toate că există un anumit grad de interoperabilitate intre limbajele
necontrolate (unmanaged), acesta este departe de a fi ideal. De exemplu, programatorii
C++ produc componente DLL care nu pot fi utilizate de Visual Basic sau limbajele de
scripting. Multe din tipurile din C++ sunt desemnate pentru vectori, pointeri sau alte tipuri
care nu sunt practice pentru alte limbaje sau nu se pot consuma CLR asigură cel mai
inalt grad de interoperabilitate, modelul de programare CLR fiind bazat pe sistemul
universal de tipuri ( universal type system ), in care fiecare limbaj managed este asezat
deasupra și este mapat la un set de tipuri standard.
Sistemul de tipuri al CLR defineste un set predictibil de tipuri primitive continând de
exemplu, numere intregi si cu virgulă flotantă. De asemenea, sistemul de tipuri definește
clasele standard pentru alte tipuri, precum String, Array iar limbajele .NET ofera cuvinte
cheie care sunt mapate direct către tipurile integrate in CLR. De exemplu, Visual Basic
.NET ofera cuvantul cheie Integer al carui echivalent in C# este int, ambele tipuri fiind
mapate direct la tipul
31

System.Int32 din CLR. CLR este înbunătățit fată de COM prin standardizarea unui set de
tipuri care este partajat de toate limbajele managed. De exemplu, sistemul de tipuri ofera
tipuri integrate pentru unsigned integer , care sunt suportate in intregime de C#, dar nu si
de Visual Basic.NET. acest lucru poate insemna faptul ca pot exista dezvoltatori care ca
creeze componente care sa expuna unsigned integer in maniere imposibil de utilizat in
alte limbaje. Termenul managed (controlat / gestionat) semnifica faptul ca un cod sau
limbaj are nevoie de Common Language Runtime pentru a fi executat, spre deosebire de
codul simplu, care nu necesita motorul CLR.
Sistemul de tipuri al CLR se bazează in cea mai mare parte pe mostenire, intregul
sistem de tipuri fiind bazat pe o ierarhie de mostenire unică. Toate tipurile uilizate pentru a
crea obiecte deriva in cele din urma din radacina Syste,Object. In momentul in care se
creeaza o clasa fara a se mosteni in mod explicit altă clasă, noua clasa creata
mosteneste in mod implicit System.Object.
Pentru a preveni situatii ca cele de mai sus s-a creat un document numit Common
Language Specification (CLS) in care este definit un subset de tipuri si facilități CLR pe
care componentele si limbajele trebuie să le suporte pentru a interopera cu alte limbaje
managed.
32

Capitolul 3. Dezvoltare si implementare aplicatie.
Sistemul creat contine 2 aplicatii software și se bazează pe o arhitectura client
server. Aplicatia client poate rula pe orice dispozitiv cu sistem de operare Android fie el
telefon sau tableta, iar aplicatia server poate rula pe orice calculator PC ce poate
comunica prin bluetooth.
3.1. Aplicație server.
Aplicatia server este o aplicație tip consolă care permite unui dispozitiv sa se
conecteze prin bluetooth folosind numar unic UUID. Dupa conectarea dispozitivul pe care
este instalata aplicatia client, aplicația citeste în mod continuu datele care sosesc și
realizează mutarea cursorului mouse-ului precum si permite execuția comenzilor click
dreapta si click stanga.
Pentru a permite diferitelor dispozitive să se conecteze, aplicația utilizeaza biblioteca
32feet.net. Aceasta incapsuleaza stiva bluetooth implementata de catre Microsoft . Aceasta
biblioteca are un model de programare ce se aseamană foarte mult cu modelul de
programare pentru aplicatii ce comunica prin retea folosing sockets.
33

Schema logica a algoritmului ce rulează pe aplicația server este prezentată în figura
urmatoare
34

Codul sursa care implementează acest algoritm este prezentat în continuare.
35

Aplicația server mai folosește și clasa MouseSimulator. Aceasta conține cateva
metode statice pentru deplasarea mouse-ului si realizarea de click-uri. Această clasa a fost
creată pentru a incapsula functiile sistemului de operare ce realizează setarea si obținerea
poziției cursorului mouseului.
3.1 Aplicația client.
Aplicația client poate fi rulata de pe orice dispozitiv care folosete sistemul de operate
Android si are bluetooth . Interfața grafică a aplicației client contine 2 ecrane și este
prezentată în figurile urmatoare.
Cand aplicația client este pornită, pe ecran se afisează o listă cu toate toate dispozitivele
bluetooth cuplate cu telefonul. Dacă, in schimb, dispozitivul dorit nu se regaseste in lista,
acesta poate fi descoperit si adaugat prin actionarea butonului din partea de jos a
interfatei: Discover.
Pentru inițializarea unei conexiuni se alege unul din dispozitivele din afisate in lista . In
acest moment va fi afisat ecranul din partea dreapta. Acest ecran citeste mișcările
degetului utilizatorului pe ecran si trimite via bluetooth coordonatele catre aplicația server,
care folosește aceste coordonate pentru a deplasa cursorul mouse-ului.
36

Se pot trimite si comenzi de mouse click prin efectuarea gestului de atingere, „tap”,
sau apasarea celor 2 butoane Left si respectiv Right. Al doilea ecran permite utilizatorului
și transmiterea coordonatelor în momentul în care se schimbă orientarea ecranului.
Aplicatia client este realizată folosind mediul de programare Eclipse si limbajul Java.
Ecranul ce prezintă lista de dispozitive bluetooth cuplate cu dispozitivul curent obține
această listă folosind un obiect BluetoothAdapter. În momentul în care se crează primul
ecran se executa urmatorul algoritm.
37

Codul sursă ce implementează acest algoritm este prezentat în continuare.
Metoda Init() realizează urmatoarele:
Instanțierea obiectelor de interfață
Adaugarea de handlere pentru diferitele evenimente ale acestor obiecte
Obține adapterul bluetooth
Instanțiază un obiect de tip broadcastReceiver ce este folosit pentru a primi
informații asupra procesului de descoperire a dispozitivelor bluetooth
Inregistrează acest receiver cu diferite filtre
Metoda GetPairedDevices() este folosită pentru a obține și afisa lista de dispozitive
cuplate cu telefonul. În continuare se prezintă implementarea acestei metode.
În momentul in care un dispozitiv este ales din lista afisată în primul ecran, se deschide o
noua activitate (al doilea ecran). Numele dispozitivului ales este trecut ca parametru pentru
al doilea ecran si este folosit pentru a deschide un canal de comunicatie cu aplicatia
38

server. Initializarea celui de al doilea ecran se face in metoda Init(). Dupa cum se poate
observa din secvența de cod de mai jos, aceasta metoda realizează urmatoarele.
Setează un identificator unic specific dispozitivului.
Instanțiază detectroul de gesturi pentru interceptarea gestului „tap”
Instanțiază cele doua butoane pentru click left si respectiv right.
Obține dispozitivul bluetooth ales de utilizator și incepe conectarea
Implementarea acestei metode este prezentată mai jos.
39

În momentul în care conexiunea se stabilește se obține un socket bluetooth și
comunicarea poate incepe. Dispozitivul client este setat doar pentru a trimite date în timp
ce aplicația rulează pe server este setată numai pentru a citi date.
Pentru a prelua interacțiunea utilizatorului cu ecranul se folosește evenimentul OnTouch.
Handler-ul acestui eveniment implementează urmatorul algoritm.
40

Concluzii
În acest domeniu tehnologia avanseaza pe zi ce trece , dezvoltarea de noi aplicații care sa se
conformeze cu noile standarde impuse este absolut necesara . Astfel se ajunge la nevoia de a
dezvolta aplicatii care să comande si să controleze diferite sisteme de la distantă, deoarece factorul
uman implicat in activitățile realizate de aceste sisteme este pus sub pericol.
Pornind de la controalele analogice, de la manete si butoane greoaie actionate manual,
avansul tehnologiei in secolul 21 a ajuns la controlul digital si de la distantă prin diferite tehnologii
Wireless ( fara fir ).
Lucrarea de fata demonstreaza cum poate fi folosită tehnologia Bluetooth pentru a crea diferite
tipuri de dispositive de comandă si control pentru a acționa acolo unde factorul uman nu poate avea
41

acces, dar si pentru nevoi personale unde acțiunea de la distantă a diferitelor sisteme confera
comoditate si libertate de miscare.
Folosind un dispozitiv dotat cu tehnologie Bluetooth , aplicația prezentata permite controlul
computerului personal, creand astfel diferite posibilitati de utilizare dar si deschizand un nou domeniu in
cercetarea dispozitivelor de comanda si control, reducand considerabil costurile de dezvoltare deoarece
folosește la bază dispozitive standard concepute pentru alte roluri.
Astfel avem in fata o aplicate ce face toate aceste lucruri, prin simpla apasare de buton pe un
smartphone, ce simplifcă procesul de prezentare intr-o sala de conferinte si scade costurile pentru
achizitionarea unui echipament profesional de prezentare , respective de control asemantor.
Aceste aplicatii dezvoltate pe baza tehnologiei Bluetooth de comandă si control pot fi de
asemenea integrate in viata de zi cu zi la diferite dispozitive pe care le folosim.
Imaginati-va doar ca in casa in care locuiti, au fost pozitionate diferite dispozitive dotate cu Bluetooth
care va ajuta in diverse moduri.
De exemplu incuietoarea usii este actionata de un asemenea dispozitiv, accesul fiind doar
permis pe baza unui cod pin generat odata cu plecarea dumneavoastra, si stocat intr-un smartfone pe
care il utilizați. Simpla actionare a unui buton va face posibila deschiderea usii , dar si actionarea altor
dispozitive cum ar fi aerul conditionat, TV , luminile .
Acest lucru poate fi implementat foarte usor din cauza diferitelor dispozitive de pe piață care pot fi
programate in alte scopuri, oferind si un grad de securitate ridicat, din cauza simplului fapt ca tehnologia
Bluetooth are un protocol de securitate bine implementat si aproape impenetrabil.
Lucrarea de fata a atins scopul , acela de a prezenta dezvoltarea unei aplicatii folosind
tehnologia Bluetooth și de a demonstra modul in care poate fi folosită la costurile cele mai mici, folosind
ca mediu de programare Microsoft Visual Studio.
Aceasta aplicație poate fi folosita pentru :
Controlul computerului de la distantă
Setarea parametrilor de Delogare, Inchidere, Resetare a computerului
Prezentarea diferitelor documente de la distantă oferind astfel manevrabilitate utilizatorului
Folosirea acesteia in diferite aplicații si jocuri
Prin versiunile viitoare , aceasta aplicatie are ca scop :
Controlul total al unui computer personal cat si controlul dispozitivelor aferente acestuia;
Controlul de la distanta 1 sau mai multe computere personale aflate intr-o retea ;
Controlul altor dispozitive de sine stătatoare cu ajutorul computerului.
Imbunatațirea sistemului de comandă
Imbunatațirea sistemului de control ;
Posibilitatea de dezovltare a unor aplicații noi folosind același protocol si tehnologie in diferite
scopuri personale , industriale si medicale;
Simplificarea procesului de dezovltare transformandu-l in unul accesibil tuturor utilizatorilor.
Dezvoltarea aplicatiei pe marginea altor dispozitive dotate cu tehnologie Bluetooth , mai ceva
decât smartphonul.
Bibliografie.
42

1. Bruce Hopkins, Ranjith Antony , “ Bluetooth for Java ”, Apress , 2003
2. Bluetooth Special Interest Group (SIG), “ BLUETOOTH SPECIFICATION Version
2.0+ EDR [vol 0]: Specification of the Bluetooth System”,2004
3. Bluetooth Special Interest Group (SIG), “ Volume 4_SPEC ”, 2006
4. Roger Riggs, Antero Taivalsaari, Jim Van Peursem, “ Programming Wireless Devices
with the Java 2 Platform, Micro Edition, Second Edition ”, Addison Wesley, 2003
5. Jonathan Knudsen ,“Wireless Java Developing with J2ME , Second Edition”, Apess,
2003
6. M. Tim Jones – BSD Sockets Programming from a Multi-Language Perspective, Charles
River Media, 2004
7. G. Stoian, C.-I. Popirlan, Tehnologii java pentru dezvoltarea aplicatiilor . Editura
Universitaria, Craiova, 2009.
8. Michael Morrison – Internet Game Programming with Java, Sams.net Publishing, 1996
9. Bruce Eckel-Thinking in Java, Prentice Hall,2006
10. Jerry Ablan –Developing Intranet Applications with Java, Sams.net Publishing, 1996
11. Kenneth L. Calvert -TCP/IP Sockets in Java, The Morgan Kaufmann Practical Guides
Series.
12. http://www.calsoftlabs.com/whitepapers/java-networking.html
13 . www.sss-mag.com/pdf/802_11tut.pdf
14. www.denayer.be
15. www.cis.ohio-state.edu/~jain/cis788-97/wireless-lans/index.html
16 . https://www.google.ro/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-
8#q=despre%20visual%20basic
43

Similar Posts