Différences entre versions de « Ressources:Communication Bluetooth Low Energy AppInventor »

De wikilab
(34 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
==Introduction==
 
==Introduction==
ce tutoriel vise à récupérer les données envoyées par un dispositif bluetooth BLE sur une application mobile développée sur [http://ai2.appinventor.mit.edu/ App inventor]
+
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 utilise 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.
+
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 20 :
 
==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 29 :
  
 
[[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
  
=== Identifier le service et la caractéristique que l'on souhaite récupérer ===
+
=== 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 services, et en haut à droite voir le bouton "disconnect" qui prouve que vous êtes bien connectés
+
 
[[File:connected.png|200px]]
+
* 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: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:Projets]]
 +
[[Category:Tutoriels]]

Version du 27 mars 2020 à 11:13

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


Etapes pas à pas

Identifier l'appareil BLE

  1. Télécharger l'application mobile [nRFConnect]
  2. 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

ScanConnect.png

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

Scan connect.jpg

  • 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

Connected ok.png

  • 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.

Identify characteristic highlight.png

  • 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 .

See values RT.png

  • 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

Vue DesignerOk.png

  • Cliquer sur importer extension en bas du menu à gauche. Elle devrait alors apparaitre dans vos extensions

Extension ok.png

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

Ble app inventor.png