- En utilisant le réseau 3G+/GPRS on obtient une couverture "théorique" globale au niveau national. Ce qui signifie qu'on pourrait piloter le robot n'importe où en France sans contrainte de distance... Le test réalisé a d'abord été effectué avec une carte Orange Pro 3G nous donnant une adresse IP public. (Accessible depuis n’importe où). Dans notre cas l'ordinateur portable est le robot et il suffit d'utiliser un téléphone portable compatible 3G et offrant la fonction de "modem bluetooth". Nous utiliserons un K800i.

- Pour connecter le téléphone au robot, il faut d'abord lui ajouter le support du bluetooth. Malheureusement (à l'heure actuelle), les bin utiles bluez du sdk d'acmesystem pour la foxboard sont buggés et ne permettent pas le peering avec un périphérique. Vous trouverez ici la procédure que j'ai écrite pour recompiler les bin utils correctement pour la fox. Une fois la foxboard flashé avec la nouvelle image nous pourrons nous connecter correctement au téléphone (voir Procédure.)

- Une fois le robot connecté en bluetooth au téléphone, il va pouvoir l'utiliser comme modem pour se connecter sur internet. Ci-joint, l procédure détaillée http://www.acmesystems.it/?id=13.

Toute fois il y a quelques petites modifications a apporter aux fichiers de configuration. Dans le fichier gprs-options, le chemin vers le device n'est pas /dev/ttyS2 mais /dev/rfcomm0 (l'émulation serie bluetooth entre le téléphone et le robot). Le fichier gprs-connect doit être contenir l'APN de connexion. Dans le le fichier par defaut c'est ibox.tim.it qui fonctionne pour un operateur italien. Dans le cas d'une connection Orange business service, c'est internet-entreprise. Dans le cas d'une connexion data SFR c'est websfr (et non wapsfr), pour Bouygues : ebouygtel.com.

- Une fois que tout est parfaitement configuré il ne reste plus qu'à tout connecter. Un petit script peut parfaitement remplir cette tâche. Veillez à avoir activé le bluetooth sur le téléphone).


/bin/sh

rfcomm connect hci0 <MAC> <channel> &

sleep 10

route delete default

/usr/sbin/pppd file /etc/ppp/gprs-options


- Pour connaitre l'adresse bluetooth de votre téléphone ainsi que le channel sur lequel vous devez vous connecter, Vous pouvez regarder ici(fin du message).

- Si tout c'est bien déroulé, la fox est connecté et vous pouvez le vérifier avec un ifconfig. Vous devriez voir une nouvelle interface ppp. Si vous avez une adresse IP qui commence par 10, vous ne pourrez pas vous connecter au robot car il s'agit d'une IP privé (non accessible depuis l'extérieur).

- Update: SFR propose aussi une offre data mais n'offre pas d'adresse IP publique. La solution est de "renverser" le mode de connexion du robot au client. Le client devient le serveur et le robot devient client. C'est lui qui se connecte à l'interface de pilotage et plus l'inverse. Cette solution permet de passer au travers du NAT. Le client JAVA ainsi que le serveur du robot et le serveur de streaming ont été modifié pour adopter ce comportement. Rendez vous sur le SVN :)

Maintenant il ne reste plus qu'à lancer votre navigateur internet, vous connecter sur l'adresse IP ppp du robot et le tour est joué.

Le faible débit de la 3G et du bluetooth, plus le temps de latence (ping) élevé rends la conduite moins évidente mais pas impossible.