BlueZ

BlueZ

informație
Prima versiune 2001
Ultima versiune 5,58 (3 aprilie 2021)
Depozit git.kernel.org/pub/scm/bluetooth/bluez.git
Scris in VS
Sistem de operare Linux
Tip Stiva de protocoale
Licență GNU General Public License versiunea 2 și GNU Lesser General Public License versiunea 2.0 ( d )
Site-ul web www.bluez.org

BlueZ este un software care implementează tehnologia fără fir Bluetooth pe sistemul de operare Linux . A fost inițial creat de Max Krasnyansky de la compania Qualcomm . În 2001, compania a decis să o elibereze sub o licență GNU GPL . BlueZ a devenit apoi implementarea Bluetooth de referință pentru Linux și a fost integrat în nucleul Linux .

Primul teanc Open Source Bluetooth pentru Linux a fost dezvoltat de Axis Communication și s-a numit OpenBT, dar în 2005 acest proiect a fost întrerupt.

În 2005, proiectul BlueZ a câștigat Premiul TuxMobil GNU / Linux pentru contribuția sa la îmbunătățirea conexiunilor de rețea pe mașinile portabile echipate cu Linux .

Instalare

BlueZ este deja integrat în nucleul din versiunea Linux versiunea 2.4 și 2.6. Pentru nucleele mai vechi, există patch-uri care pot fi descărcate la următoarea adresă: http://www.bluez.org/patches.html Pentru unele distribuții Linux ( Debian sau RedHat de exemplu), pachetele pentru actualizarea unor biblioteci și utilitare sunt, de asemenea, disponibil.

Arhitectură

Înainte de BlueZ versiunea 2.3, stratul RFCOMM se afla în spațiul utilizatorului și a folosit portul serial al spațiului utilizatorului (USSP). A fost creat pentru a funcționa cu interfața socket L2CAP de la BlueZ. Acum, nucleul RFCOMM a fost implementat în nucleul Linux și este situat în spațiul kernel al stivei BlueZ (mai exact în BlueZ-utils ).

HCI , care face parte din inima modulului Bluetooth, și protocolul de transport gazdă sunt separate în module diferite. De exemplu hci_usb.ko pentru implementarea stratului de transport USB și hci_uart.ko pentru stratul de transport UART . L2CAP este implementat de modulul kernel l2cap.ko . Aceasta oferă prize BSD. RFCOMM are două aspecte în BlueZ. Una este interfața bazată pe socket. La fel ca TCP, o conexiune RFCOMM este un flux. Cealaltă este o emulație TTY care oferă noduri.


Virtual HCI este deci un dispozitiv HCI virtual care vă permite să simulați dispozitive Bluetooth.

Compoziția software-ului

BlueZ este alcătuit din diferite module:

BlueZ are un modul central numit bluez-kernel care conține toate instalațiile nucleului Bluetooth . Construiește abstracția HCI , protocoalele L2CAP și LMP / LC. În codul kernel bluez este inclus driverul HCI UART , driverele HCI PCMCIA și protocolul RFCOMM, precum și lucruri pentru BNEP.

Bluez-libs instalează o bibliotecă de acces Bluetooth utilizată de alte utilitare și instrumente.

Bluez-utils conține utilitarele utilizate pentru a manipula dispozitivele kernel și modulul creat de stiva Bluetooth . Utilitarul hciconfig instalat de pachet este aproape echivalentul ifconfig. Până când stiva nu instalează o nouă familie de adrese, avem nevoie de acest utilitar pentru a manipula interfețele. Rețeaua Bluetooth are posibilități foarte diferite în comparație cu alte rețele mai tradiționale. Acest pachet este, de asemenea, util pentru actualizarea dispozitivelor HCI, de exemplu.

Bluez-sdp oferă un daemon și acces la biblioteca utilizată cu SDP. Este un protocol de bază utilizat între două dispozitive Bluetooth pentru a determina modul în care acestea pot comunica între ele.

Bluez-pan activează PAN (Bluetooth Personal Area Networking) . Aceasta include pand , demonul de profil PAN și dund , demonul de profil de acces LAN. PAN permite dispozitivelor Bluetooth să funcționeze ca dispozitive de rețea Linux.

Bluez-hcidump este tcpdump- ul lumii Bluetooth. HCI este interfața de control a gazdei. HCI oferă o abstracție de interfață standard pentru hardware Bluetooth, dictând operațiunile pe care trebuie să le efectueze kernel-ul stivei Bluetooth pentru fiecare driver hardware specific Oferind un element suplimentar la acest strat, acest instrument oferă o vizualizare a întregului trafic primit și ieșirea din interfața Bluetooth fără să vă faceți griji cu privire la interfața USB , PCMCIA sau UART. RFCOMM este un standard pentru porturile seriale RS-232 prin Bluetooth.

CVS

Deoarece codul BlueZ este deschis publicului, a fost creat un CVS care permite fiecărui participant la dezvoltarea proiectului să își adauge modificările. Iată principalele directoare prezente în CVS BlueZ, precum și caracterizarea acestora.

Note și referințe

  1. „  http://www.bluez.org/about/history/  ”
  2. „  Versiunea 5.58  ”

Vezi și tu

linkuri externe