Cours Protocole sans fils (Bluetooth)

Transcription

Cours Protocole sans fils (Bluetooth)
[email protected] ver. 1.0 nc
Connectivité des systèmes embarqués
« Présentation des Protocoles et Applications »
École Nationale Supérieure de Physique de Strasbourg
Cours en ligne : http://optothermique.dyndns.org:8008/
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Plan du Cours
« Connectivité des systèmes embarqués »
CM1 :
1 : Enjeux de la connectivité pour les systèmes embarqués
2 : Comparaison des bus disponibles
3 : Connectivité des circuits utilisant une liaison physique (USB, FireWire, GIGE, SPI… )
4 : Implémentation pratique du bus USB sur MCU Microchip
CM2: Protocoles et implémentation des systèmes de communication sans fils (Irda, Bluetooth, Zigbee, Wifi)
CM3: Mise en œuvre d un scanner de périphériques Bluetooth sous Labview (découverte des services disponibles)
ou/et
Programmation Labview d’une cible temps réelle
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Protocoles des systèmes de communication sans fils
(Bluetooth, Zigbee)
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Bluetooth c est quoi ?
Bluetooth : standard de l
industrie des télécommunications sans fils (norme IEEE 802.15)
IEEE : organisme chargé de fixer les normes informatiques utilisées par les industriels à l’échelon
mondial. IEEE garantit la conformité d’un matériel aux exigences d’une norme en électronique.
Intérêt : assurer l’interopérabilité d’une technologie. Pour assurer la compatibilité entre les matériels,
la spécification de la norme définit toute la pile des protocoles et les services utilisés par Bluetooth.
Inconvénient : IEEE à un coût…
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Définition de Bluetooth
Bluetooth est un système de communication à courte portée conçu pour remplacer les
câbles qui relient habituellement les périphériques portables et/ou fixes tout en
maintenant un niveau de sécurité élevé.
Caractéristiques : - robustesse,
- faible consommation d'énergie
- faible coût.
Spécification Bluetooth : version 2.0 depuis 2004
Ensemble de technologies uniforme permettant à un grand nombre de périphériques de
types différents de se connecter, de communiquer les uns avec les autres.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Généralités et architecture d un réseau Bluetooth
1) Tous les périphériques Bluetooth peuvent se connecter et communiquer les uns
avec les autres via des réseaux à courte portée (pico-réseaux)
2) Dans un pico-réseau, chaque périphérique peut communiquer simultanément avec
7 autres périphériques
3) Les périphériques peuvent participer à plusieurs pico-réseaux à la fois
4) Les pico-réseaux se forment de manières dynamique et automatique à mesure que
les périphériques Bluetooth entrent dans la zone d'émission radio du pico-réseau ou
en sortent
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Topologie d’un réseau Bluetooth (1/2)
Topologie en étoile
Un périphérique « maître » peut administrer jusqu'à :
-  7 esclaves « actifs »
-  255 esclaves en attentes « parked »
La communication est directe entre le « maître » et un
« esclave ». Les « esclaves » ne peuvent pas communiquer
entre eux. Tous les « esclaves » du pico-réseau sont
synchronisés sur l'horloge du « maître ». C'est le « maître »
qui détermine la fréquence de saut pour tout le pico-réseau.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Topologie d un réseau Bluetooth (2/2)
Inter-réseau Bluetooth : les périphériques
« esclaves » peuvent avoir plusieurs
«maîtres ». Les différents pico-réseaux
peuvent être reliés entre eux.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Présentation du fonctionnement
Transmission en duplex intégral (Slots temporels et Paquets) :
Le canal physique est divisé en plusieurs slots temporels. Les données sont transmises
entre les périphériques sous forme de paquets positionnés sur ces slots. Le saut de
fréquence a lieu au moment de la transmission ou de la réception des paquets. La
technologie Bluetooth permet la transmission des données en duplex intégral.
Duplex intégral : caractérise une liaison dans laquelle les données circulent de façon
bidirectionnelle et simultanément.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Spécification de la norme Bluetooth
Composants de la spécification :
Bluetooth définit à la fois les couches matérielles et logicielles de liaison et les
couches d application. Ces couches prennent en charge des applications vocales
et de données.
Spectre de fréquences :
Bluetooth opère dans la bande de fréquences ISM (Industrielle, Scientifique et
Médicale) comprise entre 2,4 et 2,485 GHz.
La bande de fréquences 2,4 GHz ISM est disponible dans la plupart des pays.
Elle ne nécessite pas de licence pour être exploitée.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation technologique de Bluetooth
BT est un système organisé en couches logicielles et matérielles (physiques)
Le transport des données par Bluetooth utilise une architecture en couches.
La couche matérielle Radio fréquence
(RF) correspond au niveau le plus bas de
la transmission. Les couches logicielles
correspondent aux niveaux les plus hauts
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Les couches physiques
Cette partie du protocole Bluetooth prend en charge la partie matérielle de la transmission.
La couche physique rassemble deux couches : couche RF et la couche bande de base.
Couche RF (Radio Frequency)
Les flux de données (bitstream) sont transformés au niveau de la couche Radio afin d être émis sur le
support de transmission et les fréquences reçues transformées en bits.
Les techniques de modulation varient en fonction de la norme employée :
- norme de base (Basic Rate pour le Bluetooth version 1.x) débits autorisés sont de 1 Mbit/s en modulation
GFSK (Gaussian Frequency Shift Keying).
- avec les dernières améliorations BT Ver. 2.x + EDR (pour Enhanced Data Rate), les débits atteignent 2
Mbit/s (en modulation π/4 DQPSK) et 3 Mbit/s en modulation (8DPSK).
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Présentation de la couche Radio
Couche physique radiofréquence : BT utilise un dispositif émetteur/récepteur à sauts de
fréquence (évite les interférences). La technologie génère un grand nombre d'ondes
porteuses basées sur une modulation de fréquence binaire. Le débit en symbole s'élève à
1 Méga-symbole par seconde, donnant un débit basique de 1 Mbit/s ou avec le débit de
données rehaussé (EDR), un débit atteignant 2 ou 3 Mbits/s.
Canal RF : un canal physique RF est partagé par plusieurs périphériques qui sont
synchronisés en fonction d'une même horloge et d'un modèle de saut de fréquence.
Caractéristiques de la modulation :
La modulation basique est de type GFSK (Gaussian Frequency Shift Keying).
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Portée Radio des dispositifs Bluetooth
Elle varie en fonction de la classe du périphérique
Classe
Puissance
Portée
Applications
1
100 mW (20 dBm)
100 mètres
Applications industrielles
2
2,5 mW (4 dBm)
10 à 20 mètres
Périphériques portables
(oreillette, module
GPS)
3
1 mW (0 dBm)
Quelques mètres
---
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Consommation électrique / débit de transfert
Puissance consommée par les dispositifs de classe 2 :
Les radiofréquences les plus fréquemment utilisées appartiennent à la classe 2 et
ont une puissance de 2,5 mW. La technologie sans fil Bluetooth est conçue pour
consommer peu d'énergie. Dans cet objectif également, la spécification Bluetooth
intègre une fonction de mise hors tension des radiofréquences en cas d'inactivité.
Débit de données :
1 Mbits/s pour la version 1.2 ; jusqu'à 3 Mbits/s pris en charge par la version 2.0
avec Débit de Données Rehaussé (spécification EDR)
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Comment Bluetooth évite les interférences ?
Bluetooth dispose d une fonction pour rechercher les fréquences disponibles
puis pour les utiliser afin de communiquer. La technique consiste à détecter les
autres périphériques opérant sur la bande 2.4 GHz et d exclure ces
fréquences. Ce principe de sélectivité permet des transmissions même lorsque
d'autres technologies sans fils sont utilisées en parallèle. Le procédé consiste
à balayer l'ensemble des fréquences disponibles, 79 au total (plage de saut = 1
MHz) offrant une protection optimale contre les interférences.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation matérielle de Bluetooth
La couche Bande de Base
La couche Bande de base est la
deuxième couche matérielle.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Présentation de la couche « base-band »
La couche de bande de base
A ce niveau, sont définies les adresses matérielles des périphériques (=>MAC adresse
d une carte réseau ex. 06-00-00-00-00-00.
Cette adresse est nommée BD_ADDR (Bluetooth Device Address). Elle est codée sur
48 bits.
La bande de base gère les différents types de communication entre les appareils. Les
connexions établies entre deux appareils peuvent être du type synchrones ou
asynchrones :
- les paquets transférés en SCO (Synchronous Connection-Oriented) ;
- les paquets transférés en ACL (Asynchronous Connection-Less).
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation matérielle de Bluetooth
Protocole de gestion de liaisons :
il est constitué du contrôleur de liaisons et de son gestionnaire
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Protocoles de gestion des liaisons
Le contrôleur de liaisons (LC) : assure la configuration et le contrôle de la liaison
physique entre deux appareils.
Le gestionnaire de liaisons (LM) : assure la gestion des liens entre les périphériques
« maîtres » et « esclaves » ainsi que les types de liaisons (synchrones ou asynchrones).
C'est le gestionnaire de liaisons qui implémente les mécanismes de sécurité comme :
- l'authentification ;
- le pairage à l aide d un code pin ;
- la création et la modification des clés ;
- le chiffrement.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation logicielle de Bluetooth
Protocole software de gestion
des liaisons et des canaux (L2CAP)
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Couches logicielles Protocoles
de gestion des liaisons et des canaux
Protocole L2CAP : Logical Link Control & Adaptation Protocol
fait le lien entre les canaux physiques avec les applications et les services. Cette couche
opère la segmentation et le réassemblage des données d'application ainsi que le
multiplexage et le démultiplexage de plusieurs canaux sur une liaison logique partagée. Le
canal de contrôle du protocole L2CAP est transmis par le biais du transport logique par
défaut ACL. Les données d'application soumises au protocole L2CAP peuvent être
transportées sur toute liaison logique prenant en charge ce protocole.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Et enfin pour les utilisateurs : les services Bluetooth
RFCOMM : service basé sur les spécifications RS-232, qui émule des liaisons séries. Il peut
notamment servir à faire passer une communication IP par Bluetooth. RFCOMM est utilisé
lorsque le débit des données n'atteint pas plus de 360 kbit/s (par exemple, téléphones
mobiles, GPS etc.).
SDP : Discovery Protocol. Ce protocole permet à un appareil Bluetooth de rechercher d'autres
appareils et d'identifier les services disponibles. Il s'agit d'un élément particulièrement
complexe de Bluetooth (implémentation facile sous Labview).
OBEX : Object Exchange. Ce service permet de transférer des objets grâce à OBEX,
protocole d'échange développé pour à l origine pour l'IrDA.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Établissement d une connexion BT en mode passif
Mode passif = périphérique à l écoute du réseau
L'établissement d'une connexion passive entre deux périphériques Bluetooth suit une
procédure permettant d'assurer un certain niveau de sécurité :
1) Phase d'inquisition (inquiry) : découverte des points d accès
2) Synchronisation avec le point d accès (paging)
3) Découverte des services du point d accès
4) Création d un canal avec le point d accès
5) Pairage à l aide d un code PIN (sécurité)
6) Utilisation du réseau
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Liste détaillée des opérations logicielles pour établir une connexion BT
1) « phase d'inquisition » : le périphérique maître envoie une requête d'inquisition à tous
les périphériques présents dans la zone de portée, appelés points d'accès. Tous les
périphériques recevant la requête répondent avec leur adresse.
2) Choix d une adresse : le périphérique maître se synchronise avec le point d'accès selon
une technique, appelée paging, consistant notamment à synchroniser son horloge et sa
fréquence avec le point d'accès.
3) Découverte des services : un lien s'établit ensuite avec le point d'accès, permettant au
périphérique maître d'entamer une phase de découverte des services du point d'accès, selon
un protocole appelé SDP (Service Discovery Protocol).
4) Création du canal de communication : le périphérique maître est en mesure de créer un
canal de communication avec le point d'accès en utilisant le protocole L2CAP.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation logicielle d un dialogue BT
Certaines applications sont prévues pour se connecter à un port standard (série),
indépendant de tout matériel (GPS ou téléphone mobile Bluetooth).
Dans ces cas, un canal supplémentaire RFCOMM (driver windows à partir de XP-SP2),
fonctionnant au-dessus du canal L2CAP est utilisé pour fournir un port série virtuel.
Pour garantir la sécurité du picoréseau, le point d'accès peut intègrer un mécanisme de
sécurité permettant de restreindre l'accès aux utilisateurs autorisés. Le point d'accès envoie
une requête de pairage (pairing) au périphérique maître. Ceci déclenche une intervention de
l'utilisateur pour saisir le code PIN (Personal Information Number). Si le code PIN reçu est
correct, l'association a lieu. En mode sécurisé, le code PIN sera transmis chiffré à l'aide d'une
seconde clé, afin d'éviter tout risque de compromission.
Lorsque le pairage est effectif, le périphérique maître est libre d'utiliser le canal de
communication ainsi établi.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Procédure manuelle de mise en œuvre pratique
d une communication BT
Pour échanger des données, les appareils doivent être appairés. L'appairage se fait en lançant la
découverte à partir d'un appareil et en échangeant un code PIN (pairage).
Dans certains cas, le code est libre, les deux appareils doivent avoir le même code (ex. 0000).
Dans d'autres cas, le code est fixé par l'un des deux appareils (appareil dépourvu de clavier, par
exemple), et l'autre doit le connaître pour s'y raccorder. Par la suite, les codes sont mémorisés par
« l hôte » et il suffit qu'un appareil demande le raccordement et que l'autre l'accepte pour que les
données puissent être échangées. Afin de limiter les risques d'intrusion, les appareils qui utilisent
un code préprogrammé (souvent 0000, 1111) doivent être activés manuellement, et l'appairage ne
peut se faire que durant une période courte.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Profils Bluetooth
Bluetooth définit des profils standards d'application permettant de définir le type de
services offerts par un périphérique BT. Chaque périphériques peut ainsi supporter de
nombreux profils :
Advanced Audio Distribution Profile (A2DP) : profil de distribution audio avancée
Audio Video Remote Control Profile (AVRCP) : profil de télécommande multimédia
Basic Imaging Profile (BIP) : profil d'infographie basique / Basic Printing Profile (BPP) : profil d'impression basique
Cordless Telephony Profile (CTP) : profil de téléphonie sans fil
Dial-up Networking Profile (DUNP) : profil d'accès réseau à distance / Fax Profile (FAX) : profil de télécopieur
File Transfer Profile (FTP) : profil de transfert de fichiers
Generic Object Exchange Profile (GOEP) : profil d'échange d'objets
Hands-Free Profile (HFP) : profil mains libres
Human Interface Device Profile (HID) : profil d'interface homme-machine
Headset Profile (HSP) : profil d'oreillette
LAN Access Profile (LAP) : profil d'accès au réseau
Object Push Profile (OPP) : profil d'envoi de fichiers
Personal Area Networking Profile (PAN) : profil de réseau personnel
SIM Access Profile (SAP) : profil d'accès à un carte SIM
Service Discovery Application Profile (SDAP) : profil de découverte d'applications
Synchronization Profile (SP) : profil de synchronisation avec un gestionnaire d'informations personnelles (appelé PIM pour
Personal Information Manager).
Serial Port Profile (SPP) : profil de port série
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Fonctions disponibles depuis Labview (2009 et plus) pour
implémenter BT via RFCOMM
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Étapes à suivre pour installer la technologie
Bluetooth sur un produit ($£€)
1 ) Devenir membre du Bluetooth SIG. Toutes les sociétés utilisant la marque
commerciale Bluetooth sur leurs produits doivent impérativement devenir membre. (How
much money? I don t know….)
2) Suivre un processus d'homologation Bluetooth ($£€)
3) Participez aux UnPlugFests du Bluetooth SIG pour garantir l'interopérabilité de vos
produits en les testant avec d'autres appareils ($£€)
UnPlugFests = événements organiser par Bluetooth SIG pour évaluer la compatibilité du
produit
Tous les membres contribuent aux recherches critiques, aux améliorations en matière de
sécurité et au développement permanent de la technologie Bluetooth par le biais des
groupes de travail et des comités (free of charge)
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
ZigBee = Bluetooth simplifié de faible consommation électrique
ZigBee : protocole de haut niveau permettant la communication radio, à consommation
réduite, basée sur la norme IEEE 802.15.4 pour les réseaux à dimension personnelle
(Wireless Personal Area Networks : WPANs).
Ratifiées en 2004, les spécifications de ZigBee 1.0 sont disponibles auprès des
membres de la communauté industrielle ZigBee Alliance.
Cette technologie a pour but la communication de courte distance telle que le propose
déjà la technologie Bluetooth, tout en étant moins chère et plus simple. Les nœuds
ZigBee classiques nécessitent environ 10 % du code nécessaire à la mise en
œuvre de nœuds Bluetooth.
Microchip propose des solutions ZigBee économiques.
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Questions
http://fr.wikipedia.org/wiki/Bluetooth
http://fr.wikipedia.org/wiki/Zigbee
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation Labview d un scanner de périphérique BT
ENSPS 2A – Version nc - [email protected]
[email protected] ver. 1.0 nc
Implémentation Labview d un scanner de périphérique BT
ENSPS 2A – Version nc - [email protected]