Changes between Initial Version and Version 1 of setup_target/mambo


Ignore:
Timestamp:
02/13/20 13:58:04 (4 years ago)
Author:
Sanahuja Guillaume
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • setup_target/mambo

    v1 v1  
     1= Les minidrones de Parrot =
     2
     3Il existe différentes version.
     4
     5Au labo on a:
     6* minidrones blaze
     7* minidrones mars
     8* minidrones swat
     9* mambo fly
     10* swing (convertible)
     11
     12les minidrones semblent identiques et de "1ère" génération (a voir si le rolling spider n'est pas encore plus ancien et différent).
     13
     14Le mambo fly (et le swing?) est plus récent, il semble le seul compatible avec matlab (cf JDM). Voir notament https://github.com/Parrot-Developers/RollingSpiderEdu
     15
     16Quelques liens intéressants:
     17
     18http://wiki.paparazziuav.org/wiki/Ap.parrot_minidrone
     19
     20https://iot.goffinet.org/labs_mini-drone_controller.html
     21
     22
     23== les minidrones (blaze, mars et swat)
     24
     25une fois branchés en usb, appuyer 4 fois sur le bouton pour monter un réseau via usb (ip drone 192.168.2.1)
     26(ne semble marcher que sur le blaze!)
     27
     28
     29* ram 32Mo
     30* flash 128Mo
     31* cpu ARM926EJ-S 200MHz
     32* noyau 2.6.36
     33* mpu6050: 3 acc et 3 gyros (i2c)
     34* capteur pression MS5607 (i2c)
     35* magneto akm8963?? (listé dans /dev) mais pas sur que le capteur soit la
     36* ultra son
     37
     38Se présente comme une clé usb par défaut. Les données sont dans /data/usb_disk.img
     39
     40
     41Lorsque l'on appuie 4 fois sur le bouton, se présente comme une clé usb, un eth et un port série. Les données sont dans /data/usb_debug_disk.img
     42
     43
     44=== remonter / en rw ===
     45
     46pour faire des modifs sur le rootfs:
     47
     48{{{
     49mount -o remount,rw /
     50}}}
     51
     52=== montages usb ===
     53
     54* Voir [http://linux-sunxi.org/USB_Gadget/Mass_storage ici] pour la doc sur le montage usb
     55
     56* changer la taille des montages usb:
     57{{{
     58vi /bin/delos_shell.sh
     59}}}
     60  et redémarrer le drone
     61
     62* monter localement un fichier image
     63{{{
     64mount -o loop /data/usb_disk.img /data/hds/usb/
     65}}}
     66
     67=== récuperer un rootfs custom ===
     68
     69en vue d'en faire un chroot
     70
     71procédure complexe (à cause du peu de flash dispo), à voir si simplifiable
     72
     73* régler la taille du usb_disk.img pour mettre le rootfs
     74{{{
     75mount -o remount,rw /
     76vi /bin/delos_shell.sh
     77}}}
     78* mettre le tar.gz sur la clé usb
     79* appuyer 4 fois sur le bouton
     80*  libérer de la mémoire (pour le tmpfs)
     81{{{
     82kk
     83killall BLEproxy
     84}}}
     85* faire un tmpfs
     86{{{
     87mount -t tmpfs -o size=32M tmpfs /data/hds/tmp
     88}}}
     89* monter localement le fichier image
     90{{{
     91mount -o loop /data/usb_disk.img /data/hds/usb/
     92}}}
     93* copier le tar.gz sur le tmpfs
     94* effacer le disk.img pour gagner de la place
     95* décompresser le tar.gz
     96* régler la taille du usb_disk.img à une valeur faible
     97{{{
     98vi /bin/delos_shell.sh
     99}}}
     100
     101=== lancer le chroot ===
     102
     103et un serveur ssh
     104{{{
     105#kk
     106
     107#shutdown camera, dragon-prog uses too much cpu for optical flow
     108echo 0 > /sys/devices/platform/user_gpio/HRESET_CAM/value
     109
     110mount -o  bind /dev /data/hds/rootfs/dev/
     111mount -t sysfs sys /data/hds/rootfs/sys/
     112mount -t proc proc /data/hds/rootfs/proc/
     113 
     114mount devpts /data/hds/rootfs/dev/pts -t devpts
     115
     116unset LD_PRELOAD
     117chroot  /data/hds/rootfs/ /etc/init.d/dropbear start
     118}}}
     119
     120=== bluetooth ===
     121
     122voir [https://github.com/Parrot-Developers/RollingSpiderEdu/blob/master/Parrot_customFirmware/rollingspider.edu_quick_start.pdf ici]
     123
     124=== lancer automatiquement un programme au démarrage ===
     125Les minidrones (en tout cas le mambo) utilisent comme système de démarrage "boxinit". Probablement un développement maison parrot.
     126
     127Pour démarrer notre système automatiquement en fin de démarrage il faut
     128  * créer le fichier 99-hds.rc qui contient
     129{{{
     130service hds /data/hds/start.sh
     131    disabled
     132    oneshot
     133   
     134on boot
     135    start hds
     136}}}
     137  * créer /data/hds/start.sh avec le contenu
     138{{{
     139#!/bin/sh
     140/data/hds/chroot.sh > /data/hds/start.log
     141}}}
     142  * rendre le script exécutable
     143{{{
     144chmod +x /data/hds/start.sh
     145}}}
     146
     147On peut donc ensuite récupérer le log dans /data/hds/start.log
     148
     149== Mambo ==
     150
     151* ram 64Mo
     152
     153Nécessite un custom firmware pour avoir le réseau sur bluetooth et le telnet:
     154https://github.com/Parrot-Developers/MinidronesEdu
     155
     156placer le fichier à la racine de la clé usb
     157(testé avec un firmware original en 2.6.6)