Adafruit BlueFruit LE Guide Utilisateur page 116

Table des Matières

Publicité

handle: 0x000b, uuid: 6e400002-b5a3-f393-e0a9-e50e24dcca9e
handle: 0x000c, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x000d, uuid: 6e400003-b5a3-f393-e0a9-e50e24dcca9e
handle: 0x000e, uuid: 00002902-0000-1000-8000-00805f9b34fb
handle: 0x000f, uuid: 00002800-0000-1000-8000-00805f9b34fb
handle: 0x0010, uuid: 00002803-0000-1000-8000-00805f9b34fb
handle: 0x0011, uuid: 00002a27-0000-1000-8000-00805f9b34fb
# 6e400002 (handle 0x000b) = TX characteristic
# 6e400003 (handle 0x000d) = RX characteristic
# Optionel (mais peut être utile) ... scan des entrées CCCD
[D6:4E:06:4F:72:86][LE]> char-read-uuid 2902
handle: 0x000e value: 00 00
# Activer les notifications pour la caractéristique RX (CCCD handle = 0x000e)
# 0100 = get notifications / obtenir des notifications
# 0200 = get indications / obtenir des indications
# 0300 = get notifications + indications / Obtenir des notification et indications
# 0000 = désactiver les notifications + indications
[D6:4E:06:4F:72:86][LE]> char-write-req 0x000e 0100
Characteristic value was written successfully
# S'assurer que la caractéristique à été mise-à-jour
[D6:4E:06:4F:72:86][LE]> char-read-hnd 0x000e
Characteristic value/descriptor: 01 00
# Ecrire "test" dans le moniteur série du croquis Arduino. Cela
# devrait cette sortie.
Notification
handle
=
0x000d value: 74 65 73 74
# Ecrire quelque chose sur la caractéristique TX (handle = 0x000b)
# 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 46
[D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 47
[D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000b 48
# Envoyer plusieurs octets
[D6:4E:06:4F:72:86][LE]> char-write-cmd 0x000B 707172737475
# Si vous exécutez le croquis callbackEcho et que les notifications
# 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
--------------
# 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
# Cela devrait produire les sorties suivantes lorsque des données sont
# saisie dans Arduino IDE. Nous ne pouvons cependant pas renvoyer
# de données:
Characteristic value was written successfully
Notification
handle
=
0x000d value: 74 65 73 74
Notification
handle
=
0x000d value: 6d 6f 72 65 20 74 65 73 74
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).
Le broche IRQ est complètement indépendante du service BLE UART qui ne dispose pas de capacité d'intérruption (pour le
moment).

Publicité

Table des Matières
loading

Table des Matières