Différences entre versions de « Projets:Communication Bluetooth Low Energy AppInventor »
(35 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | [[File:Vue_DesignerOk.png|400px|right]] | ||
+ | |||
==Introduction== | ==Introduction== | ||
− | + | Ce tutoriel vise à récupérer les données envoyées par un appareil bluetooth BLE sur une application mobile développée sur [http://ai2.appinventor.mit.edu/ App inventor] | |
− | Le BLE ne peut pas communiquer directement avec les modules de Bluetooth classique. Pour notre exemple, nous avons utilisé un appareil ,qui | + | Le BLE ne peut pas communiquer directement avec les modules de Bluetooth classique. Pour notre exemple, nous avons utilisé un appareil ,qui intègre un module BLE pour le bluetooth dont nous ne connaissons pas les caractéristiques si ce n'est qu'il utilise le protocole de communication GATT. |
Plus d'informations ici pour bien comprendre le fonctionnement du bluetooth et du protocole GATT : | Plus d'informations ici pour bien comprendre le fonctionnement du bluetooth et du protocole GATT : | ||
Ligne 20 : | Ligne 22 : | ||
==Etapes pas à pas== | ==Etapes pas à pas== | ||
=== Identifier l'appareil BLE === | === Identifier l'appareil BLE === | ||
+ | |||
# Télécharger l'application mobile [[https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en_US nRFConnect]] | # Télécharger l'application mobile [[https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en_US nRFConnect]] | ||
− | # Se procurer l'adresse MAC du périphérique que l'on souhaite appairer | + | # Se procurer l'adresse MAC du périphérique que l'on souhaite appairer (pas utile pour app inventor mais pour d'autres applications oui) |
Ouvrir l'application NRFConnect sur votre téléphone: | Ouvrir l'application NRFConnect sur votre téléphone: | ||
Ligne 28 : | Ligne 31 : | ||
[[File:scanConnect.png|200px]] | [[File:scanConnect.png|200px]] | ||
+ | |||
+ | <span style="color: red; ">Si votre appareil n'apparait pas il se peut qu'il soit déjà appairé, et qu'il ne puisse se connecter qu'à un appareil en même temps. Dans ce cas, sur votre ordinateur, aller sur l'onglet Bluetooth (en haut à droite sur ubuntu)>Périphérique>Clic droit sur le périphérique>Déconnecter </span> | ||
* Trouver le périphérique recherché, par son nom. Sous son nom apparait son adresse MAC de type B4:52:A9:BF:93:D8 | * Trouver le périphérique recherché, par son nom. Sous son nom apparait son adresse MAC de type B4:52:A9:BF:93:D8 | ||
* conserver cette adresse en la formatant en enlevant les “:” entre chaque nombre et en ajoutant “0x” au début de l'adresse pour que son nouveau format soit de type: 0xb452a9bf93d8 | * conserver cette adresse en la formatant en enlevant les “:” entre chaque nombre et en ajoutant “0x” au début de l'adresse pour que son nouveau format soit de type: 0xb452a9bf93d8 | ||
− | === | + | === Se connecter à l'appareil et identifier le service et la caractéristique que l'on souhaite récupérer === |
* Cliquer sur Connect | * Cliquer sur Connect | ||
[[File:scan_connect.jpg||200px]] | [[File:scan_connect.jpg||200px]] | ||
− | * Vous devriez alors accéder aux caractéristiques et | + | * Vous devriez alors accéder aux services et caractéristiques de l'appareil, et dans l'onglet en haut à gauche voir "Connected" et en haut à droite voir le bouton "disconnect" qui prouvent que vous êtes bien connectés |
− | [[File: | + | [[File:Connected_ok.png|200px]] |
+ | |||
+ | * Scroller dans les services afin d'identifier celui qui correspond aux valeurs que vous souhaitez récupérer. | ||
+ | L'icône des 3 flèches vers le bas (encadré en rouge) nous indique que cette caractéristique (en jaune) nous envoie des notifications ("NOTIFY"), autrement dit des valeurs. | ||
+ | |||
+ | [[File:identify_characteristic_highlight.png|200px]] | ||
+ | |||
+ | * Cliquer sur les 3 flèches vers le bas, vous devriez voir apparaitre l'onglet "values" sous l'onglet "properties", et voir les valeurs bouger en temps réel si vous utilisez votre appareil BLE . | ||
+ | [[File:see_values_RT.png|200px]] | ||
+ | |||
+ | * Noter les numéros UUID du "Service" et celui de "Characteristic" | ||
+ | |||
+ | ===Ecrire votre application avec App inventor=== | ||
+ | Pour créer votre application vous aurez besoin de toutes les informations trouvées dans les étapes précédentes : | ||
+ | * l'adresse MAC de votre appareil BLE | ||
+ | * numéro UUID du service | ||
+ | * numéro UUID de la caractéristique | ||
+ | |||
+ | ====Télécharger l'extension Bluetooth LE ==== | ||
+ | Copier dans l'url de votre navigateur : iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.ble.aix | ||
+ | |||
+ | ====Importer l'extension dans App inventor==== | ||
+ | * Choisir la vue "Designer" en haut à droite | ||
+ | [[File:Vue_DesignerOk.png|900px]] | ||
+ | |||
+ | * Cliquer sur importer extension en bas du menu à gauche. Elle devrait alors apparaitre dans vos extensions | ||
+ | [[File:Extension ok.png|900px]] | ||
+ | |||
+ | ====Programmation de l'application==== | ||
+ | * suivre ce tutoriel pour la base de l'application, autrement dit la connection de votre appli avec votre appareil BLE | ||
+ | http://iot.appinventor.mit.edu/assets/tutorials/MIT_App_Inventor_Basic_Connection.pdf | ||
+ | |||
+ | * Ajouter ensuite les éléments manquants pour récupérer les valeurs envoyées par l'appareil BLE | ||
+ | Dans la vue "Blocks", faire glisser quatres textbox dans votre application, les renommer : received_data, value1, value2, value3, value4 | ||
+ | |||
+ | * Cliquer sur Bluetooth LE1 dans le menu à gauche pour accéder aux fonctions du BLE | ||
+ | |||
+ | * Adapter les numéros UUID du service et de la caractéristique correspondants à votre appareil BLE | ||
+ | |||
+ | [[File:ble_app_inventor.png|1000px]] | ||
+ | |||
+ | |||
+ | |||
+ | [[Category:Tutoriels]] |
Version actuelle datée du 12 juillet 2022 à 13:42
Introduction
Ce tutoriel vise à récupérer les données envoyées par un appareil bluetooth BLE sur une application mobile développée sur App inventor
Le BLE ne peut pas communiquer directement avec les modules de Bluetooth classique. Pour notre exemple, nous avons utilisé un appareil ,qui intègre un module BLE pour le bluetooth dont nous ne connaissons pas les caractéristiques si ce n'est qu'il utilise le protocole de communication GATT.
Plus d'informations ici pour bien comprendre le fonctionnement du bluetooth et du protocole GATT : en français : https://blog.groupe-sii.com/le-ble-bluetooth-low-energy/
en anglais :https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gatt
Matériel nécessaire
- Un téléphone Android
- un ordinateur
- un compte sur App inventor https://appinventor.mit.edu/
- Un appareil qui fonctionne en BLE
Etapes pas à pas
Identifier l'appareil BLE
- Télécharger l'application mobile [nRFConnect]
- Se procurer l'adresse MAC du périphérique que l'on souhaite appairer (pas utile pour app inventor mais pour d'autres applications oui)
Ouvrir l'application NRFConnect sur votre téléphone:
- Cliquer sur scanner
Si votre appareil n'apparait pas il se peut qu'il soit déjà appairé, et qu'il ne puisse se connecter qu'à un appareil en même temps. Dans ce cas, sur votre ordinateur, aller sur l'onglet Bluetooth (en haut à droite sur ubuntu)>Périphérique>Clic droit sur le périphérique>Déconnecter
- Trouver le périphérique recherché, par son nom. Sous son nom apparait son adresse MAC de type B4:52:A9:BF:93:D8
- conserver cette adresse en la formatant en enlevant les “:” entre chaque nombre et en ajoutant “0x” au début de l'adresse pour que son nouveau format soit de type: 0xb452a9bf93d8
Se connecter à l'appareil et identifier le service et la caractéristique que l'on souhaite récupérer
- Cliquer sur Connect
- Vous devriez alors accéder aux services et caractéristiques de l'appareil, et dans l'onglet en haut à gauche voir "Connected" et en haut à droite voir le bouton "disconnect" qui prouvent que vous êtes bien connectés
- Scroller dans les services afin d'identifier celui qui correspond aux valeurs que vous souhaitez récupérer.
L'icône des 3 flèches vers le bas (encadré en rouge) nous indique que cette caractéristique (en jaune) nous envoie des notifications ("NOTIFY"), autrement dit des valeurs.
- Cliquer sur les 3 flèches vers le bas, vous devriez voir apparaitre l'onglet "values" sous l'onglet "properties", et voir les valeurs bouger en temps réel si vous utilisez votre appareil BLE .
- Noter les numéros UUID du "Service" et celui de "Characteristic"
Ecrire votre application avec App inventor
Pour créer votre application vous aurez besoin de toutes les informations trouvées dans les étapes précédentes :
- l'adresse MAC de votre appareil BLE
- numéro UUID du service
- numéro UUID de la caractéristique
Télécharger l'extension Bluetooth LE
Copier dans l'url de votre navigateur : iot.appinventor.mit.edu/assets/resources/edu.mit.appinventor.ble.aix
Importer l'extension dans App inventor
- Choisir la vue "Designer" en haut à droite
- Cliquer sur importer extension en bas du menu à gauche. Elle devrait alors apparaitre dans vos extensions
Programmation de l'application
- suivre ce tutoriel pour la base de l'application, autrement dit la connection de votre appli avec votre appareil BLE
http://iot.appinventor.mit.edu/assets/tutorials/MIT_App_Inventor_Basic_Connection.pdf
- Ajouter ensuite les éléments manquants pour récupérer les valeurs envoyées par l'appareil BLE
Dans la vue "Blocks", faire glisser quatres textbox dans votre application, les renommer : received_data, value1, value2, value3, value4
- Cliquer sur Bluetooth LE1 dans le menu à gauche pour accéder aux fonctions du BLE
- Adapter les numéros UUID du service et de la caractéristique correspondants à votre appareil BLE