Comment gérer le wifi et afficher un site web sur la tablette

L’apprentissage de la programmation de la tablette de Pepper peut être déroutant dans un premier temps pour ce qui concerne le réseau WIFI. Il convient de savoir que le réseau WIFI du robot est distinct du réseau wifi de la tablette. Il faut donc d’une part que le coeur interne du robot soit connecté au réseau WIFI (ou filaire d’ailleurs) pour pouvoir envoyer les scripts chorégraphe et python. D’autre part, pour permettre à la tablette de communiquer avec internet, il est nécessaire de connecter la tablette à l’aide d’un lien WIFI propre. Les fonctions de connexion sont différentes.

Ces opérations de manipulation des connexions WIFI se font par l’intermédiaire du module ALTabletService . Ce module comporte plusieurs fonctions pour obtenir le statut de connexion, pour se connecter au réseau WIFI, pour le configurer (SSID, WPA/WEP/OPEN, mot de passe) . Il n’y a pas, en natif, dans Chorégraphe de boites pour vous simplifier la tâche à ce niveau.  Vous trouverez cependant, sur le GitHub, une série de boites additionnelles très utiles pour aller plus vite  (Lien vers  les boites WIFI Github).  Il suffit de télécharger les sources, d’intégrer les boites dans Choregraphe pour pouvoir les utiliser (un peu de traduction Japonais –> Français sera nécessaire pour adapter certaines boites).

Une fois les outils installés, le principe de connexion de la tablette Pepper au réseau est simple:

  1. Définir le langage
  2. Obtenir le statut de la liaison WIFI par GET WIFISTATUS
  3. En fonction de ce que retourne la boite: si CONNECTED alors il n’y a rien à faire. Si NON CONNECTED, il faut activer le WIFI par ENABLE WIFI. Si SCANNING alors il faut indiquer SSID et mots de passe par CONFIGURE WIFI.
  4. Sortir du script une fois le wifi connecté

connect2wifi-1

Pour votre information, il est possible de connecter Pepper à un réseau A et la tablette à réseau sans fil B distinct. Ceci peut être intéressant en terme de sécurité.

Une fois la connexion Wifi obtenue, il convient de charger une page WEB. La boite SHOW URL permet de recevoir, via un TEXT EDIT le liende la page web à afficher. Il est parfaitement possible de mettre des liens suivi de paramètres de type www.lien.com?id=123&pass=test , ce qui permet, côté serveur web de mettre de l’interactivité dans le retour du résultat. Côté serveur, n’importe quelle techniques web va pouvoir être utilisée: PERL, CGI, PHP etc …

connect2wifi-2

Il est possible d’héberger du code intelligent sur un serveur WEB classique, mais aussi construire une petite machine avec un Raspberry PI Zero , par exemple, et de le fixer dans le local où officie Pepper. Il est même possible de fabriquer un sac à dos pour Pepper et de mettre le serveur WEB dans celui-ci. Le fait de déporter une partie du traitement web hors de la machine permet de soulager les ressources Pepper, donc de ne pas le ralentir.

Vous avez, plus bas un exemple de code html avec javascript hébergé sur internet. Le code reçoit des paramètres depuis la tablette pepper, extrait ces paramètres avec Javascript, construit une page dynamiquement et la retourne à la tablette pour affichage.

14022186_10210499000460986_2071519233700068962_n

Code pour illustrer cet article , disponible en téléchargement ici: www.pwavrobot.com/codewifi.zip