Echanger des données avec la carte Microbit en Wifi.

La carte Microbit ne propose pas de connexion Wifi. Une solution est de connecter une carte type ESP32 (n’importe quelle carte à base d’ESP32 pourra être utilisée).

L’exemple propose d’utiliser une carte D1R32 avec un shield Grove pour des questions de commodités de connexions.

Il suffira alors de connecter la carte Microbit à un shield Grove (sur le port P0/P14) ou autre shield comme la carte Codo, puis de connecter un câble Grove à la carte D1R32 sur le port D4.

En fait, les deux cartes vont simplement dialoguer entre elles à l’aide de l’UART. Mais cela est totalement transparent pour l’utilisation proposée.

En effet, l’objectif est d’utiliser des fonctions en MicroPython très simples qui permettront d’échanger des données sur un réseau TCP/IP.

 

Commencer par télécharger le programme C dans la carte ESP32 en suivant la procédure proposée.

Un fait ce téléchargement fait, vous n’aurez plus à le refaire la prochaine fois. Il s’agit d’une installation préalable.

 

Pour échanger des données en Micropython, il vous suffira d’utiliser un module ext_wifi_esp32_microbit.py qu’il faudra copier dans la carte Microbit. Pour cela lancer l’IDE Mu classique. Cliquer sur le bouton « fichier », puis faites un glisser déplacer du module (partie droite) vers la partie gauche (contenu de la carte Microbit). Attention il faudra auparavant bien positionner le module dans le bon répertoire de votre PC.

Télécharger ext_wifi_esp32_microbit.py

Ce module définit les fonctions suivantes :

Connexion à un point d’accès Wifi en précisant son SSID et mot de passe. Cela permet aussi de définir proprement l’adresse IP du système. Attention, il faut environ 3s pour valider la connexion à un point d’accès Wifi par sécurité.

Permet d’envoyer une donnée « type string » à un destinataire dont on donne l’adresse IP. Votre carte Microbit joue alors le rôle de client puisque vous souhaitez vous connecter à un serveur. Il faudra donc que votre serveur soit actif et démarré avec d’envoyer une donnée !

Permet de recevoir une donnée d’un client. Votre carte Microbit joue alors le rôle de serveur. Attention cette commande est bloquante, et attend une requête d’un client. Pour simplifier, il n’y a pas de timeout. Sinon la gestion serait plus compliquée pour nos élèves.

 

Il est conseillé de tester une fonction après l’autre séparément.

Vous trouverez un exemple de programme qui permet de transformer votre carte Microbit en lampe connectée.

Télécharger le programme lampe_connectee_microbit_esp32.py

Vous remarquerez la ligne from ext_wifi_esp32_microbit import * qui permet d’importer les fonctions nécessaires pour permettre les échanges en Wifi.

Pour tester ce programme, il est conseillé d’utiliser l’application TCP client sur Android. Lancer votre application lampe connecté sur votre système Microbit. Puis à l’aide de l’application TCP_client ajouter un client en spécifiant l’adresse IP de la lampe connectée que vous avez définie. Il vous faudra aussi spécifier un numéro de port qui sera toujours le port 2000.

Pour allumer la lampe il suffira d’envoyer « ON# » et « OFF# » pour éteindre.

 

Vous pourrez aussi tester votre carte Microbit pour la transformer en interrupteur connecté.

Pour cela télécharger le programme exemple.

Puis de la même manière utiliser l’application Android TCP server qui va transformer votre smartphone en lampe connectée. Bien pensez à spécifier le même port 2000 que le client. Vérifiez bien que votre smartphone est bien sur le même réseau que votre carte Microbit.

Une fois créé et lancé votre serveur, vous pouvez appuyer sur le bouton A qui permet d’allumer, ou B d’éteindre. Votre serveur va alors recevoir ces mêmes codes.

 

Si vous disposez maintenant de deux cartes Microbit avec ESP32, vous pourrez tester votre lampe connectée avec un système de lampe et l’autre en mode interrupteur connecté.

 

Vous pourrez aussi réaliser un interrupteur à l’aide d’une application Android sur Appinventor à l’aide d’une extension TCP/IP. Vous pourrez même commande la lampe de votre smartphone à l’aide de l’interrupteur connecté de votre carte Microbit.

 

A vous de développer vos problématiques pour lancer vos élèves à la découverte du mode de l’IOT.