Orange m'a offert gracieusement deux mois d'abonnement Business EveryWhere illimité. Cette offre (réservé aux entreprises) permet de se connecter depuis son ordinateur portable au réseau 3G+ (ou GPRS) à internet. La particularité de cette offre est qu'à chaque connexion, on obtient une IP publique (accessible depuis n'importe ou).
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". Ca tombe bien, mon K800i fait parfaitement tout ca.

Pour connecter le téléphone au robot, il faut d'abord lui ajouter le support du bluetooth. Malheureusement (à l'heure acutelle), les bin utils bluez du sdk d'acmesystem pour la foxboard sont buggé 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 fimage nous pourront nous connecter correctement au téléphone (voir ma 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. Pour cela, la procedure expliqué ici 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).

Une fois que tout est parfaitement configuré il ne reste plus qu'a 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 on été modifié pour adopter ce comportement. Rendez vous sur le SVN :)

Maintenant il ne reste plus qu'a lancer votre navigateur internet, vous connecter sur l'adresse IP ppp du robot et le tour est joué. A vous une balade dans Paris (la tour eiffel ?!) sans bouger de votre chaise :)

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.