8
Les liaisons séries sans fils : 1 Le Bluetooth Lycée Eugène Livet - Nantes Cours 2h00 les liaisons séries sans fils : 1- le Bluetooth Page 1/8 déc. 2012 1- Introduction : L’informatique mobile permet aux utilisateurs de se déplacer tout en restant connectés au réseau. Pour cela, les machines doivent disposer de communication sans fil utilisant des ondes radio ou lumineuses comme mode de transmission. Pour des solutions embarquées (communication entre une carte Arduino et un PC), deux réseaux locaux radio peuvent être utilisés : Bluetooth Wifi Ces deux technologies offrent : un coût d’installation réduit, une facilité de mise en œuvre, un débit intéressant (720 Kbits/s pour le Bluetooth, jusqu’à 22 Mbits/s pour le wifi), une distance limitée (100 m pour le wifi et 10 m pour le Bluetooth). Le standard Wifi utilise des interfaces du même type que Bluetooth, avec une puissance d’émission plus élevée, une portée plus importante qui peut atteindre 100 mètres, ainsi qu’un mode de modulation différent. 2- Les applications du Bluetooth : La norme Bluetooth crée par Erikson et Nokia en 1999 est très répandue comme support de transmissions d’informations sans fil entre des éléments situés à proximité d’une personne, c’est le réseau WPAN (Wireless Personal Area Network) : Le nombre d’appareils équipés de cette technologie est en constante augmentation dans le monde et les applications sont déjà très nombreuses et variées : liaison sans fil entre un PC et ses périphériques, transfert de données entre un PC et un appareil photo ou un caméscope, liaison « main libre » entre un téléphone portable et une oreillette ou un autoradio, liaison sans fil dans les appareils domestiques,…

Liaison Bluetooth

Embed Size (px)

DESCRIPTION

bluetooth, arduino et FB155

Citation preview

  • Les liaisons sries sans fils : 1 Le Bluetooth Lyce Eugne Livet - Nantes

    Cours 2h00

    les liaisons sries sans fils : 1- le Bluetooth Page 1/8 dc. 2012

    1- Introduction :

    Linformatique mobile permet aux utilisateurs de se dplacer tout en restant connects au rseau. Pour cela, les machines doivent disposer de communication sans fil utilisant des ondes radio ou lumineuses comme mode de transmission.

    Pour des solutions embarques (communication entre une carte Arduino et un PC), deux rseaux locaux radio peuvent tre utiliss :

    Bluetooth

    Wifi

    Ces deux technologies offrent :

    un cot dinstallation rduit,

    une facilit de mise en uvre,

    un dbit intressant (720 Kbits/s pour le Bluetooth, jusqu 22 Mbits/s pour le wifi),

    une distance limite (100 m pour le wifi et 10 m pour le Bluetooth).

    Le standard Wifi utilise des interfaces du mme type que Bluetooth, avec une puissance dmission plus leve, une porte plus importante qui peut atteindre 100 mtres, ainsi quun mode de modulation diffrent.

    2- Les applications du Bluetooth : La norme Bluetooth cre par Erikson et Nokia en 1999 est trs rpandue comme support de transmissions dinformations sans fil entre des lments situs proximit dune personne, cest le rseau WPAN (Wireless Personal Area Network) : Le nombre dappareils quips de cette technologie est en constante augmentation dans le monde et les applications sont dj trs nombreuses et varies :

    liaison sans fil entre un PC et ses priphriques, transfert de donnes entre un PC et un appareil photo ou un

    camscope,

    liaison main libre entre un tlphone portable et une oreillette ou un autoradio,

    liaison sans fil dans les appareils domestiques,

  • Les liaisons sries sans fils : 1- le Bluetooth Page 2/8 dc. 2012

    3- Les frquences de travail : Les frquences utilises par la technologie Bluetooth sont comprises entre 2400 et 2483,5 MHz. Ces frquences :

    sont divises en 79 canaux de 1MHZ

    ne ncessitent pas de licence dexploitation

    sont libres dutilisation lintrieur des btiments pour des puissances infrieures 10mW et lextrieur pour des puissances infrieures 4mW

    Certaines frquences sont communes avec la transmission wifi (bandes beiges).

    4- Topologie du rseau : Bluetooth est un rseau de type ad-hoc , cest--dire sans station de base et est auto-configurable : deux entits dans un mme secteur gographique peuvent changer des donnes aprs stre reconnues. Lensemble des appareils relis dans un mme secteur gographique dfinit un espace de communication appel piconet. Ce rseau prend en charge jusqu huit lments actifs, un maitre et sept esclaves, et 200 lments inactifs.

    Lappareil qui initie lchange joue le rle du matre, tous les autres sont les esclaves.

    Le Matre impose son horloge aux esclaves (synchronisation) et les frquences de travail.

    Les appareils inactifs prsents dans la zone gographique sont en attente, mode stand-by , ou dconnect, mode park .

    Deux esclaves peuvent communiquer entre eux mais les informations transitent obligatoirement par le matre.

    Les rseaux piconet peuvent tre interconnects entre eux, avec un maximum de dix, pour former un rseau de diffusion appel scatternet .

    Le matre dun piconet peut devenir lesclave du matre dun autre piconet.

    Un esclave peut tre lesclave de plusieurs matres.

    Un esclave peut se dtacher provisoirement dun matre pour communiquer avec un autre matre puis revenir vers le premier la fin de la communication.

  • Les liaisons sries sans fils : 1- le Bluetooth Page 3/8 dc. 2012

    5- Communications Bluetooth : La communication dune liaison entre deux appareils peut tre :

    synchrone ou SCO (Synchronous Connection Oriented Link) avec un dbit pouvant aller jusqu 433,9Kbit/s. Communication bidirectionnelle (Full duplex), utilise pour la parole en tlphonie.

    asynchrone ou ACL (Asynchronous Connection Less Link) avec un dbit pouvant aller jusqu 723,2Kbit/s.

    Une connexion Bluetooth peut raliser plusieurs communications :

    une seule communication SCO.

    un matre peut grer jusqu trois SCO en simultan.

    un esclave ne peut prendre en charge quun maximum de deux canaux SCO distincts. Pour se prmunir des perturbations extrieures (parasitage de la communication), la transmission radio Bluetooth utilise une technique dtalement de spectre qui consiste utiliser une bande de frquence beaucoup plus large que celle ncessaire et effectue des sauts de frquences rgulirement. Chaque transmission utilise donc les 79 canaux et occupe donc toute la bande passante soit environ 80MHz pour un dbit maximal de 1Mbit/s. Principe du fonctionnement par saut de frquence :

    Les sauts en frquence dans le standard Bluetooth fonctionnent de la faon suivante :

    l'information est transmise sur une frquence pendant un time-slot de 625 s, puis l'metteur passe sur la frquence suivante.

    les sauts en frquence (1/625s = 1600 sauts par seconde) ont une amplitude de 6 MHz au minimum et sont dtermins par calcul partir de ladresse du matre et de lhorloge.

    ils sont donc aussi connus par le rcepteur qui change de frquence de manire synchrone avec l'metteur pour rcuprer le signal transmis.

    chaque rseau piconet utilise une succession de frquences diffrentes, et la probabilit pour que 2 rseaux piconet se retrouvent sur la mme frquence reste faible (collision).

    les collisions sont gres par retransmission du paquet.

    Les signaux perturbateurs occupant une bande spectrale limite ne perturberont donc la liaison que de temps en temps et pour une dure limite un time-slot soit 625 s. Les appareils dun mme rseau piconet doivent possder la mme suite de sauts de frquences. Le matre fournit donc tous les esclaves son horloge et son identifiant de terminal (device ID). Lorsquun nouvel appareil souhaite se connecter un rseau piconet existant, il doit au pralable reconnaitre lensemble des sauts de frquences pour pouvoir les respecter.

  • Les liaisons sries sans fils : 1- le Bluetooth Page 4/8 dc. 2012

    Porte de la liaison Bluetooth : La porte dune liaison radio frquence dpend :

    de la puissance mise : il existe trois catgories de puissance dmission (classe 1 :100mW, classe 2 : 2,5mW et la classe 3 : 1mW).

    du gain des antennes : il existe des modules Bluetooth avec antenne intgre (FB155BC) ou avec antenne dporte (FB155BS).

    de lenvironnement : Londe radio peut traverser certains corps ou peut tre difracte par des obstacles conducteurs.

    6- Transmission des informations :

    Pour la transmission, les donnes sont regroupes en paquets et associes des informations dadresse et de description du paquet. Le matre envoie un paquet et lesclave lui rpond en transmettant aussi un paquet. Chaque paquet est constitu :

    dun code daccs (72 bits) : chaque paquet dbute par un code daccs compos du code de canal ou CAC

    (Chanel Access Code) propre un piconet, du code de composant ou DAC ( Device Access Code ) utilis pour le paging et du code de recherche ou IAC (Inquiry Access Code) si le matre recherche dautres quipements Bluetooth du piconet.

    dun entte (54 bits) : ce champ contient dans lordre ladresse de lesclave (code sur 3 bits, soit 7 max) qui change des donnes, le type de paquet et des bits de contrle (erreurs, buffer de rception ).

    des donnes binaires : la taille est variable et peut aller jusqu 240 bits.

    Bluetooth peut utiliser des paquets de donnes :

    courts : (1 time-slot, 240 bits au maximum),

    moyens : (3 time-slot,1480 bits max)

    longs: (5 time-slot,2745 bits max).

    Dans les 2 derniers cas le saut de frquence ne se fait pas la fin du time-slot, mais aprs transmission du paquet complet.

    Le dbit maximal de 732 kbits/s est obtenu en transmission asymtrique avec un paquet long dans un sens et court dans lautre.

  • Les liaisons sries sans fils : 1- le Bluetooth Page 5/8 dc. 2012

    En fonction de la taille des paquets utiliss, le dbit peut varier dans une large mesure:

    paquet long dans un sens, court dans lautre : D1= 2745 bits/6x625s = 732 kbits/s D2= 240 bits/6x625s = 64 kbits/s.

    paquet moyen dans un sens, court dans lautre: D1= 1480 bits/4x625s = 592 kbits/s D2= 240 bits/4x625s = 96 kbits/s.

    paquet long dans les deux sens: D1= 2745 bits/10x625s = 439,2 kbits/s = D2

    7- La pile de protocole :

    En informatique de communication, on parle de pile lorsquune succession de couches matrielles et logicielles sont utilises pour grer le protocole dchange de donnes entre les units communicantes. Cest le cas par exemple pour les communications Ethernet, Wifi, Bluetooth, Xbee, etc. Dans un priphrique ou un composant bluetooth, cet empilement se prsente comme ci-contre. La couche Applications reprsente linterface avec lutilisateur qui peut tre visuelle en cas de transfert dinformations ou sonore en cas de transfert audio. La couche profils correspond aux types dutilisations quest capable de grer le composant ou le priphrique bluetooth (transmission de donnes, de fichiers, daudio, de vido, etc). Lutilisation dun composant bluetooth (comme le FB155 par exemple) se limite lutilisation de cette couche Profils . Les autres couches sont transparentes pour lutilisateur du composant. Elles soccupent notamment dencoder et/ou de crypter les donnes, de grer la connexion entre le maitre et lesclave, de slectionner le canal, etc

    8- Les profils : Un profil correspond une utilisation spcifique dun priphrique ou dun composant. Il existe 25 profils diffrents mais les plus utiliss sont :

    SPP : Serial Port Profile (ex: liaison srie)

    HS Profile : Headset Profile (ex: oreillette)

    DUN Profile : Dial-up Networking Profile (ex: point daccs internet)

    FTP : File Transfer Profile (ex: transfert de fichier)

    A2DP : Advanced Audio Distribution Profile (ex : enceinte stro)

    HFP : HandsFree Profile (ex: kit main libre)

    HIDP : Human Interface Device Profile (ex: souris ou clavier sans fil)

    Les modules ou les priphriques bluetooth sont conus pour grer un ou plusieurs profils la fois. Par exemple,

    le module FB155 ne gre que le profil SPP et donc est spcialis dans le transfert dinformations sries.

    Dautres peuvent tre spcialiss dans le transfert audio comme pour le profil HS par exemple (oreillette

    bluetooth) ou le profil A2DP pour une enceinte stro bluetooth.

    Lorsquon conoit un systme utilisant la technologie bluetooth, il convient de prvoir le module bluetooth

    adapt lapplication mise ne uvre.

    Les ordinateurs intgrent en gnral la gestion des profils les plus utiliss (liste ci-dessus correspondant aux

    normes bluetooth 2.0 et 3.0), les tablettes et les smartphones haut de gamme galement mais il vaut mieux

    vrifier dans les caractristiques pour les autres. Lutilisation de certains profils peut galement tre

  • Les liaisons sries sans fils : 1- le Bluetooth Page 6/8 dc. 2012

    volontairement bloque par le fabricant comme cest la cas du SPP sur les iphone/ipad ce qui rend la mise en

    uvre dun priphrique SPP complexe et couteuse.

    Remarque : la diffrence entre le bluetooth 2.0 et le bluetooth 3.0 ne concerne que le dbit de transmission et

    pas les profils.

    9- Application : communication entre une platine Arduino uno quipe du module FB155BC et un PC : On souhaite piloter deux leds partir du clavier dun PC et de connatre leurs tats lcran.

    9-1 Prparation module Arduino : Implanter le fichier FB155-1.ino dans le module Arduino. (Voir page 6)

    Attention : Le module FB155 ne doit pas tre raccord lorsque vous tlchargez le programme dans le module Arduino sil est connect sur les

    broches RX (0) et TX (1) de celui-ci.

    9-2 Cblage de la structure :

    Avant toute manipulation et essais de communication, il convient de bien raccorder le module FB155BC au

    module Arduino. Le cblage minimal est une liaison 4 fils (sans contrle de flux). Identification des broches du module FB155BC.

    1 GND : A raccorder au 0V.

    2 VCC : A raccorder au +3,3V.

    7 TXD : A raccorder au TXD de lArduino.

    8 RXD : A raccorder au RXD de lArduino.

    Production du 3,3V continu : Le schma ci-contre propose une solution pour obtenir une tension continue de 3,3V partir de lalimentation 5V continu de lArduino.

    Remarque : deux diodes montes en srie permettent galement de faire

    chuter lalimentation de 5V 3.6V

    9-3 Paramtrage de la liaison :

    La configuration usine du module FB155BC est :

    Type Valeur

    Nom du module FB155vx.x.x

    Pin Code (Pass Key) BTWIN

    Paramtrage liaison srie (vitesse, donnes, parit, bit de stop) 9600, 8, N, 1

    Rle Esclave

    Mode de connexion Mode 4 (commandes AT)

    Caractre de dbuggage 0x02

    Le module FB155BC sera donc esclave de lhyperterminal du PC qui sera le matre.

  • Les liaisons sries sans fils : 1- le Bluetooth Page 7/8 dc. 2012

    9-4 Prparation de la rception de la liaison Bluetooth sur le PC :

    Lordinateur doit tre quip dune connexion Bluetooth afin de pouvoir communiquer avec le module Arduino. Pour cela, il sera peut tre ncessaire dinstaller une clef Bluetooth (dongle). Un logiciel de connexion Blutooth comme Bluesoleil peut tre utilis pour trouver le module FB155 et tablir la communication avec le PC. Figure ci-contre : Le module FB155V2.2.1 est bien reconnu et la liaison est tablie sur le port srie COM6.

    9-5 Vrifications de lapplication :

    Ouvrir une nouvelle connexion avec lhyperterminal Windows de lordinateur. Donner lui le nom Master et lui prciser le port srie COM6 . Paramtrer les paramtres du port comme celui du module FB155. Vous pouvez piloter les leds vertes et rouges de votre platine en appuyant sur les touches 0, 1, 2 et 3 du clavier.

    Donnes :

    Led verte raccorde sur la broche 13,

    Led rouge raccorde sur la broche 12, Touches clavier :

    0 : extinction led verte,

    1 : allumage led verte,

    2 : extinction led rouge,

    3 : allumage led rouge. Rsultats obtenus sur lhyperterminal du PC.

    10- Programme PB155_1 :

    char a;

    int led = 13;

    int ledr= 12;

    void setup()

    {

    pinMode(led, OUTPUT);

    pinMode(ledr, OUTPUT);

    Serial.begin(9600);

    Serial.print("AT+BTSCAN\r");

    delay(500);

    }

    Void loop()

    {

    if ( Serial.available()>0 )

    {

    a = Serial.read();

    if (a=='1')

    {

    digitalWrite(led, HIGH);

    Serial.println("Led verte allumee");

    }

    if (a=='0')

    {

    digitalWrite(led, LOW);

    Serial.println("Led verte eteinte");

    }

    if (a=='2')

    {

    digitalWrite(ledr, LOW);

    Serial.println("Led rouge eteinte");

    }

    if (a=='3')

    {

    digitalWrite(ledr, HIGH);

    Serial.println("Led rouge allumee");

    }

    }

  • Les liaisons sries sans fils : 1- le Bluetooth Page 8/8 dc. 2012

    11- Commandes AT : Descriptions des commandes AT utiles entre un PC et un module Bluetooth FB155.

    Commandes Significations Retours de FB155

    AT Vrifier si le module est connect au PC OK

    ATZ Effectue un reset logiciel du module FB155 -

    AT&F Effectue un reset matriel du module FB155 OK

    AT+BTINFO? Transmet ltat du module au PC STANDBY PENDING CONNECT

    AT+BTRSSI? Transmet la sensibilit de la transmission 0 = bonne

    -255 ~ 255

    AT+BTLQ? Transmet la qualit de la transmission 255 = bonne

    -255 ~ 255

    +++ Passer du mode Bypass au mode Standby OK ATO Passer du mode Standby au mode Bypass OK AT+BTCANCEL Arrt du travail effectu par le module FB155. OK AT+BTSCAN Permet de demander au module de se connecter OK ATD Attendre la connexion avec le dernier module

    connect. OK

    ATH Dconnexion avec le module FB155. OK DISCONNECT AT+BTLPM,n Permet dactiver (n=1) ou non (n=0)

    le mode Low Power OK

    AT+BTUART,b(baud rate),p(parity bit),s(stop bit)

    Permet de changer les paramtres de communication de la liaison srie.

    OK

    AT+BTSEC,n(Authentication),n(Encryption)

    Permet lautorisation (n=1) ou non (n=0) de lauthentification et de lencryptage des donnes.

    OK

    AT+BTMODE,n Paramtrer le mode du module FB155 (n=1 4). OK AT+BTMSG,n Autorise (n=1) ou non (n=0) les messages. OK AT+BTNAME=xxxxxxxxxxxx Change le nom du module FB155. OK AT+BTKEY=xxxxxxxxxxxx Change le Pin Code du module FB155. OK AT+BTLT=nn Paramtre lintervalle entre deux connexions

    (0 99s) OK

    AT+BTROLE=x Slectionne le matre (x=M) ou lesclave (x=S). OK AT+SETDEBUG,nn Change le caractre de dbuggage (0x02). OK AT+BTADDR=123456789012 Change ladresse de la dernire connexion. OK AT+BTFASTCH,n Autorise ou non la communication rapide

    (n=1 :200ms) entre deux modules ou non (n=0 :800ms).

    OK