Arduino BLE : Communication Bluetooth
Maybe your like
2. Notions sur la communication Bluetooth LE
Dans une liaison Bluetooth LE, on distingue le périphérique et la centrale. Le périphérique fournit des informations ou effectue des actions physiques, la centrale interroge un ou plusieurs périphériques pour centraliser ces informations et les exposer à l'utilisateur. Dans notre cas, le périphérique est l'arduino, qui collecte des informations physiques à l'aide de capteurs ou actionne des moteurs. La centrale est le mobile. Le rôle du mobile est principalement d'offrir une interface à l'utilisateur mais il peut aussi contribuer au traitement des données, sachant que la capacité de calcul (vitesse et mémoire) d'un téléphone mobile est très largement supérieure à celle d'un microcontrôleur.
Un périphérique Bluetooth peut délivrer un ou plusieurs services. Chaque service est identifié par un numéro GUID (128 bits). Il existe des services standard mais on doit en général définir son propre identifiant GUID (que l'on peut générer avec ce générateur). Chaque service comporte une ou plusieurs caractéristiques, chacune ayant son propre numéro GUID (proche en principe du GUID du service). Une caractéristique est une donnée (de taille pouvant aller jusqu'à 512 octets) qui peut être lue ou écrite aussi bien par le périphérique que par la centrale. Il existe aussi un mécanisme de notification, qui informe la centrale lorsque le périphérique a modifié une caractéristique. Du côté du périphérique, il est aussi possible de savoir si une centrale a modifié une caractéristique.
Les données associées à une caractéristique sont :
- Propriétés : nombre d'octets de la donnée, mode lecture et/ou écriture par une centrale, émission de notification.
- Descripteur : information complémentaire sur la caractéristique (il peut y avoir plusieurs descripteurs).
- Valeur
La norme Bluetooth LE comporte aussi un protocole d'annonce (advertising), qui permet au périphérique de fournir les informations sur les services qu'il délivre. Une centrale peut scanner les périphériques qui sont à sa portée et, pour chaque périphérique trouvé, récupérer l'annonce.
Voyons l'exemple du service développé ci-après. Il s'agit d'exposer la valeur fournie par le convertisseur A/N de l'arduino, sous la forme d'un entier 16 bits. Une valeur est envoyée à la centrale toutes les secondes et celle-ci peut changer la voie de conversion utilisée. Le schéma ci-dessous montre le service et les deux caractéristiques définies pour cette application.
service.svgFigure pleine pageLe périphérique délivre un seul service, intitulé ADC. La caractéristique intitulée ANALOG contient la valeur fournie par le convertisseur A/N. Il s'agit d'un convertisseur 12 bits donc 2 octets (16 bits) sont nécessaires. La centrale peut lire cette valeur (READ) mais peut aussi recevoir des notifications (NOTIFY). Lorsque la valeur est modifiée, le périphérique envoie une notification à la centrale, laquelle exécute en réponse une fonction qui récupère la valeur et agit en conséquence (par exemple affiche cette valeur sur l'écran). Ce mécanisme de notification permet à la centrale de lire la caractéristique seulement lorsqu'une nouvelle donnée est disponible. La caractéristique intitulée CHANNEL précise, sous la forme d'un entier 8 bits, la voie utilisée pour la conversion. La centrale écrit dans cette caractéristique lorsque l'utilisateur choisit de modifier la voie.
Tag » Arduino Ble 33 Bluetooth
-
Connecting Nano 33 BLE Devices Over Bluetooth
-
Controlling RGB LED Through Bluetooth® | Arduino Documentation
-
Nano 33 BLE | Arduino Documentation
-
Arduino Nano 33 BLE
-
Get Started With Arduino Nano 33 BLE - OKdo
-
Getting Started With Bluetooth LE On The Arduino Nano 33 Sense –
-
Arduino BLE Example Explained Using Arduino Nano 33 BLE Sense
-
Which One Do I Have To Use If I Want To Make Bluetooth Connection ...
-
Bluetooth Connection Between Arduino NANO 33 BLE Sense And ...
-
Arduino NANO 33 Made Easy BLE, Sense And IoT - Instructables
-
Arduino BLE Example Explained Step By Step - RootSaid
-
BLE On Arduino Nano 33 BLE Sense - BlueZ Connect - Blog
-
Arduinosetup Fails To Setup Arduino NANO 33 BLE Using Bluetooth
-
Arduino Nano 33 BLE [ABX00030] : Electronics