Modifications

Sauter à la navigation Sauter à la recherche
505 octets ajoutés ,  3 août 2017 à 21:03
Ligne 1 : Ligne 1 :  
{{Bluefruit-LE-Shield-NAV}}
 
{{Bluefruit-LE-Shield-NAV}}
   −
{{traduction}}
+
== Mon Bluefruit LE peut-il dialoguer avec un périphérique 'Classic Bluetooth' ? ==
 
  −
== Puis-je dialoguer avec un périphérique 'Classic Bluetooth' avec un Bluefruit LE? ==
   
Non. Bluetooth Low Energy et Bluetooth 'Classic' sont deux parties d'une même noyau de spécification Bluetooth (''Bluetooth Core Specification'') -- définie et maintenue par le Bluetooth SIG -- mais sont des protocoles complètements différents fonctionnant avec des contraintes et des exigences différentes. Les deux protocoles ne peuvent pas dialoguer directement.
 
Non. Bluetooth Low Energy et Bluetooth 'Classic' sont deux parties d'une même noyau de spécification Bluetooth (''Bluetooth Core Specification'') -- définie et maintenue par le Bluetooth SIG -- mais sont des protocoles complètements différents fonctionnant avec des contraintes et des exigences différentes. Les deux protocoles ne peuvent pas dialoguer directement.
   Ligne 13 : Ligne 11 :  
Les produits à base de '''nRF51'''8322 (comme celui utilisé dans ce guide) ne sont '''PAS''' capable de fonctionner en mode Centrale parce qu'il n'est pas supporté par le firmware qu'il utilise. Il n'est pas possible de faire une mise-à-jour en toute sécurité sans utiliser un matériel spécial.
 
Les produits à base de '''nRF51'''8322 (comme celui utilisé dans ce guide) ne sont '''PAS''' capable de fonctionner en mode Centrale parce qu'il n'est pas supporté par le firmware qu'il utilise. Il n'est pas possible de faire une mise-à-jour en toute sécurité sans utiliser un matériel spécial.
   −
== Pourquoi aucun de mes changements ne persiste lorsque lorsque j'utilise un croquis d'exemple ? ==
+
== Pourquoi mes changements ne persiste t'il pas lorsque j'utilise un croquis d'exemple ? ==
 
La plupart des croquis effectuent une réinitialisation d'usine (FACTORY RESET) pour être certain que le module Bluefruit LE soit dans un état connu avant d'exécuter le croquis de démo.
 
La plupart des croquis effectuent une réinitialisation d'usine (FACTORY RESET) pour être certain que le module Bluefruit LE soit dans un état connu avant d'exécuter le croquis de démo.
   Ligne 22 : Ligne 20 :  
Si vous ne voyez pas le flag/drapeau 'FACTORYRESET_ENABLE' dans le fichier .ino c'est que vous avez probablement une ancienne version de la bibliothèque. Vous pourriez avoir besoin de faire une mise-à-jour de la bibliothèque via le gestionnaire de bibliothèque Arduino.
 
Si vous ne voyez pas le flag/drapeau 'FACTORYRESET_ENABLE' dans le fichier .ino c'est que vous avez probablement une ancienne version de la bibliothèque. Vous pourriez avoir besoin de faire une mise-à-jour de la bibliothèque via le gestionnaire de bibliothèque Arduino.
   −
== Ai-je besoin de CTS et RTS sur mon module UART Bluefruit LE ? ==
+
== Ai-je besoin de CTS et RTS avec mon module UART Bluefruit LE ? ==
 
Utiliser CTS et RTS n'est strictement nécessaire lorsque l'on utilise une connexion série matérielle (''HW serial'') mais elle devrait être utilisé lors d'une connexion série logicielle (''SW serial'') pour réguler le flux de donnée et éviter de perdre des octets. Il est également recommandé d'utiliser CTS et RTS si vous avez beaucoup de données à transférer.
 
Utiliser CTS et RTS n'est strictement nécessaire lorsque l'on utilise une connexion série matérielle (''HW serial'') mais elle devrait être utilisé lors d'une connexion série logicielle (''SW serial'') pour réguler le flux de donnée et éviter de perdre des octets. Il est également recommandé d'utiliser CTS et RTS si vous avez beaucoup de données à transférer.
   Ligne 147 : Ligne 145 :  
* Maintenant, vous devriez être capable de voir toutes les releases BETA disponible dans le dépôt github.
 
* Maintenant, vous devriez être capable de voir toutes les releases BETA disponible dans le dépôt github.
   −
==  Pourquoi ne puis-je pas voir mon périphérique Bluefruit LE après un upgrade à Android 6.0? ==
+
==  Pourquoi ne puis-je pas/plus voir mon périphérique Bluefruit LE après un upgrade à Android 6.0? ==
 
Il y a eu [http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id quelques changement de sécurité important] dans Android 6.0 et cela affecte les périphériques Bluetooth Low Energy. Si les services de localisations ne sont pas disponibles (signifiant que le GPS est désactivé) vous ne serez pas capable de détecter les paquets d'annonce des périphériques Bluetooth Low Energy. Voyez [https://code.google.com/p/android/issues/detail?id=190372&q=GPS&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars les détails ici].
 
Il y a eu [http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id quelques changement de sécurité important] dans Android 6.0 et cela affecte les périphériques Bluetooth Low Energy. Si les services de localisations ne sont pas disponibles (signifiant que le GPS est désactivé) vous ne serez pas capable de détecter les paquets d'annonce des périphériques Bluetooth Low Energy. Voyez [https://code.google.com/p/android/issues/detail?id=190372&q=GPS&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars les détails ici].
   Ligne 196 : Ligne 194 :     
== Est-il possible de modifier ou désactiver les services GATT et caractéristiques (DIS, DFU, etc.)? ==
 
== Est-il possible de modifier ou désactiver les services GATT et caractéristiques (DIS, DFU, etc.)? ==
Non, ce n'est malheureusement pas possible. Adafruit s'appuie sur la spécification du "[https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.device_information.xml Device Information Service]" (DIS) pour savoir quel sont les versions du firmware et du bootloader fonctionnant sur le module BlueFruit LE. Bluefruit LE Connect ne pourra pas offrir de mise-à-jour Firmware sans disposer d'information fiable (comme celles offertes par DIS), raison pour laquelle ces deux information sont obligatoire et en lecture seule.
+
Non, ce n'est malheureusement pas possible. Adafruit s'appuie sur la spécification du "[https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.device_information.xml Device Information Service]" (DIS) pour déterminer la versions du firmware et la version du bootloader fonctionnant sur le module BlueFruit LE. Bluefruit LE Connect ne pourra pas offrir de mise-à-jour Firmware sans disposer d'information fiable (comme celles offertes par DIS), raison pour laquelle ces deux information sont obligatoire et en lecture seule.
    
De même, le service DFU est également nécessaire pour maintenir la fonctionnalité de mise-à-jour OTA (over-the-air). Désactiver ce service créerait plus de problèmes que sa présence n'en provoque.
 
De même, le service DFU est également nécessaire pour maintenir la fonctionnalité de mise-à-jour OTA (over-the-air). Désactiver ce service créerait plus de problèmes que sa présence n'en provoque.
   −
== How can I use BlueZ and gatttool with Bluefruit modules? ==
+
== Comment puis-je utiliser BlueZ et gatttool avec les modules Bluefruit ? ==
BlueZ has a bit of a learning curve associated with it, but you can find some notes below on one option to send and receive data using the BLE UART Service built into all of our Bluefruit LE modules and boards.
+
BlueZ nécessite un peu d'étude pour pouvoir l'utiliser. Vous trouverez ci-dessous quelques notes sur une approche permettant d'envoyer et recevoir des données en utilisant le service BLE UART disponible sur tous les modules Bluefruit LE et toutes les cartes Bluefruit LE.
   −
These commands may change with different versions of BlueZ. Version 5.21 was used below.
+
Ces commandes pourraient changer avec une version différente de BlueZ. La version 5.21 était utilisée ci-dessous.
    
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
# Initialise the USB dongle
+
# Initialiser la clé USB
 
$ sudo hciconfig hci0 up
 
$ sudo hciconfig hci0 up
   −
# Scan for the UART BLE device
+
# Scan des périphériques BLE UART
 
$ sudo hcitool lescan
 
$ sudo hcitool lescan
 
   D6:4E:06:4F:72:86 UART
 
   D6:4E:06:4F:72:86 UART
   −
# Start gatttool, pointing to the UART device found above
+
# Démarrer gatttool, pointant sur le périphérique UART trouvé ci-dessus
 
$ sudo gatttool -b D6:4E:06:4F:72:86 -I -t random --sec-level=high
 
$ sudo gatttool -b D6:4E:06:4F:72:86 -I -t random --sec-level=high
   Ligne 220 : Ligne 218 :  
   Connection successful
 
   Connection successful
 
    
 
    
# Scan for primary GATT Services
+
# Scan des services GATT principaux
 
   [D6:4E:06:4F:72:86][LE]> primary
 
   [D6:4E:06:4F:72:86][LE]> primary
 
   attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
 
   attr handle: 0x0001, end grp handle: 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb
Ligne 227 : Ligne 225 :  
   attr handle: 0x000f, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
 
   attr handle: 0x000f, end grp handle: 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb
   −
# Get the handles for the entries in the UART service (handle 0x0009)
+
# Obtenir les handles pour les entrées dans le service UART (handle 0x0009)
 
   [D6:4E:06:4F:72:86][LE]> char-desc
 
   [D6:4E:06:4F:72:86][LE]> char-desc
 
   handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
 
   handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb
Ligne 250 : Ligne 248 :  
# 6e400003 (handle 0x000d) = RX characteristic
 
# 6e400003 (handle 0x000d) = RX characteristic
   −
# Optional (but maybe helpful) ... scan for CCCD entries
+
# Optionel (mais peut être utile) ... scan des entrées CCCD
 
   [D6:4E:06:4F:72:86][LE]> char-read-uuid 2902
 
   [D6:4E:06:4F:72:86][LE]> char-read-uuid 2902
 
   handle: 0x000e value: 00 00  
 
   handle: 0x000e value: 00 00  
 
    
 
    
# Enable notifications on the RX characteristic (CCCD handle = 0x000e)
+
# Activer les notifications pour la caractéristique RX (CCCD handle = 0x000e)
# 0100 = get notifications
+
# 0100 = get notifications / obtenir des notifications
# 0200 = get indications
+
# 0200 = get indications / obtenir des indications  
# 0300 = get notifications + indications
+
# 0300 = get notifications + indications / Obtenir des notification et indications  
# 0000 = disable notifications + indications
+
# 0000 = désactiver les notifications + indications
 
   [D6:4E:06:4F:72:86][LE]> char-write-req 0x000e 0100
 
   [D6:4E:06:4F:72:86][LE]> char-write-req 0x000e 0100
 
   Characteristic value was written successfully
 
   Characteristic value was written successfully
   −
# Just to make sure it was updated
+
# S'assurer que la caractéristique à été mise-à-jour
 
   [D6:4E:06:4F:72:86][LE]> char-read-hnd 0x000e
 
   [D6:4E:06:4F:72:86][LE]> char-read-hnd 0x000e
 
   Characteristic value/descriptor: 01 00  
 
   Characteristic value/descriptor: 01 00  
 
    
 
    
# Writing "test" in the Serial Monitor of the Arduino sketch should
+
# Ecrire "test" dans le moniteur série du croquis Arduino. Cela
# cause this output not that notifications are enabled:
+
# devrait cette sortie.
 
   Notification handle = 0x000d value: 74 65 73 74  
 
   Notification handle = 0x000d value: 74 65 73 74  
   −
# Write something to the TX characteristic (handle = 0x000b)
+
# Ecrire quelque chose sur la caractéristique TX (handle = 0x000b)
# This should cause E F G H to appear in the Serial Monitor
+
# Cela devrait faire apparaître les caractères E F G H dans le
 +
# moniteur série d'Arduino
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 45         
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 45         
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 46
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 46
Ligne 277 : Ligne 276 :  
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 48
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 48
   −
# To send multiple bytes
+
# Envoyer plusieurs octets
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000B 707172737475
 
   [D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000B 707172737475
 
    
 
    
# If you are running the callbackEcho sketch and notifications
+
# Si vous exécutez le croquis callbackEcho et que les notifications  
# are enabled you should get this response after the above cmd:
+
# sont activée alors vous devriez voir cette réponse après avoir
 +
# exécuté la commande ci-dessus:
 
   Notification handle = 0x000d value: 70 71 72 73 74 75  
 
   Notification handle = 0x000d value: 70 71 72 73 74 75  
    
--------------
 
--------------
   −
# If you just want to enable constant listening, enter the following command from the CLI:
+
# Si vous désirez seulement une écoute permanente, saisissez la
 +
# commande suivante dans le CLI:
 
$ sudo gatttool -b D6:4E:06:4F:72:86 -t random --char-write-req -a 0x000e -n 0100 --listen
 
$ sudo gatttool -b D6:4E:06:4F:72:86 -t random --char-write-req -a 0x000e -n 0100 --listen
   −
# This should give us the following output as data is written on the Uno,
+
# Cela devrait produire les sorties suivantes lorsque des données sont
# though we can't send anything back:
+
# saisie dans Arduino IDE. Nous ne pouvons cependant pas renvoyer
 +
# de données:
 
   Characteristic value was written successfully
 
   Characteristic value was written successfully
 
   Notification handle = 0x000d value: 74 65 73 74  
 
   Notification handle = 0x000d value: 74 65 73 74  
   Notification handle = 0x000d value: 6d 6f 72 65 20 74 65 73 74 </bash>
+
   Notification handle = 0x000d value: 6d 6f 72 65 20 74 65 73 74 </syntaxhighlight>
 +
 
 +
==  Puis-je utiliser la broche IRQ pour sortir mon MCU du mode veille lorsque l'UART BLE à des données disponibles ? ==
 +
Non, sur les cartes à base de SPI, la broche IRQ est utilisé pour indiquer qu'une réponse SDEP est disponible pour une commande SDEP.
 +
 
 +
Par exemple, lorsque vous envoyez une commande "AT+BLEUARTRX" comm message SDEP, le firmware Bluefruit fonctionnant sur le nRF51822 fera une analyse du message, préparera une réponse SDEP et déclenchera la broche d'interruption (pour indiquer au MCU que la réponse est prête).
   −
==  Can I use the IRQ pin to wake my MCU up from sleep when BLE UART data is available? ==
+
Le broche IRQ est complètement indépendante du service BLE UART qui ne dispose pas de capacité d'intérruption (pour le moment).
No, on SPI-based boards the IRQ pin is used to indicate that an SDEP response is available to an SDEP command. For example, when you sent the `AT+BLEUARTRX` command as an SDEP message, the Bluefruit firmware running on the nRF51822 will parse the message, prepare an SDEP response, and trigger the IRQ pin to tell the MCU that the response is ready. This is completely independant from the BLE UART service, which doesn't have interrupt capability at present.
      
{{Bluefruit-LE-Shield-TRAILER}}
 
{{Bluefruit-LE-Shield-TRAILER}}
29 917

modifications

Menu de navigation