Module WifiBlock de HumaRobotics pour NXT

Ce module est 100% compatible avec le NXT. Ses dimensions sont de 85mm X 70mm X 30mm, de couleur gris anthracite avec une led clignotante sur le milieu du plus bel effet. La taille importante du module est liée au fait qu’il dispose de sa propre alimentation (3 piles AA). Il est équipé d’un bouton Marche/Arrêt, de deux leds (jaune et verte) et d’un connecteur, le tout se situant sur un côté du module. Le WifiBlock peut être programmé avec le logiciel NXT-G, RobotC et NXC. Pour les tests du boitier, j’ai utilisé le logiciel  NXT-G de chez LEGO.

Caractéristiques:

  • Module wifi 802.11 b/g/n, antenne intégrée
  • Mémoire flash 16 Mo
  • Support OPEN, WEP, WPA-PSK et WPA2-PSK, sécurité AES intégrée
  • Alimentation autonome par 3 piles AA
  • Fixations compatibles avec les axes Lego

Fonctionnalités:

  • Requêtes http GET, http POSDT
  • Communication bidirectionnelle sur port TCP et UDP
  • Horloge temps réel et Datalogging sur mémoire flash.

Prise en main du boitier :

Après avoir mis en place les 3 piles, il suffit de connecter le module sur un des 4 ports d’entrées du NXT (ports repérés sur la brique 1, 2 , 3  et 4). Trois blocs sont disponibles sur le site humarobotics.com et permettent de pouvoir configurer et dialoguer entre un PC et le module. Le premier bloc à utiliser est le bloc « WifiBlock Utils », adresse IP, IP masque, IP passerelle, SSID, type de sécurité et mot de passe sont nécessaires pour le configurer. Une option « Save » dans ce bloc est disponible pour sauvegarder la configuration une fois pour toute. Lors du test, le module était configuré en WPA2/PSK avec filtrage par adresse MAC. Il met une trentaine de secondes pour se connecter à votre réseau, la led verte est clignotante, quand elle devient fixe, il est connecté. Ce bloc « WifiBlock Utils » permet aussi d’avoir accès à toutes les informations concernant le module, adresse IP, adresse MAC,  etc, voir ci-dessous.

On passe à la partie qui nous intéresse le plus, c’est le dialogue avec le NXT, le piloter, recevoir des données des différents capteurs.

Première alternative :

Installer un serveur Easy Php sur le PC. J’ai utilisé l’exemple fourni sur le site qui permet de piloter un robot, 2 programmes php sur le serveur et un programme dans la brique NXT ; ces trois programmes permettent au robot d’avancer, de reculer, de tourner à droite ou à gauche et de s’arrêter. Chouette ! Le robot dialogue avec le serveur. Avec un Smartphone, une tablette ou un autre ordinateur, on peut piloter le robot en réseau local. Si on donne l’accès au serveur sur le net, le pilotage devient possible depuis n’importe quel PC connecté au net.

Programme PHP:

Ce programme écrit dans un fichier sur le serveur, le robot par l’intermédiaire du WifiBlock va lire la valeur dans le fichier et exécute une commande (avancer, reculer, gauche, droite et arrêt)

Pilotage à l’aide d’un Smartphone :

Le bloc « WifiBlock Communication » est le bloc à utiliser car il permet l’envoi de requêtes GET, POST, TCP et UDP. Le deuxième essai effectué permet de recevoir des informations d’un capteur installé sur le robot. J’ai récupéré les informations du capteur ultrason, le robot se déplace, dès qu’il détecte un obstacle, il s’arrête et repart dans une autre direction, les informations du capteur sont envoyées à chaque tour du programme. Pour récupérer ces données, un programme php réceptionne les requêtes POST effectuées par le robot et les range dans une base de données.

Exemple d’informations récupérées :

On peut voir que le transfert des données est rapide et avec de l’imagination (ceux qui ont un NXT en ont) on peut tracer des graphiques. On peut voir sur le graphique que dès que la distance est inférieure à 30 cm, le robot s’arrête et change de direction.

Deuxième alternative :

Développer un programme sous C, C++ ou C#, écrire un programme sous NXT-G permettant à la brique NXT d’envoyer toutes les données disponibles, capteur ultrason, capteur poussoir, capteur de lumière, rotations des 3 moteurs. L’intelligence est placée sur le PC et le programme récupére les données TCP, les analyse et envoit des ordres à la brique. Cette alternative reste liée à l’application développée et installée sur un PC, il n’y a pas d’accès par le web.

Conclusion :

Ce module est facile à mettre en place sur le réseau wifi. Il est bien fini, fait produit Hightech avec sa couleur. Il dispose de sa propre alimentation. Durant son utilisation, je n’ai eu aucun problème de transfert de données. La consommation en pîles est correcte, 3 changements de piles sur la brique NXT contre un pour le module wifi. L’installation d’un serveur PHP permet d’avoir accés au robot depuis le web. Ce serveur permet aussi la sauvegarde des données. La création d’une application (C#, C ou C++) pour piloter son robot est plus complexe et ne permet pas d’avoir accés à celui-ci par le web.

Le WifiBlock est encombrant, lors de la construction d’un robot, il faut prendre en compte sa taille. Une batterie lithium de plus petite taile rechargeable par une prise mini usb serait un plus.

La connexion du module supprime une entrée, donc obligation de bien définir son projet au départ. Le pilotage par bluetooth permettrait de garder les 4 entrées disponibles (plus difficile en programmation mais faisable).

L’optimisation de votre programme sur NXT-G devient indispensable car l’utilisation des modules WifiBlock augmente la taille du programme.

Ce module dispose de 16Mo de mémoire pour la sauvegarder de fichiers de données. Lors du test, avec le logiciel NXT-G l’option n’était pas disponible. Dommage que cet accès soit indisponible pour avoir une extension de la mémoire pour la brique NXT qui serait plus profitable.

Quelques améliorations seraient souhaitables :

  • Afin de rendre la brique NXT autonome, le module wifi avec une batterie plus  conséquente venant en lieu et place des pîles du NXT.
  • Utiliser les 16Mo pour mettre un soft ou un mini serveur permettant d’avoir accés aux 3 moteurs et 3 capteurs afin d’obtenir les informations sans être obligé de réaliser un programme NXT-G (des applications existent en passant par la liaison bluetooth).
  • Pourquoi une mémoire de 16Mo quand le module peut transférer ses données dans une base de données en temps réel.

Petit exemple de ce qu’on peut réaliser :

Le robot se déplace dans un environnement, dès qu’un obstacle se présente, il envoit au serveur la distance parcourue en degré (rotation d’une des roues du robot). Il y a remise à zéro du capteur de la roue, le robot repart à droite et il mesure à nouveau son déplacement.

Tableau des valeurs en degrés :

Carte de déplacement du robot :

Merci à HumaRobotics qui m’a permis d’écrire cet article grâce à la fourniture du WifiBlock.

Une autre réalisation que j’ai trouvé sur le web:

Sur ce site, on peut commander le robot NXT, lors de l’écriture de l’article, l’expérimentation était terminée.

12 réflexions sur « Module WifiBlock de HumaRobotics pour NXT »

  1. Bonjour

    Je suis enseignant et mes élèves m’ont demandé de faire un petit atelier scientifique le midi, depuis un an nous avons des robots NXT qui conviennent parfaitement et nous avons acheter un wifiblock pour dialoguer.Faut il mettre une version autre que NXT sotfware v2.0 ou un patch pour dialoguer ? pourriez vous m’envoyer de la documentation de vos scripts simples pour qu’ils puissent poursuivre leur travail car nous avons peu d’information ?

    Merci

    Cordialement

    M CANU

  2. Bonjour,

    Je suis élève en Terminale S et j’utilise actuellement le wifiblock dans le cadre du PPE.
    Mon objectif est de contrôler la brique NXT par wifi via un smartphone sauf que je n’arrive pas à le faire depuis un PC et c’est pourquoi je solicite votre aide si possible..
    J’ai appelé plusieurs fois le suppor de Humarobotics et ils m’ont fourni le tuto en PDF avec le programme NXT correspondant ainsi que les fichiers « m.php » et « remote.php » à utiliser via l’interface Easyphp.
    Je n’arrive toujours pas à faire bouger les moteurs, si vous pouviez me répondre par mail.

    D’avance merci

    Cameron

  3. Bonjour,
    Je suis en première S avec pour spécialité science de l’ingénieur, je travaille pour mon TPE sur un robots nxt et je viens de recevoir un blockwifi, mon idée est également de récupérer les données de mon capteur à ultrasons mais je ne comprend pas comment on utilise EasyPHP pour récupérer ces informations. Si vous pouviez me donner quelque informations sur la manière de procéder je vous en serez reconnaissant.
    Cordialement
    Alexandre

  4. Bonsoir,

    Je tiens à recommander ce site ainsi que leur(s) gérant(s), je suis entièrement satisfait de leur travail et de leur aide proposée, encore merci (et ce n’est que le début 😉 ).

    Bonne continuation !

  5. Bonjour, je suis élève en Terminale SSI, et pour mon projet de PPE je prévois d’utiliser le capteur du NXT pour lui permettre de reconnaître une chanson parmi 5 préalablement stockées dans une base de données et de ce fait effectuer une danse correspondant à cette chanson. J’ai de même reçu une brique WiFi mais ne sais pas vraiment comment m’en servir, pourriez-vous me contacter par mail? Merci d’avance.

  6. Bonjour, je suis élève de terminal STIDD, et pour mon projet de bac, j’utilise les robots NXT, j’ai reçu mon block wifi, seulement il y a un problème sur le WifiBlockComm, je peux pas mettre l’adresse ip, il n’y a pas les cases pour écrire l’adresse ip,
    Pourriez me contacter par mail s’il vous plait ?

  7. Bonjour,
    Je suis en Terminale sti2d, pour mon projet de fin d’année, je dois réaliser un robot, ayant pour base le lego mindstorm.
    Pouvez-vous me dire comment importer des blocks, pour le wifiblocks (Lego mindstorm EV3), je ne trouve pas, lces derniers en extension *.ev3b.
    Je suis déjà aller sur humarobotics, ca n’est pas compatible.
    Pourriez-vous m’aider c’est extrêmement urgent !
    Merci d’avance.
    Cordialement,
    Guillaume

  8. Bonjour,
    Je n’arrive pas à ajouter des blocks pour le wifiblocks.
    Car, l’extension est en ev3b.
    Même sur le site de humarobotics, ça n’y est pas.
    C’est très urgent !
    Merci d’avance !
    Contactez par moi par mail
    Cordialement,
    Gui

  9. Bonjour,

    Le wifiblock est un matériel ancien et aujourd’hui il n’existe pas de blocs pour la version EV3 malheureusement.

    Il faut essayer de creuser la piste wifi de la brique EV3 car on peut brancher une clé wifi sur cette brique.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *