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. |
| | | |
− | == Why can't I see my Bluefruit LE device after upgrading to Android 6.0? == | + | == Pourquoi ne puis-je pas/plus voir mon périphérique Bluefruit LE après un upgrade à Android 6.0? == |
− | In Android 6.0 there were [http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id some important security changes] that affect Bluetooth Low Energy devices. If location services are unavailable (meaning the GPS is turned off) you won't be able to see Bluetooth Low Energy devices advertising either. See [https://code.google.com/p/android/issues/detail?id=190372&q=GPS&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars this issue] for details.
| + | 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]. |
| + | |
| + | Assurez-vous d'avoir activé le service de localisation sur votre Android 6.0 lorsque vous utilisez Bluefruit LE Connect ou autres applications Bluetooth Low Energy avec le module Bluefruit LE d'Adafruit. |
| + | |
| + | == Quel est la vitesse théorique limite du BLE? == |
| + | Cela dépends de plusieurs facteurs, et déterminé plus les capacités du périphérique centrale (votre smartphone, etc) que par le périphérique. |
| | | |
− | Be sure to enable location services on your Android 6.0 device when using Bluefruit LE Connect or other Bluetooth Low Energy applications with your Bluefruit LE modules.
| + | En prenant en compte la limitation matérielle du nR51822 (6 paquets max par intervalle de connexion et un in intervalle de connexion minimum de 7.5ms), nous atteignons les limites théoriques suivantes sur différents systèmes d'exploitation mobile : |
| + | * '''iPhone 5/6 + IOS 8.0/8.1'''<br />6 paquets * 20 octets * 1/0.030 s = 4 kB/s = 32 kbps |
| + | * '''iPhone 5/6 + IOS 8.2/8.3'''<br />3 paquets * 20 octets * 1/0.030 s = 2 kB/s = 16 kbps |
| + | * '''iPhone 5/6 + IOS 8.x with nRF8001'''<br />1 paquets * 20 octets * 1/0.030 s = 0.67 kB/s = 5.3 kbps |
| + | * '''Nexus 4'''<br />4 paquets * 20 octets * 1/0.0075 s = 10.6 kB/s = 84 kbps |
| + | * '''Nordic Master Emulator Firmware (MEFW) with nRF51822 0.9.0'''<br />1 paquets * 20 octets * 1/0.0075 = 2.67 kB/s = 21.33 kbps |
| + | * ''' Nordic Master Emulator Firmware (MEFW) with nRF51822 0.11.0'''<br />6 paquets * 20 octets * 1/0.0075 = 16 kB/s = 128 kbps |
| | | |
− | == What is the theoretical speed limit for BLE? ==
| + | Il y a également une limite imposée par le firmware du Bluefruit LE (Adafruit travaille activement pour améliorer le débit dans la release 0.7.0). |
− | This depends on a variety of factors, and is determined by the capabilities of the central device (the mobile phone, etc.) as much as the peripheral.
| |
| | | |
− | Taking the HW limits on the nR51822 into account (max 6 packets per connection interval, and a minimum connection interval of 7.5ms) you end up with the following theoretical limits on various mobile operating systems:
| + | Les chiffres ci-dessus sont des maximums théoriques utiles pour décider si BlueFruit Le est un matériel approprié pour votre projet. |
− | * '''iPhone 5/6 + IOS 8.0/8.1'''<br />6 packets * 20 bytes * 1/0.030 s = 4 kB/s = 32 kbps
| |
− | * '''iPhone 5/6 + IOS 8.2/8.3'''<br />3 packets * 20 bytes * 1/0.030 s = 2 kB/s = 16 kbps
| |
− | * '''iPhone 5/6 + IOS 8.x with nRF8001'''<br />1 packet * 20 bytes * 1/0.030 s = 0.67 kB/s = 5.3 kbps
| |
− | * '''Nexus 4'''<br />4 packets * 20 bytes * 1/0.0075 s = 10.6 kB/s = 84 kbps
| |
− | * '''Nordic Master Emulator Firmware (MEFW) with nRF51822 0.9.0'''<br />1 packet * 20 bytes * 1/0.0075 = 2.67 kB/s = 21.33 kbps
| |
− | * ''' Nordic Master Emulator Firmware (MEFW) with nRF51822 0.11.0'''<br />6 packets * 20 bytes * 1/0.0075 = 16 kB/s = 128 kbps
| |
| | | |
− | There are also some limits imposed by the Bluefruit LE firmware, but we are actively working to significantly improve the throughput in the upcoming 0.7.0 release, which will be available Q2 2016. The above figures are useful as a theoretical maximum to decide if BLE is appropriate for you project or not.
| + | '''Mise-à-jour:''' Voyez [https://devzone.nordicsemi.com/blogs/1046/what-to-keep-in-mind-when-developing-your-ble-andr/ ce billet très utile de Nordic Semiconductors] pour des détails spécifiques concernant les limitations concernant les différentes versions d' '''Android''' et téléphones. |
| | | |
− | '''UPDATE:''' For more specific details on the limitations of various '''Android''' versions and phones, see [https://devzone.nordicsemi.com/blogs/1046/what-to-keep-in-mind-when-developing-your-ble-andr/ this helpful post from Nordic Semiconductors]. | + | == Est ce que ma carte Bluefruit peut détecter d'autres cartes Bluefruit ou périphériques centrals ? == |
| + | Non. Tous les modules Bluefruit LE d'Adafruit fonctionne actuellement en mode périphérique. Cela signifie que les cartes peuvent uniquement annoncer leur propre existence (via les payload d'avertissement). Le périphérique centrale (habituellement un smartphone ou laptop) a pour tâche d'écouter ces paquets d'annonce, puis démarrer un processus de connexion et initier les transactions entre les périphériques. |
| | | |
− | == Can my Bluefruit board detect other Bluefruit boards or Central devices? ==
| + | Le module BlueFruit LE n'as pas le moyen de détecter d'autres modules Bluefruit (ou périphériques centrales). Ils peuvent uniquement envoyer leurs propres paquets d'annonce et attendre après requête de connexion. |
− | No. All of our Bluefruit LE modules currently operate in peripheral mode, which means they can only advertise their own existence via the advertising payload. The central device (usually your phone or laptop) is responsible for listening for these advertising packets, starting the connection process, and inititating any transactions between the devices. There is no way for a Bluefruit module to detect other Bluefruit modules or central devices in range, they can only send their own advertising data out and wait for a connection request to come in.
| |
| | | |
− | == How can I determine the distance between my Bluefruit module and my phone in m/ft? == | + | == Comment puis-je déterminer la distance (en m) entre entre mon module Bluefruit et mon téléphone ? == |
− | The short answer is: you can't.
| + | La réponse courte est: cela n'est pas possible. |
| | | |
− | RF devices normally measure signal strength using RSSI, which stands for Received Signal Strength Indicator, which is measured in dBm. The closer the devices are the strong the RSSI value generally is (-90dBm is much weaker than -60dBm, for example), but there is no reliable relationship between RSSI values in dBm and distance in the real world. If there is a wall between devices, RSSI will fall. If there is a lot of interference on the same 2.4GHz band, RSSI will fall. Depending on the device, if you simply change the antenna orientation, RSSI will fall. You can read the RSSI value between two connected devices with the {{fname|AT+BLEGETRSSI}} command, but there are no meaningful and repeatable conclusions that can be drawn from this value about distance other than perhaps 'farther' or 'closer' in a very loose sense of the terms. | + | Les périphériques RF mesure normalement la puissance du signal en utilisant RSSI qui signifie "Received Signal Strength Indicator" (''indicateur de puissance du signal de réception). Cette puissance de signal se mesure en dBm (Décibel par milliwatt). |
| | | |
− | == How far away from my phone can I have my Bluefruit LE module? ==
| + | Plus près est le périphérique et plus fort sera la valeur de RSSI (par exemple: -90dBm est plus faible que -60dBm). Dans le monde réel, il n'y a cependant pas de relation fiable entre les valeurs de RSSI en dBm et la distance entre mes périphériques. Par exemple, le RSSI chutera, s'il y a un mur entre les périphériques. Le RSSI chutera également s'il y a beaucoup d'interférence sur la même bande 2.4GHz. Le RSSI peut également chuter en fonction du périphérique ou de l'orientation de l'antenne. |
− | This depends on a number of factors beyond the module itself such as antenna orientation, the antenna design on the phone, transmit power on the sending node, competing traffic in the same 2.4GHz bandwidth, obstacles between end points, etc.
| |
| | | |
− | It could be as low as a couple meters up to about 10 meters line of sight, but generally Bluetooth Low Energy is designed for very short range and will work best in the 5-6 meter or less range for reliable communication, assuming normal Bluefruit firmware settings.
| + | Vous pouvez lire la valeur de RSSI entre deux périphériques connectés en utilisant la commande {{fname|AT+BLEGETRSSI}}. La valeur de RSSI ne permet pas de tirer de résultat ou conclusion valable concernant la distance. Elle permet juste de donner une idée d'éloignement général (éloigné ou proche) en fonction de la force du signal. |
| | | |
− | == How many GATT services and characteristics can I create? == | + | == A quelle distance de mon téléphone puis-je capter mon module Bluefruit LE ? == |
− | For firmware 0.7.0 and higher, the following limitations are present:
| + | Cela dépend de plusieurs facteurs au-delà du module comme l'orientation de l'antenne, la conception de l'antenne du SmartPhone, la puissance de transmission sur le noeud d'envoi, le trafic des différents appareils sur la bande de 2.4GHz, les obstacles entre l'émetteur et le récepteur, etc. |
− | * Maximum number of services: 10
| |
− | * Maximum number of characteristics: 30
| |
− | * Maximum buffer size for each characteristic: 32 bytes
| |
− | * Maximum number of CCCDs: 16
| |
| | | |
− | == Is it possible to modify or disable the built in GATT services and characteristics (DIS, DFU, etc.)? ==
| + | Cette distance peut être aussi réduite que quelques mètres jusqu'à une dizaine de mètres en terrain découvert. Bluetooth Low Energy est conçu pour des communications courtes distances et fonctionnera dans les meilleures conditions entre 5-6 mètres ou moins (pour un communication fiable et un paramétrage normal du Bluefruit LE). |
− | No, unfortunately you can't. We rely on the [https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.service.device_information.xml Device Information Service] (DIS) contents to know which firmware and bootloader version you are running, and wouldn't be able to provide firmware updates without being able to trust this information, which i why it's both mandatory and read only.
| |
| | | |
− | Similarly, the DFU service is mandatory to maintain over the air updates and disabling it would create more problems that it's presence would cause.
| + | == Combien de services GATT et caractéristiques puis-je créer ? == |
| + | Les limitations suivantes sont applicable au firmware 0.7.0 ou supérieur : |
| + | * Nombre maximum de services: 10 |
| + | * Nombre maximum de caractéristiques: 30 |
| + | * Taille maximum de la mémoire tampon pour chaque caractéristique: 32 octets |
| + | * Nombre maximum de CCCDs: 16 |
| | | |
− | == How can I use BlueZ and gatttool with Bluefruit modules? == | + | == Est-il possible de modifier ou désactiver les services GATT et caractéristiques (DIS, DFU, etc.)? == |
− | 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.
| + | 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. |
| | | |
− | These commands may change with different versions of BlueZ. Version 5.21 was used below.
| + | 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. |
| + | |
| + | == Comment puis-je utiliser BlueZ et gatttool avec les modules Bluefruit ? == |
| + | 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. |
| + | |
| + | 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 212 : |
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 219 : |
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 242 : |
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 269 : |
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}} |