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: