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

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 228 : Ligne 228 :
  
 
== AT+BLEHIDMOUSEBUTTON ==
 
== AT+BLEHIDMOUSEBUTTON ==
Manipulates the HID mouse buttons via the specific string(s).
+
Permet de manipuler les boutons de la souris HID à l'aide de textes spécifiques.
 
* Codebase Revision: 0.6.6
 
* Codebase Revision: 0.6.6
* Parameters: Button Mask String [L][R][M][B][F], Action [PRESS][CLICK][DOUBLECLICK][HOLD]
+
* Paramètres: '''Bouton''' à l'aide [L][R][M][B][F], '''Action''' à l'aide de [PRESS][CLICK][DOUBLECLICK][HOLD]
** L = Left Button
+
** Bouton:
** R = Right Button
+
*** L = Bouton gauche, ''Left Button''
** M = Middle Button
+
*** R = Bouton droit, ''Right Button''
** B = Back Button
+
*** M = Bouton du milieu, ''Middle Button''
** F = Forward Button
+
*** B = Bouton "en Arrière", ''Back Button''
** If the second parameter (Action) is "HOLD", an optional third parameter can be passed specifying how long the button should be held in milliseconds.
+
*** F = Bouton "en avant", ''Forward Button''
* Output: None
+
** Action:
 +
*** PRESS = presser le bouton
 +
*** CLICK = cliquer le bouton
 +
*** DOUBLECLICK = double cliquer le bouton
 +
*** HOLD = maintenir le bouton
 +
** 3ieme paramètre:
 +
*** Si le second paramètre (Action) est "HOLD", un 3ième paramètre optionnel permet de spécifier combien de temps le bouton doit être maintenu pressé (en millisecondes).
 +
* Aucune: Aucune
  
  <nowiki># Double click the left mouse button
+
  <nowiki># Double cliquer le bouton gauche
 
AT+BLEHIDMOUSEBUTTON=L,doubleclick
 
AT+BLEHIDMOUSEBUTTON=L,doubleclick
 
OK
 
OK
  
# Press the left mouse button down, move the mouse, then release L
+
# Presser le bouton gauche, bouger la souris, puis relâcher le bouton
# This is required to perform 'drag' then stop type operations
+
# Cela permet de réaliser une opération 'glisser-déposer'
 
AT+BLEHIDMOUSEBUTTON=L
 
AT+BLEHIDMOUSEBUTTON=L
 
OK
 
OK
Ligne 252 : Ligne 259 :
 
OK
 
OK
 
    
 
    
# Hold the backward mouse button for 200 milliseconds (OS dependent)
+
# Maintient le bouton "en arrière" de la souris pendant 200 milli-secondes (Dépendant de l'OS)
 
AT+BLEHIDMOUSEBUTTON=B,hold,200
 
AT+BLEHIDMOUSEBUTTON=B,hold,200
 
OK</nowiki>
 
OK</nowiki>

Version du 17 juin 2017 à 15:39


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.

Services BLE

Les commandes suivantes vous permettent d'interagir avec les différents services GATT présent sur les modules Bluefruit LE lorsque celui-ci fonctionne en mode commande.

Le service GATT et ses caractéristiques (Adafruit, anglais) gouvernent l'organisation et l'échange de données entre les périphériques.

AT+BLEUARTTX

Cette commande transmet le message texte spécifié en paramètre via le Service UART pendant que le module fonctionne en mode commande.

  • Codebase Revision: 0.3.0
  • Paramètre: Le payload (données) à transmettre. Le payload peut faire jusqu'à 240 caractères (étant donné que les commandes AT sont limitées à un maximum de 256 octet).
  • Sortie: Cette commande produit le message erreur ERROR s'il n'est pas possible de se connecter sur le périphérique central, ou si la mémoire tampon d'émission interne du BluFruit (internal TX FIFO) est remplie.

Sur un firmware 0.6.2 et supérieur, AT+BLEUARTTX peut accepter quelques séquences d'échappements:

  • \r = retour clavier
  • \n = Nouvelle ligne
  • \t = Tabulation
  • \b = retour en arrière (backspace)
  • \\ = Anti-slash

Sur un firmware 0.6.7 et supérieur, AT+BLEUARTTX peut accepter la séquence d'échappement suivante (puisque AT+BLEUARTTX=? à une signification particulière pour le parseur AT):

  • \? = transmet un simple point d'interrogation

Sur un firmware 0.7.6 et supérieur, AT+BLEUARTTX peut accepter les séquences d'échappement suivantes:

  • \+ = Transmet un simple caractère '+' sans avoir à s’inquiéter de la combinaison de `+++` (changement de mode)
# Envoi une chaîne de caractère lorsqu'il 
# est connecté sur un autre périphérique
AT+BLEUARTTX=THIS IS A TEST
OK
  
# Réponse lorsque le Bluefruit n'est pas connecté 
# sur un autre périphérique
AT+BLEUARTTX=THIS IS A TEST
ERROR

Gestion de la mémoire tampon de réception

Depuis le firmware 0.6.7, lorsque la mémoire tampon FIFO d'émission est saturée (TX FIFO buffer), un délai bloquant de 200ms est utilisé pour voir si de l'espace se libère dans la pile FIFO avant de retourner une erreur (le message "ERROR"). Le processus exact est détaillé dans le graphique suivant:

Bluefruit-LE-Shield-BLE-Services-00.jpg

Vous pouvez utiliser la commande AT+BLEUARTFIFO=TX pour vérifier la taille du buffer FIFO d'émission avant d'envoyer des donnée. Cela permet de s'assurer qu'il y a assez de place libre dans le buffer.

La mémoire tampon (buffer) d'émission à la taille suivante (la taille dépend de la version du Firmware utilisé):

  • Firmware <=0.6.6: 160 caractères
  • Firmware >=0.6.7: 1024 caractères

AT+BLEUARTTXF

C'est une fonction commode qui réalise la même fonction que AT+BLEUARTTX mais un envoi immédiat dans un simple packet BLE ('F' pour Forcer le paquet). Cette commande acceptera un maximum de 20 caractères, ce qui est la limite de ce qui peut être envoyé dans un seul paquet.

  • Codebase Revision: 0.7.6
  • Paramètres: voyez AT+BLEUARTTX
  • Sortie: voyez AT+BLEUARTTX

AT+BLEUARTRX

Cette commande fait un dump de la mémoire tampon de réception du service UART sur l'écran (si le service UART à reçu des données pendant l'exécution en mode de commande). Les données seront retirée de la mémoire tampon une fois affichées en utilisant cette commande.

Tout caractère laissé dans la mémoire tampon en repassant en mode Data provoquera l'affichage des caractères de la mémoire tampon dès la fin du changement de mode (dans les limites de l'espace disponible dans la mémoire tampon, qui est de 1024 octets --ou 160 octets pour pour la première génération des cartes BLEFriend).

  • Codebase Revision: 0.3.0
  • Paramètres: Aucun
  • Sortie: Le contenu de la mémoire tampon en réception (RX buffer) s'il y en a des données disponibles. Sinon rien.
# Résultat de la commande lorsqu'il y en a de disponible
AT+BLEUARTRX
Sent from Android
OK
  
# Résultat de la commande lorsqu'il n'y a pas de donnée disponible
AT+BLEUARTRX
OK

AT+BLEUARTFIFO

Cette commande retournera l'espace disponible dans les FIFOs de l'UART BLE (les mémoires tampons TX et RX). Si vous transmettez de grandes quantités de données, vous pourriez avoir besoin de vérifier si vous avez assez d'espace libre dans la mémoire tampon FIFO TX avant l'émission. Gardez à l'esprit que les paquet GATT individuels peuvent chacun contenir 20 octets (données utilisateur).

  • Codebase Revision: 0.6.7
  • Paramètre: exécuter cette commande sans paramètre retournera les valeurs (séparée par des virgules) indiquant l'espace disponible dans la mémoire tampon de d'émission (buffer TX), suivit de la mémoire tampon en réception (RX buffer). Pour faire une requête sur une mémoire tampon spécifique, vous pouvez exécuter la commande avec soit la valeur "TX" ou "RX" (Par exemple: "AT+BLEUARTFIFO=TX").
  • Sortie: L'espace libre dans les mémoires tampons en émission et réception (TX and RX FIFO buffer). S'il y a un paramètre complémentaire, seul le buffer concerné retourna l'information souhaitée.
AT+BLEUARTFIFO
1024,1024
OK

AT+BLEUARTFIFO=TX
1024
OK

AT+BLEUARTFIFO=RX
1024
OK

AT+BLEKEYBOARDEN

Cette commande va activer le support "GATT over HID" (GoH) - le support clavier, ce qui vous permet d'émuler un clavier sur les périphériques iOS et Android.

Par défaut, ce support clavier HID est désactivé. Par conséquent fixez BLEKEYBOARDEN à 1 puis effectuez une réinitialisation système avant que le "clavier" soit énuméré et apparaisse dans les préférences Bluetooth de votre téléphone (où il pourra être lié comme clavier BLE).

  • Codebase Revision: 0.5.0
  • Paramètres: 1 ou 0 (1 = activer, 0 = désactiver)
  • Sortie: Aucun
# Activer le support clavier BLE puis réinitialisation
AT+BLEKEYBOARDEN=1
OK
ATZ
OK
  
# Désactive le support clavier puis réinitialisation
AT+BLEKEYBOARDEN=0
OK
ATZ
OK

AT+BLEKEYBOARD

Envoi des données textes via l'interface clavier BLE (si elle a précédemment été activée avec AT+BLEKEYBOARDEN).

  • Codebase Revision: 0.5.0
  • Paramètre: la chaîne de caractère (incluant éventuellement des caractères d'échappement) à transmettre
  • Sortie: Aucune

Il est possible d'envoyer tout caractère Alpha-Numérique valide. Les séquences d'échappement suivantes sont supportées:

  • \r - Retour à la ligne (Carriage Return)
  • \n - Passer à la ligne suivante (Line Feed)
  • \b - Un caractère en arrière (Backspace)
  • \t - Une tabulation (Tab)
  • \\ - Un anti-slash (Backslash)

Depuis la version 0.6.7, vous pouvez également utiliser la séquence suivante pour envoyer un simple caractère ? seul). Car la commande 'AT+BLEKEYBOARD=?' à une autre interprétation pour l'interpréteur de commande:

  • \? - point d'interrogation
# Envoi une URI avec retour à la ligne (pour être exécuté dans Chrome, etc).
AT+BLEKEYBOARD=http://www.adafruit.com\r\n
OK
  
# Envoi un simple point d'interrogation (cas particulier du firmware 0.6.7+)
AT+BLEKEYBOARD=\?
OK

AT+BLEKEYBOARDCODE

Envoi une séquence brute (en hexadécimale) de codes de touche HID USB (des keycodes en anglais) vers l'interface clavier BLE incluant les codes de modification (Shift, Alt, Control,...). Accepte jusqu'à 6 caractères alpha-numériques.

  • Codebase Revision: 0.5.0
  • Paramètre: un ensemble de valeurs hexadécimales séparés par un tiret ('-'). Notez qu'il s'agit des valeurs des scancode HID, non des valeurs standards ASCII!
  • Sortie: Aucune

Cette commande accepte les valeurs ASCII encodées comme suit dans le payload hexadécimal, cela correspond à la façon dont "HID via GATT" envoi les données claviers:

  • octet 0: Code de modification (appelé modifier en anglais).
  • octet 1: Reservé (devrait toujours être 00)
  • octets 2..7: les valeurs hexadécimales pour les caractères encodés en ASCII (Vous pouvez saisir '00' s'il n'y a pas de caractères utilisés ou laisser vide les caractères en fin de commande)

Après avoir envoyé une séquence de code touche avec la commande AT+BLEKEYBOARDCODE, vous devez envoyer une seconde commande avec AT+BLEKEYBOARDCODE avec au moins deux caractères 00 pour indiquer que les touches sont relâchées!

# Envoyer 'abc' avec la touche majuscule/shift enfoncée
# permet d'obtenir 'ABC'
AT+BLEKEYBOARDCODE=02-00-04-05-06-00-00
OK
# Indiquer que les touches sont relâchées (obligatoire!)
AT+BLEKEYBOARDCODE=00-00
OK

Une liste des code touche HID peut être trouvé ici (voir la section 7).

Valeurs de modification

Ces valeurs de modification (dite modifier en anglais) permettent d'indiquer si plusieurs autres touches particulières sont également enfoncées (Shift, Alt, Ctrl, ...).

L'octet de modification peut avoir un ou plusieurs des bits suivants activés:

  • Bit 0 (0x01): Contrôle Gauche (Left Control)
  • Bit 1 (0x02): Majuscule Gauche (Left Shift)
  • Bit 2 (0x04): Alternatif Gauche (Left Alt)
  • Bit 3 (0x08): Window Gauche (Left Window)
  • Bit 4 (0x10): Contrôle Droit (Right Control)
  • Bit 5 (0x20): Majuscule Droite (Right Shift)
  • Bit 6 (0x40): Alternatif Droit (Right Alt)
  • Bit 7 (0x80): Window Droit (Right Window)

AT+BLEHIDEN

Cette commande active le support GoH (GATT over HID) permettant d'emuler un clavier, souris ou contrôle de média tels qu'ils sont supportés sur les périphériques iOS, Android, OSX et Windows 10. Le support HID est désactivé par défaut. Il est donc nécessaire de l'activer en fixant la valeur à 1 dans BLEHIDEN puis de faire une réinitialisation système avant que le périphérique HID soit énuméré et apparaisse sur votre périphérique centrale (votre smartphone).

  • Codebase Revision: 0.6.6
  • Paramètres: 1 = activer ou 0 = désactivé
  • Sortie: Aucune
# Activer le support "GATT over HID" du module Bluefruit LE
AT+BLEHIDEN=1
OK
  
# Réinitialiser le module pour activer la fonctionnalité
ATZ
OK

AT+BLEHIDMOUSEMOVE

Déplace la souris HID (ou fait un défilement si un nombre d'impulsion est précisé).

Toutes les valeurs sont des entiers 8 bits signées (-128 à +127). Les valeurs positives provoque un déplacement vers la droite / vers le bas. L'origine des coordonnées se trouvent dans le coin supérieur gauche.

  • Codebase Revision: 0.6.6
  • Paramètres: impulsions X (+/-), impulsions Y (+/-), rouge de défilement (+/-), défilement horizontal (+/-)
  • Sortie: Aucun
# Déplace la souris de 100 impulsions à droite et 100 impulsions vers le bas
AT+BLEHIDMOUSEMOVE=100,100
OK
  
# Faire un défilement de 20 pixels ou lignes (en fonction du contexte) vers le bas 
AT+BLEHIDMOUSEMOVE=,,20,
OK
  
# Défilement horizontal vers la droite (la fonctionnalité dépend de l'OS)
AT+BLEHIDMOUSEMOVE=0,0,0,100

AT+BLEHIDMOUSEBUTTON

Permet de manipuler les boutons de la souris HID à l'aide de textes spécifiques.

  • Codebase Revision: 0.6.6
  • Paramètres: Bouton à l'aide [L][R][M][B][F], Action à l'aide de [PRESS][CLICK][DOUBLECLICK][HOLD]
    • Bouton:
      • L = Bouton gauche, Left Button
      • R = Bouton droit, Right Button
      • M = Bouton du milieu, Middle Button
      • B = Bouton "en Arrière", Back Button
      • F = Bouton "en avant", Forward Button
    • Action:
      • PRESS = presser le bouton
      • CLICK = cliquer le bouton
      • DOUBLECLICK = double cliquer le bouton
      • HOLD = maintenir le bouton
    • 3ieme paramètre:
      • Si le second paramètre (Action) est "HOLD", un 3ième paramètre optionnel permet de spécifier combien de temps le bouton doit être maintenu pressé (en millisecondes).
  • Aucune: Aucune
# Double cliquer le bouton gauche
AT+BLEHIDMOUSEBUTTON=L,doubleclick
OK

# Presser le bouton gauche, bouger la souris, puis relâcher le bouton
# Cela permet de réaliser une opération 'glisser-déposer'
AT+BLEHIDMOUSEBUTTON=L
OK
AT+BLEHIDMOUSEMOVE=-100,50
OK
AT+BLEHIDMOUSEBUTTON=0
OK
  
# Maintient le bouton "en arrière" de la souris pendant 200 milli-secondes (Dépendant de l'OS)
AT+BLEHIDMOUSEBUTTON=B,hold,200
OK

AT+BLEHIDCONTROLKEY

Sends HID media control commands for the bonded device (adjust volume, screen brightness, song selection, etc.).

  • Codebase Revision: 0.6.6
  • Parameters: The HID control key to send, followed by an optional delay in ms to hold the button. Voir les valeurs ci-dessous.
  • Output: Normally none.

The control key string can be one of the following values:

  • System Controls (works on most systems)
    • BRIGHTNESS+
    • BRIGHTNESS-
  • Media Controls (works on most systems)
    • PLAYPAUSE
    • MEDIANEXT
    • MEDIAPREVIOUS
    • MEDIASTOP
  • Sound Controls (works on most systems)
    • VOLUME
    • MUTE
    • BASS
    • TREBLE
    • BASS_BOOST
    • VOLUME+
    • VOLUME-
    • BASS+
    • BASS-
    • TREBLE+
    • TREBLE-
  • Application Launchers (Windows 10 only so far)
    • EMAILREADER
    • CALCULATOR
    • FILEBROWSER
  • Browser/File Explorer Controls (Firefox on Windows/Android only)
    • SEARCH
    • HOME
    • BACK
    • FORWARD
    • STOP
    • REFRESH
    • BOOKMARKS

You can also send a raw 16-bit hexadecimal value in the '0xABCD' format as parameter. A full list of 16-bit 'HID Consumer Control Key Codes' can be found here (see section 12).

# Toggle the sound on the bonded central device
AT+BLEHIDCONTROLKEY=MUTE
OK

# Hold the VOLUME+ key for 500ms
AT+BLEHIDCONTROLKEY=VOLUME+,500
OK

# Send a raw 16-bit Consumer Key Code (0x006F = Brightness+)
AT+BLEHIDCONTROLKEY=0x006F
OK

AT+BLEHIDGAMEPADEN

Enables HID gamepad support in the HID service. By default the gamepad is disabled as of version 0.7.6 of the firmware since it causes problems on iOS and OS X and should only be used on Android and Windows based devices.

  • Codebase Revision: 0.7.6
  • Parameters: Whether the gamepad service should be enabled via one of the following values:
    • 1 ou on
    • 0 ou off
  • Output: If executed with no parameters, a numeric value will be returned indicating whether the battery service is enabled (1) or disabled (0).

AT+BLEHIDGAMEPAD

Sends a specific HID gamepad payload out over BLE

  • Codebase Revision: 0.7.0
  • Parameters: The following comma-separated parameters are available:
    • Axe x: LEFT, RIGHT: If X=-1 then 'LEFT' is pressed, if X=1 then 'RIGHT' is pressed, if X=0 then neither left nor right are pressed
    • Axe y: UP, DOWN: If Y=-1 then 'UP' is pressed, if Y=1 then 'DOWN' is pressed, if Y=0 then neither up nor down are pressed
    • Boutons: 0x00-0xFF, which is a bit mask for 8 button 0-7
  • Output: Nothing
# Press 'RIGHT' and 'Button0' at the same time
AT+BLEHIDGAMEPAD=1,0,0x01

# Press 'UP' and 'Button1' + 'Button0' at the same time
AT+BLEHIDGAMEPAD=0,-1,0x03

AT+BLEMIDIEN

Enables or disables the BLE MIDI service.

  • Codebase Revision: 0.7.0
  • Parameters: State, which can be one of:
    • 1 ou on
    • 0 ou off
  • Output: If executed with no parameters, it will return the current state of the MIDI service as an integer indicating if it is enabled (1) or disabled (0).
# Check the current state of the MIDI service
AT+BLEMIDIEN
1
OK

# Enable the MIDI Service
AT+BLEMIDIEN=1
OK

AT+BLEMIDIRX

Reads an incoming MIDI character array from the buffer.

  • Codebase Revision: 0.7.0
  • Parameters: None
  • Output: The midi event in byte array format
AT+BLEMIDIRX
90-3C-7F
OK

AT+BLEMIDITX

Sends a MIDI event to host.

  • Codebase Revision: 0.7.0
  • Parameters: The MIDI event in hex array format, which can be either:
    • A series of full MIDI events (up to 4 events)
    • Exactly 1 full MIDI event + several running events without status (up to 7)
  • Output: None
# Send 1 event (middle C with max velocity)
AT+BLEMIDITX=90-3C-7F
OK

# Send 2 events
AT+BLEMIDITX=90-3C-7F-A0-3C-7F
OK

# Send 1 full event + running event
AT+BLEMIDITX=90-3C-7F-3C-7F
OK

AT+BLEBATTEN

Enables the Battery Service following the definition from the Bluetooth SIG.

  • Codebase Revision: 0.7.0
  • Parameters: Whether the battery service should be enabled, via on of the following values:
    • 1 ou on
    • 0 ou off
  • Output: If executed with no parameters, a numeric value will be returned indicating whether the battery service is enabled (1) or disabled (0).

AT+BLEBATTVAL

Sets the current battery level in percentage (0..100) for the Battery Service (if enabled).

  • Codebase Revision: 0.7.0
  • Parameters: The percentage for the battery in the range of 0..100.
  • Output: If executed with no parameters, the current battery level stored in the characteristic.
# Set the battery level to 72%
AT+BLEBATTVAL=72
OK

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