Projets:Communication Bluetooth Low Energy AppInventor

De wikiup
Sauter à la navigation Sauter à la recherche
Vue DesignerOk.png

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