FoxBoard pour MindStorm 2012 : Différence entre versions

De Wiki de bureau d'études PeiP
(Adapter l'interface Web)
(Communication inter-FoxBoard)
 
(2 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 33 : Ligne 33 :
 
== Programmer le robot MindStorm ==
 
== Programmer le robot MindStorm ==
  
Vous allez maintenant pouvoir contrôler votre robot MindStorm par l'interface Web de la FoxBoard (à courte distance en filaire et à moyenne distance en WiFi). Vous pouvez utiliser l'onglet <i>Controle</i> pour cela. Les instructions sont envoyés dans la boite numéro 3 de la brique MindStorm et la brique doit envoyer une réponse dans la boite numéro 4. Avec le sous-onglet "basic", l'interface Web fournie transmet le code 1 pour la fléche vers le haut, le code 2 pour la flèche vers le bas, le code 3 pour tourner dans un sens, le code 4 pour tourner en sens inverse et le code 0 pour le panneau de stop. Avec le sous-onglet "total" l'interface Web va envoyer le code 5 dans la boite numéro 3 en ayant envoyé auparavent les valeurs pour les moteurs dans les boites numéro 5 et 6. L'onglet "lignes" permet de mettre le robot en mode suivi de ligne et l'onglet "positions" affiche une carte et doit permettre de positionner les robots sur cette carte
+
Vous allez maintenant pouvoir contrôler votre robot MindStorm par l'interface Web de la FoxBoard (à courte distance en filaire et à moyenne distance en WiFi). Vous pouvez utiliser l'onglet <i>Controle</i> pour cela. Les instructions sont envoyés dans la boite numéro 3 de la brique MindStorm et la brique doit envoyer une réponse dans la boite numéro 4. Avec le sous-onglet "basic", l'interface Web fournie transmet le code 1 pour la fléche vers le haut, le code 2 pour la flèche vers le bas, le code 3 pour tourner dans un sens, le code 4 pour tourner en sens inverse et le code 0 pour le panneau de stop. Avec le sous-onglet "total" l'interface Web va envoyer le code 5 dans la boite numéro 3 en ayant envoyé auparavant les valeurs pour les moteurs dans les boites numéro 5 et 6. L'onglet "lignes" permet de mettre le robot en mode suivi de ligne et l'onglet "positions" affiche une carte et doit permettre de positionner les robots sur cette carte
  
 
== Adapter l'interface Web ==
 
== Adapter l'interface Web ==
  
Il est possible d'ajouter de nouvelles pages Web sur le site de la FoxBoard en utilisant l'onglet <i>Téléchargement</i>. Vous pouvez vous inspirer des sources du site [[https://peip-ima.polytech-lille.net:40001/archive/legowww-2012.tar]]. Vous pouvez trouver les scripts utilisés dans ces pages dans cette archive [[https://peip-ima.polytech-lille.net:40001/archive/scripts-2012.tar]].
+
Il est possible d'ajouter de nouvelles pages Web sur le site de la FoxBoard en utilisant l'onglet <i>Téléchargement</i>. Vous pouvez vous inspirer des sources du site [[https://peip-ima.plil.fr/archive/legowww-2012.tar]]. Vous pouvez trouver les scripts utilisés dans ces pages dans cette archive [[https://peip-ima.plil.fr/archive/scripts-2012.tar]].
  
 
== Communication inter-FoxBoard ==
 
== Communication inter-FoxBoard ==
  
A partir de là vous devez mettre au point un système de communication entre les FoxBoard. Cette communication repose sur le programme <tt>robotmem</tt>. Le dit programme reçoit des informations en provenance de toutes les FoxBoard (lorsqu'elles sont connectée à un même réseau WiFi). C'est le script PHP <tt>robotbdc.php</tt> qui permet d'envoyer ces informations, vous pouvez voir comment ce script est appelé par le site Web en lisant la page HTML <tt>conduire.html</tt> et en particulier le code JavaScript qu'elle contient. Pour vous aider, les sources des programmes déjà écrits pour la FoxBoard sont disponibles [[https://peip-ima.polytech-lille.net:40001/archive/FoxLego-2012.tar]].
+
A partir de là vous devez mettre au point un système de communication entre les FoxBoard. Cette communication repose sur le programme <tt>robotmem</tt>. Le dit programme reçoit des informations en provenance de toutes les FoxBoard (lorsqu'elles sont connectée à un même réseau WiFi). C'est le script PHP <tt>robotbdc.php</tt> qui permet d'envoyer ces informations, vous pouvez voir comment ce script est appelé par le site Web en lisant la page HTML <tt>conduire.html</tt> et en particulier le code JavaScript qu'elle contient. Pour vous aider, les sources des programmes déjà écrits pour la FoxBoard sont disponibles [[https://peip-ima.plil.fr/archive/FoxLego-2012.tar]].
  
 
== Arrêter la FoxBoard ==
 
== Arrêter la FoxBoard ==
  
 
La FoxBoard doit toujours s'arrêter proprement via l'onglet <i>Configuration</i> de son site Web ou par la commande <tt>halt</tt> lorsque que vous êtes connectés dessus.
 
La FoxBoard doit toujours s'arrêter proprement via l'onglet <i>Configuration</i> de son site Web ou par la commande <tt>halt</tt> lorsque que vous êtes connectés dessus.

Version actuelle datée du 17 janvier 2018 à 18:14

Fox materiel.jpg

Installation du système

Pour commencer vous devez installer le système sur la micro-SD servant de disque à la FoxBoard. Commencez par récupérer l'image [[1]] de ce système. Insérez votre carte micro-SD dans l'adaptateur USB. Repérez le nom du périphérique USB en tapant la commande df (par exemple /dev/sdb). Avant de copier l'image sur votre micro-SD démontez les montages indiqué par la commande df et commençant par /media (par exemple /media/kernel). Pour démonter il faut taper des commandes sur le modèle suivant.

$ umount /media/kernel

Vous pouvez alors copier l'image sur votre micro-SD.

$ dd if=foxlego.img of=/dev/sdb

Insérez votre micro-SD dans la FoxBoard, vous êtes maintenant prêts à la démarrer. Pour alimenter la FoxBoard utilisez les câbles USB et branchez sur votre ordinateur fixe.

Connexion des périphériques

Trois périphériques USB doivent être connectés à la FoxBoard; un adaptateur BlueTooth, une interface réseau WiFi et une caméra USB.

Accès au serveur Web de la FoxBoard

La FoxBoard est configurée avec une adresse IP sur l'interface Ethernet de 192.168.100.1. Pour la première configuration, connectez le port Ethernet de la FoxBoard au port Ethernet de votre machine Linux via un câble croisé. Configurez votre machine Linux pour configurer sa carte Ethernet de façon automatique (protocole DHCP). Vous pouvez maintenant contacter la FoxBoard en filaire. Tapez simplement l'URL http://192.168.100.1/ dans votre navigateur en ayant pris soin de retirer le mandataire Web. Vous pouvez alors configurer l'accès WiFi à votre FoxBoard, précisez un SSID original et un canal radio de façon à éviter les conflits. Vérifier que vous pouvez vous connecter sur votre FoxBoard en WiFi.

Configuration de la FoxBoard

Il faut maintenant adapter la FoxBoard à votre robot MindStorm. Sur le site Web de la FoxBoard, choisissez l'onglet Configuration. Trouvez l'adresse MAC BlueTooth de votre brique MindStorm, saisissez l'adresse dans le champ ad hoc et validez. Les périphériques BlueTooth doivent s'identifier pour discuter entre eux. Saisissez le code BlueTooth de votre robot dans le champ prévu à cet effet (le code par défaut est 1234) et validez. Allumez votre robot sans lancer de programme. Via le site de la FoxBoard lancez le démon controle, le PID du processus doit s'afficher en vert et votre robot va émettre un bip; la connexion BlueTooth entre les deux équipements s'initialise et ils cherchent à s'identifier. Si le robot reste silencieux et n'affiche pas son code BlueTooth (si vous avez désactivé le son) c'est probablement que l'adresse MAC saisie est erronée. Appuyez simplement sur le bouton orange OK de la brique MindStorm et l'identification devrait s'effectuer. Dans le cas contraire vérifiez le code BlueTooth.

Pour trouver le code BlueTooth de votre MindStorm vous pouver utiliser la FoxBoard, il suffit de se connecter dessus en tant qu'administrateur (mot de passe glopglop habituel) :

 
$ ssh root@192.168.100.1
password:
# hcitool scan
... 

Programmer le robot MindStorm

Vous allez maintenant pouvoir contrôler votre robot MindStorm par l'interface Web de la FoxBoard (à courte distance en filaire et à moyenne distance en WiFi). Vous pouvez utiliser l'onglet Controle pour cela. Les instructions sont envoyés dans la boite numéro 3 de la brique MindStorm et la brique doit envoyer une réponse dans la boite numéro 4. Avec le sous-onglet "basic", l'interface Web fournie transmet le code 1 pour la fléche vers le haut, le code 2 pour la flèche vers le bas, le code 3 pour tourner dans un sens, le code 4 pour tourner en sens inverse et le code 0 pour le panneau de stop. Avec le sous-onglet "total" l'interface Web va envoyer le code 5 dans la boite numéro 3 en ayant envoyé auparavant les valeurs pour les moteurs dans les boites numéro 5 et 6. L'onglet "lignes" permet de mettre le robot en mode suivi de ligne et l'onglet "positions" affiche une carte et doit permettre de positionner les robots sur cette carte

Adapter l'interface Web

Il est possible d'ajouter de nouvelles pages Web sur le site de la FoxBoard en utilisant l'onglet Téléchargement. Vous pouvez vous inspirer des sources du site [[2]]. Vous pouvez trouver les scripts utilisés dans ces pages dans cette archive [[3]].

Communication inter-FoxBoard

A partir de là vous devez mettre au point un système de communication entre les FoxBoard. Cette communication repose sur le programme robotmem. Le dit programme reçoit des informations en provenance de toutes les FoxBoard (lorsqu'elles sont connectée à un même réseau WiFi). C'est le script PHP robotbdc.php qui permet d'envoyer ces informations, vous pouvez voir comment ce script est appelé par le site Web en lisant la page HTML conduire.html et en particulier le code JavaScript qu'elle contient. Pour vous aider, les sources des programmes déjà écrits pour la FoxBoard sont disponibles [[4]].

Arrêter la FoxBoard

La FoxBoard doit toujours s'arrêter proprement via l'onglet Configuration de son site Web ou par la commande halt lorsque que vous êtes connectés dessus.