Contrôler un AR.Drone sous Android

On 7 décembre 2010 by NkL4


Si vous me suivez sur Twitter, vous avez (peut être) remarquer que le mois dernier, BlimpMe! (donc moi), a fait gagner 4 AR.Drone. Pour ceux qui ne me suivent pas encore, faut le faire maintenant hein => @NkL4

J’étais donc pendant quelques semaines, en présence d’AR.Drone dans le bureau.

Rappel : l’AR.Drone c’est Le premier quadricoptère piloté par un iPhone/iPod Touch/iPad

J’ai pas de produits Apple sous la main (normal je hais Apple), juste un Netbook et un HTC Desire sous Android. Ayant peu de temps devant moi, je regarde rapidement l’exemple Android dans le SDK AR.Drone de Parrot et c’est pas fameux.

Le problème est qu’Android ne peut se connecter à un réseau Wifi Ad-hoc et que pour contrôler un AR.Drone, il faut s’y connecter en Wifi « Ad-hoc » ! Va savoir pourquoi cette restriction est présente sur les ROMs officielles !

On compile donc un exécutable sous Windows, ce qui nous a permis de tester ce quadricoptère. Mais je suis sincèrement resté sur ma faim.

Bref, les AR.Drone sont partis chez les gagnants du Blogs Challenge et je n’y pense plus …. jusqu’à aujourd’hui où deux colis sont arrivés au bureau.

J’en peux plus, faut que je puisse faire joujou depuis mon Android. Je cherche un petit peu (beaucoup) avec mon ami Google sur ce qui est possible de faire pour se connecter à un Wifi Ad-hoc.

Et j’ai trouvé :)

Allez assez de blabla, passons aux faits.

Tout d’abord il faut un téléphone sous Android rooté (ça tombe bien, j’ai rooté mon Desire il y a peu), appliquer un petit patch qui modifiera le fichier wpa_supplicant qui autorisera le scan et la connection au réseau Ad-hoc.

Pour ce faire j’ai suivi ces instructions.

Si je résume, tu dois connaitre la version de ton wpa_supplicant. Tu pourras la trouver en faisant un petit wpa_suplicant -v dans un adb shell ou via l’application ConnectBot dont je ne saurais te conseiller tellement elle est utile.

Ensuite, suivant la version de ton wpa_suplicant, télécharge le fichier correspondant :

In case of v0.5.11:
Download wpa_adhoc-signed.zip

In case of v0.6.00:
Download wpa6_adhoc-signed.zip

Ensuite pose le zip à la racine de ta SD Card, reboot en Recovery mode, install le patch et voilou :)

Enfin presque, il ne te reste plus qu’à installer AR.Drone Demo ou à développer ta propre application ;)

18 Responses to “Contrôler un AR.Drone sous Android”

  • salut le premier à poster sa métone jolie boulot merci pour ses infos est bravo

  • greg

    Salut,
    J’ai fait plusieurs tentatives pour connecter l’AR Drone avec mon milestone (android 2.1) avant de lire cet article. Le procédure décrite, en générale, consiste à rooter le téléphone, puis a éditer les fichiers tiwlan.ini et wpa_supplicant.conf: ce qui chez moi n’a jamais fonctionné.
    A priori le patch proposé ici remplace carrément le wpa_supplicant: dans quelle mesure cette manip est fiable? Un backup de wpa_supplicant est-il suffisant pour assurer la possibilité d’un retour en arrière?
    En tout cas, merci pour cet article…

  • NkL4

    @greg: Salut Greg !
    Pour ma part, j’ai effectué un backup de wpa_supplicant, puis installer le patch comme décrit et je n’ai aucun probleme, les réseaux adhoc sont bien détecté.

    Je suis sous Froyo HTC Desire

  • greg

    @NkL4:
    Salut,
    J’ai fait une tentative en faisant un backup de mon wpa_supplicant, un mount R/W du dossier /system/bin et un remplacement du wpa_supplicant par celui du patch (en vérifiant bien la version). Et ça n’a pas fonctionné (plus de wifi du tout). J’ai donc remis en place mon ancien wpa_supplicant et tout est rentré dans l’ordre.
    Conclusion: j’ai bien peur que ce patch ne fonctionne pas sur les Milestone en 2.1.
    Pour info, en attendant d’avoir un support wifi ad-hoc sur mon téléphone, j’ai trouvé une astuce pour établir la liaison avec le drone: utiliser Barnacle Wifi Tether (http://szym.net/barnacle/) en configurant manuellement le SSID et les adresses IP.
    C’est pas très propre, et ça ne fonctionne pas avec ARDroid (qui cherche à activer le wifi elle-même), mais ça marche très bien avec le AR.Drone demo.

  • @greg: il me semble que la manip est différente pour Eclair (2.1).

    Il sera intéressant de voir ce que Parrot va proposer aux utilisateurs Android pour régler ce point. C’est un manque à gagner non négligeable pour eux.

  • boulle13

    bonjours

  • boulle13

    ja i la derniere version de supplicant 0.6.10 et cela ne marche pas avec le 0.6.0

    avez vous une idée ?

  • Arnaud

    Hello,

    Dans ton article; tu dis avoir regardé l’exemple d’android dans le SDK. Est-ce que tu es arrivé à le compiler ? Apparemment il y a des erreurs, mais je ne suis pas arrivé à les trouver.

    Est-ce que tu as trouvé des infos pour le compiler, ou tout simplement est-ce que tu as trouvé les erreurs ?

  • NkL4

    @boulle13: Malheureusement non :(

  • NkL4

    @Arnaud: J’ai vite arreté de chercher à compiler l’exemple. Il existe une appli très bien sur le Market (gratuite) qui s’appelle ARDroid => http://market.android.com/details?id=com.rafoid.ARDroid

  • Yann

    @greg dit :

    Peux tu me donner les config que tu as mis dans barnacle ?
    Meric d’avance !

    A+

  • greg

    Salut,
    je n’ai plus mes notes sous la main, mais l’idée c’est que j’ai établie une fois la connexion avec mon pc et j’ai noté le ssid (genre ardrone_xxxx), le canal (6 de mémoire) et l’adresse IP. Et j’ai donné tout ça a barnacle, et ça marche très bien.
    Bonne chance, si tu as besoin d’aide recontacte moi la semaine prochaine parce que là je ne suis pas chez moi.

  • Alain ESCAFFRE

    Avec 2;2;1 ça a marché très bien marché.

    Depuis mise a jour 2.3.4 XXJVP j’a irefait la manip ça ne marche pas

    POUVEZ maider
    Cordialement Alain

  • NkL4

    @Alain ESCAFFRE: Arf, désolé j’en ai aucune idée. Il semblerait que Parrot nous prépare une version Android officielle pour le controle du Drone, ainsi que pour le jeu AR.Race tout ceci courant juillet :) Wait and see !

  • marcho

    bjr , voila j’ai rooter mon acer , je pense que je lai bien fais , et maintenant je comprend rien a la manip a faire pour trouver les reseaux ad hoc , conectbot ne me di pas la version du suplicant , et surtou comment rebooter en recovery mod , je suis pas tro caler la dessus si vous avez des soluce .

  • marcho

    @greg: slt dreg moi aussi j’y ai penser mais dur de le configurer , je ne trouve pas comment etablir la conection au drone sa me marque beaconing ad-hoc network si tu as une solution pour le configurer

  • Thats good stuff you have written up on this blog. Had been looking for articles on this everywhere. Great work

    Hope you would like to read about jeu gonflable montreal

  • I’ve been exploring for a bit for any high-quality articles or weblog posts on this sort of space . Exploring in Yahoo I ultimately stumbled upon this website. Reading this information So i am happy to convey that I have an incredibly just right uncanny feeling I came upon exactly what I needed. I so much certainly will make sure to don’t overlook this website and give it a glance a continuing.

Laisser un commentaire

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

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Featured Posts

  • Popular Posts