# Bluetooth Low Energy (BLE)

> Découvrez comment utiliser le Bluetooth Low Energy dans PandaSuite pour des transferts de données efficaces sur de courtes distances. Apprenez à configurer et déclencher des caractéristiques BLE entre appareils connectés.

https://docs.pandasuite.com/fr/essentials/components/bluetooth-low-energy/

**Communiquez entre plusieurs appareils grâce à la connexion Bluetooth Low Energy (BLE). Concrètement, cette liaison se fait via l'émission et la réception de caractéristiques.**

Le Bluetooth Low Energy (BLE) est une technologie de communication sans fil conçue pour des transferts de données à faible consommation d'énergie sur de courtes distances. Elle s'utilise principalement avec les appareils connectés (IoT) pour de la domotique. Le BLE est une évolution du Bluetooth classique, offrant une communication plus efficace et économique en énergie.

> **Attention**
>
> **Compatibilité** : ce composant est uniquement compatible avec les
> applications natives iOS & Android, et pas avec le web.

Voici l'exemple de notre carte de vœux animée de 2018 qui déclenchait l'allumage d'une ampoule connectée (voir vidéo à 0:16).

[Vidéo : Carte de vœux animée 2018 de PandaSuite, qui allume une ampoule connectée en BLE](https://www.youtube.com/embed/l5yL3MW2slQ?&hl=fr&cc_lang_pref=fr&cc_load_policy=1)

## Cas d'usage du BLE

Le composant BLE permet de créer des expériences interactives innovantes :

- **Domotique** : pilotez des objets connectés (ampoules, capteurs, serrures intelligentes)
- **Expériences multi-écrans** : synchronisez des tablettes/smartphones avec des écrans d'affichage physiques ou des installations interactives
- **Prototypage matériel** : testez rapidement des interactions avec des cartes Arduino, Raspberry Pi ou autres microcontrôleurs

## Quelle solution choisir pour connecter plusieurs objets / appareils ?

- **Utilisez le BLE** pour communiquer avec des objets connectés physiques (ampoules, capteurs, serrures) à proximité (< 10m) via Bluetooth.

- **Utilisez [App-to-App](https://docs.pandasuite.com/fr/essentials/components/app-to-app/)** pour synchroniser plusieurs applications PandaSuite entre elles, avec une meilleure portée, une disponibilité hors ligne, une compatibilité web, et un partage de données plus riche.

- **Utilisez des plateformes d'automatisation** comme [IFTTT](https://ifttt.com/) ou [Zapier](https://zapier.com/) pour créer des scénarios complexes entre différents services et appareils, via le [composant HTTP](https://docs.pandasuite.com/fr/essentials/components/http/).

## Fonctionnement du BLE dans PandaSuite

PandaSuite intègre le BLE via la norme [Bluetooth GATT](https://www.novelbits.io/bluetooth-gatt-services-characteristics/) (Generic Attribute Profile), qui définit l'interaction entre une application centrale (comme un smartphone) et un périphérique (comme une ampoule connectée ou un autre smartphone).

### Concept de caractéristiques

La communication BLE s'effectue via des **caractéristiques** :

- Chaque caractéristique BLE possède un identifiant unique (UUID).
- Une caractéristique correspond à une action de communication spécifique.
- Pour que deux appareils communiquent, ils doivent partager les mêmes identifiants de caractéristiques.
- Ces caractéristiques peuvent être réutilisées dans plusieurs projets PandaSuite.

## Configuration du composant BLE

### Ajouter une caractéristique BLE

Pour comprendre la configuration d'un composant BLE, prenons l'exemple ci-dessous d'un projet "télécommande" qui contrôle l'affichage d'un diaporama d'images (dans un autre projet) :

[Vidéo : Exemple de télécommande BLE : une application sur smartphone pilote un diaporama d'images affiché sur un autre appareil](https://www.youtube.com/embed/9o6GhbTO8_8?&hl=fr&cc_lang_pref=fr&cc_load_policy=1)

**Étapes de configuration :**

1. Cliquez sur **Composants** et ajoutez un composant **BLE**
2. Dans les propriétés du composant, choisissez le type de service :
   - **PandaSuite** : l'identifiant UUID est généré automatiquement (idéal pour la communication entre deux applications PandaSuite)
   - **Autre** : saisissez manuellement l'identifiant UUID (nécessaire pour se connecter à un objet connecté existant)
3. Sélectionnez le composant BLE dans la liste des objets
4. Cliquez sur la flèche de droite pour entrer dans le mode édition

[Image : Projet télécommande avec deux boutons flèches : le composant BLE, pointé dans la liste des objets, utilise le service PandaSuite]

5. Cliquez sur le bouton **+** pour ajouter une caractéristique
6. Personnalisez l'identifiant ou conservez celui généré automatiquement

[Image : Mode édition du composant BLE : deux caractéristiques, Previous et Next, et l'identifiant UUID de la première dans les propriétés]

### Émettre une caractéristique BLE

Une fois votre caractéristique configurée, vous devez créer une action pour l'émettre vers les appareils connectés.

**Étapes pour l'appareil émetteur :**

1. Sélectionnez un composant déclencheur (par exemple, un bouton)
2. Cliquez sur le **+** pour ajouter une nouvelle action
3. Choisissez l'événement déclencheur (par exemple **Tap / Clic**)
4. Sélectionnez l'action **Agir sur un composant**
5. Choisissez le composant **BLE** et l'action **Déclencher caractéristique**
6. Sélectionnez la caractéristique à émettre

[Image : Action du bouton flèche gauche : au Tap / Clic, Déclencher caractéristique sur le composant BLE émet la caractéristique Previous]

### Recevoir une caractéristique BLE sur un autre appareil

Pour créer une application qui réagit aux caractéristiques BLE émises par un autre appareil (par exemple, un écran contrôlé à distance), vous devez créer un second projet.

**Étapes pour l'appareil récepteur :**

1. Créez un nouveau projet PandaSuite
2. Ajoutez un composant **BLE** à ce projet
3. Ajoutez une caractéristique avec **exactement le même identifiant UUID** que dans le projet émetteur
4. Sélectionnez le composant BLE et cliquez sur le **+** pour ajouter une action
5. Choisissez la **caractéristique BLE** comme événement déclencheur
6. Définissez l'action à exécuter lorsque la caractéristique est reçue (par exemple, changer de page, lancer une animation, etc.)

[Image : Projet d'affichage sur tablette : une caractéristique BLE reçue déclenche l'action Page précédente sur la galerie d'images]

> **Astuce**
>
> **Prérequis** : les deux appareils doivent être à proximité l'un de l'autre
> (portée effective de 5 à 10 mètres selon l'environnement) et avoir le
> Bluetooth activé. Les murs et obstacles peuvent réduire la portée.

## Modèles prêts à l'emploi

Pour démarrer rapidement, utilisez ces deux modèles complémentaires qui illustrent un scénario de télécommande :

[Modèle : BLE Controller](https://pandasuite.com/dashboard/use-template/iuPEFYwB5IBMJWwgtBdo)

Application "télécommande" à installer sur un smartphone pour contrôler à distance.

[Modèle : BLE Display](https://pandasuite.com/dashboard/use-template/AVr2oXIp3ClP-qd6x6MZ)

Application d'affichage à installer sur une tablette ou un écran qui réagit aux commandes BLE.

> **Info**
>
> **Astuce** : dupliquez ces modèles et personnalisez les caractéristiques BLE
> pour créer vos propres scénarios de communication.
