== les minidrones (blaze, mars et swat) une fois branchés en usb, appuyer 4 fois sur le bouton pour monter un réseau via usb (ip drone 192.168.2.1) (ne semble marcher que sur le blaze!) * ram 32Mo * flash 128Mo * cpu ARM926EJ-S 200MHz * noyau 2.6.36 * mpu6050: 3 acc et 3 gyros (i2c) * capteur pression MS5607 (i2c) * magneto akm8963?? (listé dans /dev) mais pas sur que le capteur soit la * ultra son Se présente comme une clé usb par défaut. Les données sont dans /data/usb_disk.img Lorsque 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 === remonter / en rw === pour faire des modifs sur le rootfs: {{{ mount -o remount,rw / }}} === montages usb === * Voir [http://linux-sunxi.org/USB_Gadget/Mass_storage ici] pour la doc sur le montage usb * changer la taille des montages usb: {{{ vi /bin/delos_shell.sh }}} et redémarrer le drone * monter localement un fichier image {{{ mount -o loop /data/usb_disk.img /data/hds/usb/ }}} === récuperer un rootfs custom === en vue d'en faire un chroot procédure complexe (à cause du peu de flash dispo), à voir si simplifiable * régler la taille du usb_disk.img pour mettre le rootfs {{{ mount -o remount,rw / vi /bin/delos_shell.sh }}} * mettre le tar.gz sur la clé usb * appuyer 4 fois sur le bouton * libérer de la mémoire (pour le tmpfs) {{{ kk killall BLEproxy }}} * faire un tmpfs {{{ mount -t tmpfs -o size=32M tmpfs /data/hds/tmp }}} * monter localement le fichier image {{{ mount -o loop /data/usb_disk.img /data/hds/usb/ }}} * copier le tar.gz sur le tmpfs * effacer le disk.img pour gagner de la place * décompresser le tar.gz * régler la taille du usb_disk.img à une valeur faible {{{ vi /bin/delos_shell.sh }}} === lancer le chroot === et un serveur ssh {{{ #kk #shutdown camera, dragon-prog uses too much cpu for optical flow echo 0 > /sys/devices/platform/user_gpio/HRESET_CAM/value mount -o bind /dev /data/hds/rootfs/dev/ mount -t sysfs sys /data/hds/rootfs/sys/ mount -t proc proc /data/hds/rootfs/proc/ mount devpts /data/hds/rootfs/dev/pts -t devpts unset LD_PRELOAD chroot /data/hds/rootfs/ /etc/chroot_init }}} === bluetooth === voir [https://github.com/Parrot-Developers/RollingSpiderEdu/blob/master/Parrot_customFirmware/rollingspider.edu_quick_start.pdf ici] === lancer automatiquement un programme au démarrage === Les minidrones (en tout cas le mambo) utilisent comme système de démarrage "boxinit". Probablement un développement maison parrot. Pour démarrer notre système automatiquement en fin de démarrage il faut * créer le fichier 99-hds.rc qui contient {{{ service hds /data/hds/start.sh disabled oneshot on boot start hds }}} * créer /data/hds/start.sh avec le contenu {{{ #!/bin/sh /data/hds/chroot.sh > /data/hds/start.log }}} * rendre le script exécutable {{{ chmod +x /data/hds/start.sh }}} On peut donc ensuite récupérer le log dans /data/hds/start.log == Mambo == * ram 64Mo Nécessite un custom firmware pour avoir le réseau sur bluetooth et le telnet: https://github.com/Parrot-Developers/MinidronesEdu placer le fichier à la racine de la clé usb (testé avec un firmware original en 2.6.6)