Bluez
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Qu'est-ce que BlueZ ?

La première pile Open Source de Bluetooth pour Linux a été développé par Axis Communication et s'appelait OpenBT. Mais en 2005, ce projet fut arreté.

BlueZ est un autre projet de développement de la pile Bluetooth (Bluetooth est une spécification de l'industrie des télécommunications. Elle utilise une technique radio courte distance destinée à simplifier les connexions entre les appareils électroniques....) sur Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent...). Il a été créé au départ par Max Krasnyansky à Qualcomm, une société fondée en 1985. En 2001, ils décidèrent de le publier sous une licence GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.) GPL. C'est ainsi que commença le développement de la pile de protocole officielle de Bluetooth pour Linux. Un mois (Le mois (Du lat. mensis «mois», et anciennement au plur. «menstrues») est une période de temps arbitraire.) après, la pile BlueZ (La première pile Open Source de Bluetooth pour Linux a été développé par Axis Communication et s'appelait OpenBT. Mais en 2005, ce projet fut arreté.) était intégrée au noyau Linux (Le noyau Linux est un noyau de système d'exploitation de type UNIX. Le noyau Linux est un logiciel libre développé essentiellement en C par une large communauté de contributeurs. Formellement,...).

En 2005, ce projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration d’une grande...) a gagné le TuxMobil GNU/Linux Award pour leur contribution à l'amélioration des connexions réseaux sur des machines portables munies de Linux.

Installation de BlueZ

BlueZ est déjà intégré au noyau des séries Linux de version 2.4 et 2.6. Pour les noyaux plus anciens, il existe des patches téléchargeables à l'adresse (Les adresses forment une notion importante en communication, elles permettent à une entité de s'adresser à une autre parmi un ensemble d'entités. Pour qu'il n'y ait pas d'ambiguïté, chaque adresse doit...) suivante : http://www.bluez.org/patches.html Pour certaines distributions Linux (Debian ou RedHat par exemple), des paquets pour mettre à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du...) certaines bibliothèques et utilitaires sont aussi disponibles.

L'architecture (L’architecture peut se définir comme l’art de bâtir des édifices.) de BlueZ

Avant la version 2.3 de BlueZ, la couche RFCOMM se situait en espace utilisateur (Quand le processeur d'un système informatique possède au moins deux modes de fonctionnement, dont un mode dit superviseur qui n'impose pas de restrictions sur les instructions exécutées, et un mode dit...) et utilisait le port série de l'espace utilisateur (USSP). Il avait été créé pour fonctionner avec l'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre...) des sockets L2CAP de BlueZ. Désormais, le noyau RFCOMM a été implanté dans le noyau Linux et se situe dans l'espace noyau (En informatique, l'utilisation d'un noyau, permet de distinguer deux types d'accès à la mémoire informatique :) de la pile BlueZ (plus précisément dans BlueZ-utils).

HCI, qui est une partie du cœur du module Bluetooth, et le protocole de transport (Le transport est le fait de porter quelque chose, ou quelqu'un, d'un lieu à un autre, le plus souvent en utilisant des véhicules et des voies de communications (la route, le canal ..). Par...) hôte sont séparés dans différents modules. Par exemple hci_usb.ko pour implémenter la couche de transport USB et hci_uart.ko pour la couche de transport UART. L2CAP est implémenté par le module noyau l2cap.ko. Celui-ci fournit des sockets BSD. RFCOMM a deux aspects dans BlueZ. L'un est l'interface basée sur les sockets. A la manière de TCP, une connexion RFCOMM est un flux (Le mot flux (du latin fluxus, écoulement) désigne en général un ensemble d'éléments (informations / données, énergie, matière, ...) évoluant dans un sens commun....). L'autre est une émulation TTY qui fournit des nœuds.

Virtual HCI est donc un périphérique HCI virtuel qui permet de simuler des périphériques Bluetooth.

Composition logicielle de BlueZ

BlueZ est composé de différents modules :

  • Le cœur du sous-système du noyau Bluetooth
  • Les couches du noyau audio L2CAP et SCO
  • Les implémentations du noyau RFCOMM, BNEP, CMTP et HIDP
  • HCI UART, USB, PCMCIA et les pilotes des périphériques virtuels
  • Les bibliothèques et démons General Bluetooth et SDP
  • Des utilitaires de configuration et de test
  • Des outils des protocoles de décodage et d'analyse

BlueZ a un module central appelé bluez-kernel qui contient toutes les installations du cœur Bluetooth. Il construit l'abstraction ( En philosophie, l'abstraction désigne à la fois une opération qui consiste a isoler par la pensée une ou plusieurs qualités d'un objet concret pour en former une représentation intellectuelle, et le...) HCI, les protocoles L2CAP et LMP/LC. Dans le code de bluez-kernel est inclus le pilote HCI UART, les pilotes HCI PCMCIA et le protocole RFCOMM ainsi que des choses pour BNEP.

Bluez-libs installe une bibliothèque d'accès Bluetooth utilisée par les autres utilitaires et outils.

Bluez-utils contient les utilitaires utilisés pour manipuler les dispositifs noyau et le module créé par la pile Bluetooth. L'utilitaire (Le mot utilitaire peut désigner :) hciconfig installé par le package, est presque l'équivalent de ifconfig. Jusqu'à ce que la pile installe une nouvelle famille d'adresses, on a besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins primaires, les besoins secondaires et...) de cet utilitaire pour manipuler les interfaces. Le réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit filet), on appelle nœud...) Bluetooth a des possibilités très différentes par rapport à d'autres réseaux plus traditionnels. Ce paquet est aussi utile pour mettre à jour les périphériques HCI par exemple.

Bluez-sdp fournit un démon et un accès à la bibliothèque utilisée avec SDP. C'est un protocole de base utilisé entre deux appareils Bluetooth pour déterminer comment ils peuvent communiquer entre eux.

Bluez-pan permet le PAN (Bluetooth Personal Area Networking). Cela inclut pand, le démon du profil PAN et dund, le démon du profil d'accès au LAN. PAN permet aux périphériques Bluetooth de fonctionner comme des périphériques réseaux Linux.

Bluez-hcidump est le tcpdump du monde (Le mot monde peut désigner :) Bluetooth. HCI est l'interface de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) de l'hôte. HCI propose une abstraction standard de l'interface pour le matériel Bluetooth, dictant les opérations que le noyau de la pile Bluetooth doit effectuer pour chaque driver matériel spécifique En fournissant un élément supplémentaire à cette couche, cet outil (Un outil est un objet finalisé utilisé par un être vivant dans le but d'augmenter son efficacité naturelle dans l'action. Cette augmentation se traduit par la simplification des actions entreprises, par une plus grande...) offre une vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et l'interprétation des rayonnements lumineux.) de tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) le trafic entrant et sortant de l'interface Bluetooth sans se soucier de l'interface USB, PCMCIA ou UART. RFCOMM est un standard pour des ports série style RS-232 sur Bluetooth.

Le CVS de BlueZ

Le code de BlueZ étant ouvert au public, il a été mis en place un CVS qui permet à chacun des participants de développement du projet d'ajouter leur modification. Voici les principaux répertoires présents dans le CVS BlueZ ainsi que leur caractérisation.

doc : des documents concernant BlueZ

firmware : paquet qui permet l'utilisation de l'outil bluefw

hcidump : analyseur de paquets Bluetooth HCI

hciemu : émulation HCI pour la pile BlueZ

kernel : tout ce qui concerne le noyau BlueZ,libs et libs2 : bibliothèques

obex : tout ce qui concerne le service Object Exchange (OBEX) qui permet de transférer des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un...)

packages : les paquets de certaines distributions Linux (RedHat et Zaurus)

pan : tout ce qui concerne les PANs. Evolution de bluez-pan

rfcomm : tout ce qui concerne RFCOMM

sdp : tout ce qui concerne le Service Discovery Protocol

utils et utils2 : .

Page générée en 0.260 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique