Mbot + Wifi

Il est possible de connecter le robot mBot1 à un réseau Wifi et ainsi d'initier les élèves au monde de l'Internet des objets (IOT).

Cela vous permettra de piloter à distance votre robot Mbot facilement.

La société Cartelectronique propose une petite carte qui vient très simplement se connecter au Port n°1 du robot.

Il suffit ensuite d'utiliser l'extension wifi qui permet de programmer le Mbot très facilement.

Pilotage du robot

Créer une page Web avec le robot pour afficher des données ou pour le piloter

Commander avec l'URL

 

 

Une autre solution est de créer soit même le système:

Pour cela il suffit de lui connecter une carte type ESP32 sur son port n°1.

Puis d'ajouter l'extension Wifi dans le logiciel makeblock5.

Télécharger l'extension. Pour installer l'extension dans mBlock5 i suffit de faire un glisser déplacer de l'extension dans la fenêtre du programme ouvert.

Cette extension est aussi disponible dans la bibliothèque des extensions en tapant wifi.

 

Les commandes sont très minimalistes et permettent de réaliser l'envoi et le la réception d'une donnée entre un robot mBot et un périphérique final au choix (tablette, PC, Smartphone, autre robot mBot).

Voici un exemple qui permet d'allumer les phares du robot à distance.

Télécharger le programme.

Pour communiquer avec le robot vous pourrez utiliser:

1. Une application, comme TCP server ou TCP client sur Android. Il faudra identifier qui est le serveur et qui est le client. Un client envoie une requête à un serveur.

ici pour l'application, le serveur est le robot et le client sera l'application TCP client. Il suffira alors d'envoyer les commandes qui correspondent au protocole convenu. Par exemple pour allumer les phares, il suffira d'envoyer "ON#" et pour les éteindre "OFF#".

 

2. Avec un PC et une application TCPclientserver

 

3. Avec Appinventor et créer son application.

l'extension utilisée pour Appiventor.

Le fichier exemple sur Appinventor pour commander une lampe.

 

4. Avec un autre robot qui a une carte ESP32. On pourra alors faire communiquer des robots entre eux.

L'intérêt n'est pas uniquement de piloter le robot, mais aussi d'utiliser les données capteurs internes à la carte ou les capteurs et actionneurs supplémentaires. On pourra ainsi réaliser un projet de pilotage de robot à distance en intégrant une Webcam avec un simple smartphone.

Pour réaliser le boitier, il vous faudra:

Le connecteur RJ25 sera connecté au convertisseur bi-directionnel sur le RX et TX, qui sera lui même connecté à la carte Mini Wemos ESP32. Il ne faudra pas oublié de connecter le 5V sur HV, 3.3V sur LV et GND

L'alimentation 5V sera connectée côté Vcc du connecteur RJ25 et le 3.3V du côté de la carte mini Wemos ESP32 sur sa pin 3.3V. Ne pas oublier de connecter aussi le GND.

En effet, les niveaux logiques de la carte mBot sont en 5V alors que ceux d'une carte ESP32 sont en 3.3V.

 

Il vous faudra programmer une seule fois la carte Mini Wemos en lisant la méthode indiquée ici: L'article complet.

Le fichier esp32_iot2_mbot.ino est à installer dans la carte ESP32.

Il sera ensuite possible de positionner ces composants dans une petite boite en imprimante 3D.

Télécharger le fichier STL boitier de dessous.

Télécharger le fichier STL dessus.

 

Lors du démarrage, la Led bleue présente sur la Wemos mini va s'allumer et s'éteindre deux fois pour se connecter au point d'accès. Il est possible de rajouter une autre LED connectée sur IO2 de la Wemos.

Pour redémarrer le système, il faudra éteindre le robot et le rallumer avec son interrupteur ON/OFF pour redémarrer aussi le module Wifi.

Bien penser à éteindre le robot au moins 15s!

Si la LED bleu ne clignote pas 2 fois, il faut éteindre et rallumer le robot. Cela peut arriver si le robot est alimenter par un câble USB. Sinon alimenter le robot via une LIPO ou les accumulateurs classiques.

Vidéo de présentation du système.

 

Il est aussi possible de réaliser le module Wifi à l'aide d'une carte DevKit ESP32 d'Espressif. Elle évite d'utiliser un régulateur 5V->3.3V. Il faudra positionner le convertisseur de niveaux 5V<->3.3V

L'utilisation est la même.

Le schéma de câblage:

 Vidéo du système avec carte DevKit ESP32

 

Il est aussi possible d'utiliser une carte D1R32. Pas besoin d'utiliser un régulateur 5V->3.3V, ni de LED. Il y a déjà une LED bleu sur la carte D1R32 connectée à IO2.

Voici le schéma de connexion:

La vidéo avec la carte D1R32:

 

Communiquer avec le Bluetooth entre Android et une carte Microbit.

Il existe plusieurs solutions pour effectuer une communication en BLE entre un système Android et la carte Microbit.

Le plus simple est d'utiliser une application déjà opérationnelle sur Android. Cela évitera de développer ou de paramétrer une application.

Vous pourriez alors une approche très rapide et efficace avec vos élèves sur l'utilisation très simple d'une communication en Bluetooth BLE.

Pour cela installez sur votre tablette l'application

Serial Bluetooth Terminal que vous trouverez sur le Playstore

 

Vous allez appairer une seule fois votre carte Microbit en BLE avec votre tablette ou smartphone Android.

Pour cela maintenez appuyer mes touches A+B+Reset sur le Microbit.

Puis relâchez uniquement le bouton Reset en maintenant appuyé sur les touches A+B.

Vous allez voir se remplir m'écran complétement jusqu'à voir un icône Bluetooth sur le Microbit.

Vous pourrez alors relâcher les boutons A et B.

Vous voyez maintenant une forme afficher sur votre écran.

 

Allez dans les paramètres de votre Android, puis dans la partie Bluetooth qu'il faudra activer ainsi que la géolocalisation.

Cliquez sur "associer un appareil"

Puis cliquer sur "BBC Micro:bit [..]"

Une flèche apparaît sur l'écran du Microbit qui vous invite à appuyer sur le bouton associé. Puis un code à 6 chiffres apparaît sur l'écran du Microbit. C'est ce code qui vous est demandé sur votre smartphone pour l'appairage.

Vous devriez vous l'icône "Yes" afficher sur l'écran du Microbit qui indique que l'appairage est bien terminé.

L'intérêt de réaliser cet appairage est que vos élèves n'auront pas à choisir une carte Microbit, elle sera forcément correctement appairée.

Bien cette opération ne doit pas être réalisée par les élèves. Cette opération est a réalisée qu'une seule fois.

Les élèves n'auront pas à choisir leur carte Microbit, car l'appairage sera déjà fait, donc cela limitera les erreurs et le soucis.

Il est conseillé de positionner un numéro qui sera le même que celle de la tablette.

 

L'objectif est que les élèves puissent créer un protocole de communication entre la carte Microbit et la tablette.

Prenons un exemple très simple de commande d'une lampe à distance en BLE.

Protocole choisi: Si on envoie "on" on allume le panneau à LED de la Microbit, si on envoie "off" on éteint le panneau à LED.

On utilisera l'application Serial Bluetooth Terminal pour envoyer ces commandes très simplement.

 

Passons à la programmation de la carte Microbit.

Il faudra démarrer le service Uart pour communiquer (affichage d'un grand carré).

On affichera un icône dès que la carte sera connectée à la tablette (petit carré).

Si on reçoit une commande, en sauvegarde dans la variable donnee_recue la commande "on" ou "off"

Puis on test le protocole, si on a reçu "on" on allume, sinon si on reçoit "off" on éteint les LED.

Il sera aussi possible d'envoyer une info, comme ici la température issue du capteur de température de la carte Microbit.

Pour pouvoir programmer ce système avec makecode, il faudra aller dans le menu "avance", puis "extension", puis cliquer sur l'extension "Bluetooth".

Vous aurez alors toutes les commandes pour programmer votre carte.

Voici le programme:

Il est fortement conseiller de fournir un programme exemple simple aux élèves à compléter pour éviter des erreurs.

Bien sur ce programme est modifiable à loisir.

Télécharger l'exemple de la lampe connectée.

Puis téléverser ce programme dans la carte Microbit.

 

On peut maintenant tester le protocole à l'aide de l'application Serial Bluetooth Terminal.

Lancez cette application.

Dans un premier temps, il faut connecter l'application à la carte Microbit.

2 solutions, soit vous cliquez en haut à gauche sur le menu (3 bars horizontales), puis devices, puis sur "BBC microbit". Attention il aura fallu dans un premier faire 'appairage, voir plus haut dans cet article.

Soit, directement cliquer sur l'icône connexion à gauche de la poubelle dans le menu du haut.

Vous devez voir alors dans l'interface le mot "connected".

Pour allumer la lampe, saisissez en bas "on", puis cliquer sur envoyer(flèche en bas à droite).

L'écran de la Microbit doit s'allumer, testez la commande "off" pour éteindre.

Voila vous êtes près pour proposer différentes problématique comme piloter un portail, contrôle la température dans un congélateur, etc...

Bons essais.

 

Il est aussi possible d'échanger des données entre la carte Microbit et Appinventor.

Pour cela utiliser l'exemple aia fourni qui permet de démarrer facilement.

Vous n'aurez qu'à modifier les parties pour envoyer et recevoir une donnée.

Télécharger le fichier aia

 

Il est aussi possible d'utiliser l'application NrfConnect pour faire des essais de communications. Ne pas oublier de rajouter un retour chariot pour envoyer une donnée.

 

Wifi avec la carte Microbit.

Cet article propose une solution pour permettre à nos élèves de réaliser des activités autour des compétences de réseau.

Pour cela l'utilisation de l'outil de développement Makecode en programmation par block est très bien avec la carte Microbit.

La solution proposée est basée autour d'une carte Microbit connectée à une carte D1R32 (ESP32).

La carte Microbit ne propose pas de solution de connexion Wifi en TCP/IP. C'est la carte ESP32 qui fera le pont Wifi de façon totalement transparente pour nos élèves.

Les élèves ne travailleront que sur la carte Microbit et utiliseront des commandes de blocs très simples.

L'objectif est de proposer des commandes très épurées et très simples pour nos élèves afin de leur permettre d'envoyer et de recevoir une donnée sur un réseau sans fils TCP/IP le plus simplement possible.

Une extension est à ajouter dans Makecode pour qu'ils puissent programmer avec très peu de blocs un système pour envoyer et recevoir des données.

L'article complet.

l'extension utilisée pour Appinventor.

Le fichier exemple sur Appinventor pour commander une lampe.

Fichier Apk pour commander la lampe à installer sur son smartphone ou tablette (attention, bien renommer ce fichier en .apk, ne pas garder le .pdf!)

Le fichier esp32_iot.ino est à installer dans la carte D1R32

Fichier Makecode pour la lampe connectée sur carte Codo

Pour installer l'extension dans Makecode.microbit.org, il faut cliquer sur "avancé", puis "extension", puis copier coller ce lien https://github.com/jlfra/wifi_eleve

Il sera bientôt aussi possible de transformer votre carte Microbit en point d'accès Wifi.

 

Connexion wifi Microbit from launay on Vimeo.