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]