dimanche 17 janvier 2021

Communication Bluetooth entre micro:bit et smartphone

Dans cet article, je vous décris comment j'ai pu établir une communication série via Bluetooth (BLE) entre une carte micro:bit et un smartphone (ou une tablette). Deux courts programmes faits dans MakeCode ont été testés avec succès: un premier programme qui envoie des données du micro:bit vers le téléphone, et un deuxième programme qui fait l'inverse.


Programmation dans MakeCode

Par défaut, quand vous commencez un nouveau projet dans MakeCode, les blocs permettant l'utilisation du bluetooth ne sont pas disponibles. Pour les faire apparaître, on clique d'abord sur "Avancé", au bas de la liste.


On clique ensuite sur "Extensions"...


On choisit l'extension bluetooth:


...et on accepte de renoncer à l'extension radio pour ce projet.


Une catégorie de blocs "Bluetooth" est maintenant disponible (attention: la plupart des blocs que j'ai utilisés sont dans la catégorie "plus" située juste en-dessous de "Bluetooth").



Sélection du mode d'appairage

En cliquant sur la roue d'engrenage en haut à droite, puis en sélectionnant "Paramètres du projet", il est possible de choisir le mode d'appairage.


Trois options sont proposées: aucun appairage requis, appairage "JustWorks" et appairage avec mot de passe. Pour la suite de mon expérimentation, j'ai utilisé le mode par défaut "JustWorks".

Premier exemple: le micro:bit envoie des données vers le téléphone

Dans ce premier exemple, le micro:bit envoie chaque seconde un message via bluetooth  (le message est un nombre qui augmente d'une unité à chaque seconde). Pour que ça fonctionne, il est important de démarrer le "bluetooth service uart" au début du programme.

Deuxième exemple: le micro:bit reçoit des données provenant du téléphone

Dans ce deuxième exemple, le micro:bit vérifie constamment l'arrivée d'un message via bluetooth. Chaque message reçu est affiché sur la matrice de LEDs du micro:bit. Ici encore, il est important de ne pas oublier le bloc "bluetooth service uart" au démarrage du programme.


Installation d'une appli de communication UART Bluetooth sur le téléphone

Pour mes tests, j'ai utilisé l'application Serial Bluetooth Terminal de Kai Morich sur ma tablette android. C'est loin d'être la seule option possible: il existe bien d'autres applications du même genre, et vous pouvez même programmer votre propre application android avec App Inventor si vous préférez.

Appairage du micro:bit avec le téléphone

(Rappel: mon micro:bit a été réglé pour un appairage de type "JustWorks"; la procédure est légèrement différente pour les autres types d'appairage).

Pour mettre la carte micro:bit en mode appairage, il faut d'abord appuyer simultanément sur les boutons A et B de la carte. Tout en maintenant les boutons A et B enfoncés, on appuie sur le bouton "reset", qui se trouve de l'autre côté de la garde, et on relâche le bouton reset.

Plusieurs LEDs de la matrice s'allument. Le logo bluetooth est momentanément affiché, puis les LEDs forment le motif ci-dessous. Le micro:bit est en mode appairage.



À cette étape, le nom du micro:bit devrait être visible dans la liste des appareils bluetooth disponibles, dans les paramètres du téléphone (bluetooth doit évidemment être activé sur le téléphone). Il s'agit de sélectionner ce nom dans la liste pour déclencher l'appairage.


Si tout va bien, la matrice de LEDs du micro:bit prend la forme d'un crochet, et le téléphone place le nom du micro:bit dans la catégorie "périphériques couplés".




Il semble nécessaire de refaire cette procédure chaque fois qu'on installe un nouveau programme sur le micro:bit, ou si le micro:bit a été mis hors tension.

Réglages de l'appli "Serial Bluetooth Terminal"

Dans le menu de l'appli "Serial Bluetooth Terminal", on sélectionne "Devices"...


...et on choisit notre micro:bit, visible sous l'onglet "Bluetooth LE".


Mise à l'essai du premier programme

Pendant que le micro:bit exécute le premier programme, l'application Serial Bluetooth terminal affiche chaque seconde le message qui a été envoyé par le micro:bit.


Mise à l'essai du deuxième programme

Si le micro:bit exécute le deuxième programme, il faut alors écrire un message dans le bas de la fenêtre de l'appli Serial Bluetooth Terminal, et l'envoyer en cliquant sur le bouton de droite. Le message envoyé à partir du téléphone va alors défiler sur la matrice de LEDs du micro:bit.


Et MicroPython?

Les fonctionnalités Bluetooth du micro:bit ne sont pas supportées par MicroPython!

À lire également

Mes autres articles portant sur la carte micro:bit:


Yves Pelletier (TwitterFacebook

Aucun commentaire:

Enregistrer un commentaire