Différences entre versions de « Bluefruit-LE-Shield-BLE-GAP »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(17 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
  
 
== BLE GAP ==
 
== BLE GAP ==
{{traduction}}
 
 
[https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gap GAP] (''Adafruit, Anglais'') qui signifie ''Generic Access Profile'' gouverne l'annonce et les connexions avec les périphériques Bluetooth Low Energy.
 
[https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gap GAP] (''Adafruit, Anglais'') qui signifie ''Generic Access Profile'' gouverne l'annonce et les connexions avec les périphériques Bluetooth Low Energy.
  
Ligne 27 : Ligne 26 :
  
 
== AT+GAPGETCONN ==
 
== AT+GAPGETCONN ==
{{traduction}}
 
 
 
Affiche le statut actuel de la connexion (si nous sommes connecté sur un autre périphérique BLE ou non).
 
Affiche le statut actuel de la connexion (si nous sommes connecté sur un autre périphérique BLE ou non).
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
Ligne 45 : Ligne 42 :
  
 
== AT+GAPDISCONNECT ==
 
== AT+GAPDISCONNECT ==
Disconnects to the external device if we are currently connected.
+
Déconnecter le module du périphérique centrale (smartphone).
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
* Parameters: None
+
* Paramètre: Aucun
* Output: None
+
* Sortie: Aucun
  
 
  <nowiki>AT+GAPDISCONNECT
 
  <nowiki>AT+GAPDISCONNECT
Ligne 54 : Ligne 51 :
  
 
== AT+GAPDEVNAME ==
 
== AT+GAPDEVNAME ==
Gets or sets the device name, which is included in the advertising payload for the Bluefruit LE module
+
Obtenir ou modifier le nom du module, celui qui est inclus dans le ''payload'' d'annonce du module Bluefruit LE
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
* Parameters:
+
* Paramètre:
** None to read the current device name
+
** Aucun pour lire le nom actuel du périphérique
** The new device name if you want to change the value
+
** Le nouveau nom du périphérique si vous voulez changer son nom
* Output: The device name if the command is executed in read mode
+
* Sortie: Le nom actuel du périphérique si la commande est exécutée en mode lecture.
  
{{ambox-stop|text=Updating the device name will persist the new value to non-volatile memory, and the updated name will be used when the device is reset. To reset the device to factory settings and clean the config data from memory run the AT+FACTORYRESET command.}}
+
{{ambox-stop|text=Le nom du module est stocké dans la mémoire non volatile. Ce nouveau nom est donc persistant. La modification est effective dès la réinitialisation du système (ATZ). Pour réinitialiser le périphérique aux valeurs d'usine et effacer les données de configuration, il faut utiliser la commande AT+FACTORYRESET }}
  
  <nowiki># Read the current device name
+
  <nowiki># Lecture du nom actuel du périphérique
 
AT+GAPDEVNAME
 
AT+GAPDEVNAME
 
UART
 
UART
 
OK
 
OK
 
    
 
    
# Update the device name to 'BLEFriend'
+
# Changer le nom du module BLE à 'BLEFriend'
 
AT+GAPDEVNAME=BLEFriend
 
AT+GAPDEVNAME=BLEFriend
 
OK
 
OK
# Reset to take effect
+
# Réinitialisation système pour appliquer les modifications
 
ATZ
 
ATZ
 
OK</nowiki>
 
OK</nowiki>
  
 
== AT+GAPDELBONDS ==
 
== AT+GAPDELBONDS ==
Deletes and bonding information stored on the Bluefruit LE module.
+
Efface les informations d'appairage stockés dans le module Bluefruit LE.
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
* Parameters: None
+
* Paramètres: Aucun
* Output: None
+
* Sortie: Aucun
  
 
  <nowiki>AT+GAPDELBONDS
 
  <nowiki>AT+GAPDELBONDS
Ligne 85 : Ligne 82 :
  
 
== AT+GAPINTERVALS ==
 
== AT+GAPINTERVALS ==
Gets or sets the various advertising and connection intervals for the Bluefruit LE module.
+
Retrouver ou modifier les différentes intervalles d'annonce et de connexion pour le module Bluefruit LE.
  
Be extremely careful with this command since it can be easy to cause problems changing the intervals, and depending on the values selected some mobile devices may no longer recognize the module or refuse to connect to it.
+
Soyez extrêmement attentif en utilisant cette commande puisque vous pouvez facilement provoquer des problèmes en modifiant les intervalles. En effet, certains téléphones mobile pourrait ne plus reconnaître le module ou refuser de s'y connecter.
  
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
* Parameters: If updating the GAP intervals, the following comma-separated values can be entered:
+
* Paramètres: Si vous désirez modifier les intervalles GAP, les données doivent être saisi dans l'ordre suivant (séparés avec des virgules):
** Minimum connection interval (in milliseconds)
+
** Minimum connection interval (Intervalle de connexion minimal, en millisecondes)
** Maximum connection interval (in milliseconds)
+
** Maximum connection interval (Intervalle de connexion maximal, en millisecondes)
** Fast Advertising interval (in milliseconds)
+
** Fast Advertising interval (Intervalle d'annonce rapide, en millisecondes)
** Fast Advertising timeout (in seconds)
+
** Fast Advertising timeout (Timeout d'annonce rapide, en millisecondes)
** >= 0.7.0: Low power advertising interval (in milliseconds), default = 417.5 ms
+
** >= 0.7.0: Low power advertising interval (Intervalle d'annonce en mode d'économie d'énergie, en millisecondes), 417.5 ms par défaut
  
{{ambox|text=To save power, the Bluefruit modules automatically drop to a lower advertising rate after 'fast advertising timeout' seconds. The default value is 30 seconds ('Fast Advertising Timeout'). The low power advertising interval is hard-coded to approximately 0.6s in firmware < 0.7.0. Support to control the low power interval was added in the 0.7.0 firmware release via an optional fifth parameter. }}
+
{{ambox|text=Afin d'économisé l'énergie, les modules Bluefruit passent en mode "''lower advertising rate''" (faible débit d'annonce) après avoir atteind le temps "''fast advertising timeout''" (en secondes). La valeur par défaut est de 30 secondes (''Fast Advertising Timeout''). L'intervalle "''low power advertising interval''" est hard-codé à environ 0.6s dans les firmwares avant < 0.7.0. La support du paramétrage "''low power interval''" à été ajouté dans le firmware 0.7.0 via un 5ieme paramètre optionnel. }}
  
Please note the following min and max limitations for the GAP parameters:
+
Voici les différentes limitations min et max pour les paramètres GAP:
* '''Absolute minimum connection interval''': 10ms
+
* '''Absolute minimum connection interval''' (minimum absolu pour l'intervalle de connexion): 10ms
* '''Absolute maximum connection interval''': 4000ms
+
* '''Absolute maximum connection interval''' (maximum absolu pour l'intervalle de connexion) : 4000ms
* '''Absolute minimum fast advertising interval''': 20ms
+
* '''Absolute minimum fast advertising interval''' (minimum absolu pour l'intervalle d'annonce rapide): 20ms
* '''Absolute maximum fast advertisting interval''': 10240ms
+
* '''Absolute maximum fast advertisting interval''' (maximum absolu pour l'intervalle d'annonce rapide): 10240ms
* '''Absolute minimum low power advertising interval''': 20ms
+
* '''Absolute minimum low power advertising interval''' (minimum absolu pour l'intervalle annonce en économie d'énergie): 20ms
* '''Absolute maximum low power advertising interval''': 10240ms
+
* '''Absolute maximum low power advertising interval''' (maximum absolu pour l'intervalle annonce en économie d'énergie): 10240ms
  
{{ambox-stop|text=If you only wish to update one interval value, leave the other comma-separated values empty (ex. ',,110,' will only update the third value, advertising interval).}}
+
{{ambox-stop|text=Si vous désirez uniquement modifier un intervalle alors laissez les autres valeurs -entre les virgules- vides (ex: ",,110," modifiera uniquement la 3ième valeur "advertising interval").}}
  
* Output: If reading the current GAP interval settings, the following comma-separated information will be displayed:
+
* Sortie: en lisant les paramètres d'intervalle GAP, les informations suivantes seront affichées (séparés par des virgules):
** Minimum connection interval (in milliseconds)
+
** Minimum connection interval (interval de connexion minimum, en milisecondes)
** Maximum connection interval (in milliseconds)
+
** Maximum connection interval (interval de connexion maximum, en milisecondes)
** Advertising interval (in milliseconds)
+
** Advertising interval (interval d'annonce, en milisecondes)
** Advertising timeout (in milliseconds)
+
** Advertising timeout (timeout d'annonce, en milisecondes)
  
{{ambox-stop|text= Updating the GAP intervals will persist the new values to non-volatile memory, and the updated values will be used when the device is reset. To reset the device to factory settings and clean the config data from memory run the AT+FACTORYRESET command.}}
+
{{ambox-stop|text=La modification des intervalles GAP est enregistré dans la mémoire non-volatile et les nouvelles valeurs seront utilisées après la réinitialisation du système. Pour réinitialiser le périphérique aux paramètres d'usine (et effacer vos paramètres de la mémoire), vous pouvez utiliser la commande AT+FACTORYRESET}}
  
  <nowiki># Read the current GAP intervals
+
  <nowiki># Lecture des différents intervales GAP
 
AT+GAPINTERVALS
 
AT+GAPINTERVALS
 
20,100,100,30
 
20,100,100,30
 
    
 
    
# Update all values
+
# Modification de tous les intervalles
 
AT+GAPINTERVALS=20,200,200,30
 
AT+GAPINTERVALS=20,200,200,30
 
OK
 
OK
 
    
 
    
# Update only the advertising interval
+
# Modifier uniquement l'intervalle d'annonce (advertising interval)
 
AT+GAPINTERVALS=,,150,
 
AT+GAPINTERVALS=,,150,
 
OK</nowiki>
 
OK</nowiki>
  
 
== AT+GAPSTARTADV ==
 
== AT+GAPSTARTADV ==
Causes the Bluefruit LE module to start transmitting advertising packets if this isn't already the case (assuming we aren't already connected to an external device).
+
Force le module Bluefruit LE commencer l'émission des paquets d'annonce si ce n'est pas déjà le cas (et en partant du principe qu'il n'est pas déjà connecté sur un pérhiphérique externe).
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
* Parameters: None
+
* Paramètre: Aucun
* Output: None
+
* Sortie: Aucun
  
  <nowiki># Command results when advertising data is not being sent
+
  <nowiki># Résultat de la commande lorsque le module n’émet pas de paquet d'annonce
 
AT+GAPSTARTADV
 
AT+GAPSTARTADV
 
OK
 
OK
 
    
 
    
# Command results when we are already advertising
+
# Résultat de la commande lorsque le Bluefruit émet déjà des paquets d'annonce
 
AT+GAPSTARTADV
 
AT+GAPSTARTADV
 
ERROR
 
ERROR
 
    
 
    
# Command results when we are connected to another device
+
# Résulatat de la commande lorque le module est déjà connecté sur un autre périphérique
 
AT+GAPSTARTADV
 
AT+GAPSTARTADV
 
ERROR</nowiki>
 
ERROR</nowiki>
  
 
== AT+GAPSTOPADV ==
 
== AT+GAPSTOPADV ==
Stops advertising packets from being transmitted by the Bluefruit LE module.
+
Arrête l'émission des paquets d'annonce depuis le module Bluefruit LE.
 
* Codebase Revision: 0.3.0
 
* Codebase Revision: 0.3.0
* Parameters: None
+
* Paramètre: Aucun
* Output: None
+
* Sortie: Aucun
  
 
   <nowiki>AT+GAPSTOPADV
 
   <nowiki>AT+GAPSTOPADV
Ligne 157 : Ligne 154 :
  
 
== AT+GAPSETADVDATA ==
 
== AT+GAPSETADVDATA ==
Sets the raw advertising data payload to the specified byte array (overriding the normal advertising data), following the guidelines in the [https://www.bluetooth.org/en-us/specification/adopted-specifications Bluetooth 4.0 or 4.1 Core Specification].
+
Surcharge les données du payload d'annonce avec le tableau d'octet spécifié en paramètre (remplace les données normalement utilisées dans le payload d'annonce normal). Le payload d'annonce du module suit les guidelines dans les [https://www.bluetooth.org/en-us/specification/adopted-specifications Spécifications Core Bluetooth 4.0 or 4.1].
  
In particular, '''Core Specification Supplement (CSS) v4''' contains the details on common advertising data fields like 'Flags' (Part A, Section 1.3) and the various Service UUID lists (Part A, Section 1.1). A list of all possible GAP Data Types is available on the Bluetooth SIG's [https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile Generic Access Profile] page.
+
En particulier, les '''Core Specification Supplement (CSS) v4''' contient des détails concernant les champs de données d'annonce habituels comme les 'Flags/drapeaux' (Partie A, Section 1.3) et une liste des UUID des différents services (Partie A, Section 1.1). Une liste de tous les types de donnée GAP possible est disponible sur la page Bluetooth SIG's [https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile Generic Access Profile].
  
The Advertising Data payload consists of [https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile Generic Access Profile] data that is inserted into the advertising packet in the following format: [U8:LEN] [U8:Data Type Value] [n:Value]
+
Le payload d'annonce est constitué de données [https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile GAP (''Generic Access Profile'')] insérées dans un paquet d'annonce au format: [U8:LEN] [U8:Data Type Value] [n:Value]
  
{{ambox-stop|text=WARNING: This command requires a degree of knowledge about the low level details of the Bluetooth 4.0 or 4.1 Core Specification, and should only be used by expert users. Misuse of this command can easily cause your device to be undetectable by central devices in radio range.}}
+
{{ambox-stop|text=ATTENTION : cette commande nécessite un certain degré de connaissances concernent les détails bas niveau des spécifications "Bluetooth 4.0 or 4.1 Core". Cette commande ne devrait être utilisée que par des utilisateurs expérimentés. Une mauvaise utilisation de cette commande rendra votre module indétectable par le périphérique central (votre SmartPhone).}}
{{ambox-stop|text=WARNING: This command will override the normal advertising payload and may prevent some services from acting as expected.}}
+
{{ambox-stop|text=ATTENTION : Cette commande remplace le payload d'annonce et peut empêcher certains services de fonctionner comme attendu.}}
{{ambox-stop|text=To restore the advertising data to the normal default values use the AT+FACTORYRESET command.}}
+
{{ambox|text=Vous pouvez utiliser la commande AT+FACTORYRESET pour restaurer le payload normal (celui par défaut).}}
  
For example, to insert the 'Flags' Data Type (Data Type Value 0x01), and set the value to 0x06/0b00000110 (BR/EDR Not Supported and LE General Discoverable Mode) we would use the following byte array:
+
Par exemple : pour insérer le type de donnée drapeau (''flags'', valeur "Data Type" 0x01) et utiliser la valeur 0x06/0b00000110 ("BR/EDR Not Supported" et "LE General Discoverable Mode"), il faut utiliser le tableau de données suivant:
  
 
  <nowiki>02-01-06</nowiki>
 
  <nowiki>02-01-06</nowiki>
  
* 0x02 indicates the number of bytes in the entry
+
* 0x02 indique le nombre d'octets dans l'entrée
* 0x01 is the 'Data Type Value' and indicates that this is a 'Flag'
+
* 0x01 indique la valeur 'type de donnée' (''Data Type Value'') qui indique que c'est un drapeau (''Flag'').
* 0x06 (0b00000110) is the Flag value, and asserts the following fields (see Core Specification 4.0, Volume 3, Part C, 18.1):
+
* 0x06 (0b00000110) est la valeur du drapeau (''Flag''). Il active les éléments suivants (voir les spécifications Bluetooth Core 4.0, Volume 3, Part C, 18.1):
** '''LE General Discoverable Mode''' (i.e. anyone can discover this device)
+
** '''LE General Discoverable Mode''' (tout le monde peut découvrir ce périphérique)
** '''BR/EDR Not Supported''' (i.e. this is a Bluetooth Low Energy only device)
+
** '''BR/EDR Not Supported''' (C'est un périphérique Bluetooth Low Energy uniquement)
  
If we also want to include two 16-bit service UUIDs in the advertising data (so that listening devices know that we support these services) we could append the following data to the byte array:
+
Si nous désirons également inclure deux UUIDs de services dans les informations d'annonces (pour que les périphériques distants savent que le module supporte ces services) alors nous pouvons ajouter les données suivantes au tableau d'octets:
  
 
  <nowiki>05-02-0D-18-0A-18</nowiki>
 
  <nowiki>05-02-0D-18-0A-18</nowiki>
  
* 0x05 indicates that the number of bytes in the entry (5)
+
* 0x05 indique le nombre d'octets en entrée (5)
* 0x02 is the '[https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile Data Type Value]' and indicates that this is an "'''Incomplete List of 16-bit Service Class UUIDs'''"
+
* 0x02 est la valeur indiquant le type de donnée ''[https://www.bluetooth.org/en-us/specification/assigned-numbers/generic-access-profile Data Type Value]''. Indique qu'il s'agit d'une liste incomplète de service UUIDs ('''Incomplete List of 16-bit Service Class UUIDs''')
* 0x0D 0x18 is the first 16-bit UUID (which translates to '''0x180D''', corresponding to the [https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.heart_rate.xml Heart Rate Service]).
+
* 0x0D 0x18 est le premier UUID 16 bits (que l'on converti en '''0x180D''') et correspond au service [https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.heart_rate.xml Heart Rate].
* 0x0A 0x18 is another 16-bit UUID (which translates to '''0x180A''', corresponding to the [https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.device_information.xml Device Information Service]).
+
* 0x0A 0x18 est un autre UUID 16 bits (que l'on converti en '''0x180A''') et correspondant au service [https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.device_information.xml Device Information].
  
{{ambox-stop|text= Including the service UUIDs is important since some mobile applications will only work with devices that advertise a specific service UUID in the advertising packet. This is true for most apps from Nordic Semiconductors, for example.}}
+
{{ambox-stop|text=Inclure les UUIDs des services est important puisque certaines applications mobiles ne fonctionnerons qu'avec des périphériques annonçant un service UUID spécifique dans les paquets d'annonce. C'est par exemple le cas pour la plupart des applications de Nordic Semiconductors.}}
  
 
*Codebase Revision: 0.3.0
 
*Codebase Revision: 0.3.0
* Parameters: The raw byte array that should be inserted into the advertising data section of the advertising packet, being careful to stay within the space limits defined by the Bluetooth Core Specification.
+
* Paramètres: le tableau d'octets brute qui devrait être inséré dans la section de donnée du bloc d'annonce. Veuillez à rester à l'intérieur de l'espace définit dans les spécifications Bluetooth Core.
* Response: None
+
* Réponse: Aucune
  
  <nowiki># Advertise as Discoverable and BLE only with 16-bit UUIDs 0x180D and 0x180A
+
  <nowiki># S'annoncer comme Découvrable et BLE uniquement avec
 +
# les UUIDs 16 bits 0x180D et 0x180A
 
AT+GAPSETADVDATA=02-01-06-05-02-0d-18-0a-18
 
AT+GAPSETADVDATA=02-01-06-05-02-0d-18-0a-18
 
OK</nowiki>
 
OK</nowiki>
  
The results of this command can be seen in the screenshot below, taken from a sniffer analyzing the advertising packets in Wireshark. The advertising data payload is higlighted in blue in the raw byte array at the bottom of the image, and the packet analysis is in the upper section:
+
Le résultat de cette commande est visible sur la capture d'écran ci-dessous. Capture obtenue à l'aide d'un sniffer capturant et analysant les paquets d'annonce dans Wireshark. Les données d'annonce (dans le payload) sont visibles en surbrillance (en bleu, dans le tableau d'octets en bas de l'image et l'analyse du paquet dans la section supérieure):
  
 
[[Fichier:Bluefruit-LE-Shield-BLE-GAP-00.png]]
 
[[Fichier:Bluefruit-LE-Shield-BLE-GAP-00.png]]
  
 
{{Bluefruit-LE-Shield-TRAILER}}
 
{{Bluefruit-LE-Shield-TRAILER}}

Version actuelle datée du 22 juin 2017 à 13:07


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

BLE GAP

GAP (Adafruit, Anglais) qui signifie Generic Access Profile gouverne l'annonce et les connexions avec les périphériques Bluetooth Low Energy.

Les commandes suivantes peuvent être utilisées pour configurer les paramètres GAP sur le module BLE.

Vous pouvez utiliser ces commandes pour modifier les données d'annonce (advertising data). Par exemple: le nom du périphérique tel qu'il doit apparaître sur votre smartphone durant le processus d'appairage. Les commandes permettent également de récupérer des informations concernant la connexion qui a été établie entre deux périphériques, ou la déconnexion si vous ne désirez pas maintenir une connexion.

AT+GAPCONNECTABLE

Cette commande est utilisé pour rendre le périphérique 'non connectable'.

  • Codebase Revision: 0.7.0
  • Paramètre: Indique si le périphérique doit (ou ne doit pas) s'annoncer comme "connectable". Utiliser une des valeurs suivantes:
    • 1 ou yes - s'annoncer comme connectable
    • 0 ou no - ne pas s'annoncer comme connectable
  • Sortie: Afficher l'état 'connectable' du périphérique si la commande est appelée sans paramètre
# Rendre le périphérique non-connectable (avertissement uniquement)
AT+GAPCONNECTABLE=0
OK

# Vérifier le statut "connectable" actuel du module. 
AT+GAPCONNECTABLE
1
OK

AT+GAPGETCONN

Affiche le statut actuel de la connexion (si nous sommes connecté sur un autre périphérique BLE ou non).

  • Codebase Revision: 0.3.0
  • Paramètres: Aucun
  • Sortie: 1 si connecté, sinon 0
# Connecté
AT+GAPGETCONN
1
OK
  
# Non connecté
AT+GAPGETCONN
0
OK

AT+GAPDISCONNECT

Déconnecter le module du périphérique centrale (smartphone).

  • Codebase Revision: 0.3.0
  • Paramètre: Aucun
  • Sortie: Aucun
AT+GAPDISCONNECT
OK

AT+GAPDEVNAME

Obtenir ou modifier le nom du module, celui qui est inclus dans le payload d'annonce du module Bluefruit LE

  • Codebase Revision: 0.3.0
  • Paramètre:
    • Aucun pour lire le nom actuel du périphérique
    • Le nouveau nom du périphérique si vous voulez changer son nom
  • Sortie: Le nom actuel du périphérique si la commande est exécutée en mode lecture.
# Lecture du nom actuel du périphérique
AT+GAPDEVNAME
UART
OK
  
# Changer le nom du module BLE à 'BLEFriend'
AT+GAPDEVNAME=BLEFriend
OK
# Réinitialisation système pour appliquer les modifications
ATZ
OK

AT+GAPDELBONDS

Efface les informations d'appairage stockés dans le module Bluefruit LE.

  • Codebase Revision: 0.3.0
  • Paramètres: Aucun
  • Sortie: Aucun
AT+GAPDELBONDS
OK

AT+GAPINTERVALS

Retrouver ou modifier les différentes intervalles d'annonce et de connexion pour le module Bluefruit LE.

Soyez extrêmement attentif en utilisant cette commande puisque vous pouvez facilement provoquer des problèmes en modifiant les intervalles. En effet, certains téléphones mobile pourrait ne plus reconnaître le module ou refuser de s'y connecter.

  • Codebase Revision: 0.3.0
  • Paramètres: Si vous désirez modifier les intervalles GAP, les données doivent être saisi dans l'ordre suivant (séparés avec des virgules):
    • Minimum connection interval (Intervalle de connexion minimal, en millisecondes)
    • Maximum connection interval (Intervalle de connexion maximal, en millisecondes)
    • Fast Advertising interval (Intervalle d'annonce rapide, en millisecondes)
    • Fast Advertising timeout (Timeout d'annonce rapide, en millisecondes)
    • >= 0.7.0: Low power advertising interval (Intervalle d'annonce en mode d'économie d'énergie, en millisecondes), 417.5 ms par défaut

Voici les différentes limitations min et max pour les paramètres GAP:

  • Absolute minimum connection interval (minimum absolu pour l'intervalle de connexion): 10ms
  • Absolute maximum connection interval (maximum absolu pour l'intervalle de connexion) : 4000ms
  • Absolute minimum fast advertising interval (minimum absolu pour l'intervalle d'annonce rapide): 20ms
  • Absolute maximum fast advertisting interval (maximum absolu pour l'intervalle d'annonce rapide): 10240ms
  • Absolute minimum low power advertising interval (minimum absolu pour l'intervalle annonce en économie d'énergie): 20ms
  • Absolute maximum low power advertising interval (maximum absolu pour l'intervalle annonce en économie d'énergie): 10240ms
  • Sortie: en lisant les paramètres d'intervalle GAP, les informations suivantes seront affichées (séparés par des virgules):
    • Minimum connection interval (interval de connexion minimum, en milisecondes)
    • Maximum connection interval (interval de connexion maximum, en milisecondes)
    • Advertising interval (interval d'annonce, en milisecondes)
    • Advertising timeout (timeout d'annonce, en milisecondes)
# Lecture des différents intervales GAP
AT+GAPINTERVALS
20,100,100,30
  
# Modification de tous les intervalles
AT+GAPINTERVALS=20,200,200,30
OK
  
# Modifier uniquement l'intervalle d'annonce (advertising interval)
AT+GAPINTERVALS=,,150,
OK

AT+GAPSTARTADV

Force le module Bluefruit LE commencer l'émission des paquets d'annonce si ce n'est pas déjà le cas (et en partant du principe qu'il n'est pas déjà connecté sur un pérhiphérique externe).

  • Codebase Revision: 0.3.0
  • Paramètre: Aucun
  • Sortie: Aucun
# Résultat de la commande lorsque le module n’émet pas de paquet d'annonce
AT+GAPSTARTADV
OK
  
# Résultat de la commande lorsque le Bluefruit émet déjà des paquets d'annonce
AT+GAPSTARTADV
ERROR
  
# Résulatat de la commande lorque le module est déjà connecté sur un autre périphérique
AT+GAPSTARTADV
ERROR

AT+GAPSTOPADV

Arrête l'émission des paquets d'annonce depuis le module Bluefruit LE.

  • Codebase Revision: 0.3.0
  • Paramètre: Aucun
  • Sortie: Aucun
 AT+GAPSTOPADV
OK

AT+GAPSETADVDATA

Surcharge les données du payload d'annonce avec le tableau d'octet spécifié en paramètre (remplace les données normalement utilisées dans le payload d'annonce normal). Le payload d'annonce du module suit les guidelines dans les Spécifications Core Bluetooth 4.0 or 4.1.

En particulier, les Core Specification Supplement (CSS) v4 contient des détails concernant les champs de données d'annonce habituels comme les 'Flags/drapeaux' (Partie A, Section 1.3) et une liste des UUID des différents services (Partie A, Section 1.1). Une liste de tous les types de donnée GAP possible est disponible sur la page Bluetooth SIG's Generic Access Profile.

Le payload d'annonce est constitué de données GAP (Generic Access Profile) insérées dans un paquet d'annonce au format: [U8:LEN] [U8:Data Type Value] [n:Value]

Par exemple : pour insérer le type de donnée drapeau (flags, valeur "Data Type" 0x01) et utiliser la valeur 0x06/0b00000110 ("BR/EDR Not Supported" et "LE General Discoverable Mode"), il faut utiliser le tableau de données suivant:

02-01-06
  • 0x02 indique le nombre d'octets dans l'entrée
  • 0x01 indique la valeur 'type de donnée' (Data Type Value) qui indique que c'est un drapeau (Flag).
  • 0x06 (0b00000110) est la valeur du drapeau (Flag). Il active les éléments suivants (voir les spécifications Bluetooth Core 4.0, Volume 3, Part C, 18.1):
    • LE General Discoverable Mode (tout le monde peut découvrir ce périphérique)
    • BR/EDR Not Supported (C'est un périphérique Bluetooth Low Energy uniquement)

Si nous désirons également inclure deux UUIDs de services dans les informations d'annonces (pour que les périphériques distants savent que le module supporte ces services) alors nous pouvons ajouter les données suivantes au tableau d'octets:

05-02-0D-18-0A-18
  • 0x05 indique le nombre d'octets en entrée (5)
  • 0x02 est la valeur indiquant le type de donnée Data Type Value. Indique qu'il s'agit d'une liste incomplète de service UUIDs (Incomplete List of 16-bit Service Class UUIDs)
  • 0x0D 0x18 est le premier UUID 16 bits (que l'on converti en 0x180D) et correspond au service Heart Rate.
  • 0x0A 0x18 est un autre UUID 16 bits (que l'on converti en 0x180A) et correspondant au service Device Information.
  • Codebase Revision: 0.3.0
  • Paramètres: le tableau d'octets brute qui devrait être inséré dans la section de donnée du bloc d'annonce. Veuillez à rester à l'intérieur de l'espace définit dans les spécifications Bluetooth Core.
  • Réponse: Aucune
# S'annoncer comme Découvrable et BLE uniquement avec 
# les UUIDs 16 bits 0x180D et 0x180A
AT+GAPSETADVDATA=02-01-06-05-02-0d-18-0a-18
OK

Le résultat de cette commande est visible sur la capture d'écran ci-dessous. Capture obtenue à l'aide d'un sniffer capturant et analysant les paquets d'annonce dans Wireshark. Les données d'annonce (dans le payload) sont visibles en surbrillance (en bleu, dans le tableau d'octets en bas de l'image et l'analyse du paquet dans la section supérieure):

Bluefruit-LE-Shield-BLE-GAP-00.png


Basé sur "Bluefruit LE Shield" d'Adafruit Industries, écrit par Kevin Townsend - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction".

Based on "Bluefruit LE Shield" from Adafruit Industries, written by Kevin Townsend - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit).

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com