Saturday, June 5, 2010
Premiers essais chassis
Pour l'interface igepv2-hardware, j'ai décidé d'utiliser un Arduino Duemilanove, qui permet de prototyper rapidement.
La communication se fera via le port USB de l'Igepv2. En effet, les concepteurs de l'Arduino ont eu l'excellente idée d'intégrer à la carte un chipset qui est reconnu comme un port serie.
Sunday, March 14, 2010
Installation d'Angstrom
NB : la quasi totalité des commandes/actions sont réalisées sur un PC. Sauf mention contraire.
Démarrage
Avant toute chose, j'ai essayé de brancher ma carte sur ma télévision, mais celle-ci ne supporte pas le 1024x768, j'ai donc du me rabattre sur la connection RS232 (n'ayant pas envie de connecter mon écran d'ordinateur). Ce choix est meilleur puisque la trace de démarrage est envoyé dans un terminal qui permet de scroller ensuite (contrairement à un écran). Dernier avantage, lors du démarrage, certaines informations ne sont pas affichées sur l'écran (notamment uboot)
La connexion RS232 nécessite le cable vendu sur le site de l'igep, et ne coute que 4€. La connexion de celui-ci est génée par le port USB, mais en forçant doucement, j'ai finalement réussi. La configuration de minicom est expliquée sur le site de beagleboard
Construction de l'image Angstrom
Maintenant que la carte démarre, il lui faut un OS. J'ai donc utilisé le créateur d'image en ligne. Coup de chance (ou pas ?), celui-ci propose l'igepv2 dans sa liste de machine. J'ai pris la version stable, avec le système "task-base-extended", puis les options par défaut.
Pour la partie packages, j'ai ajouté :
- python
- All kernel modules
- Bluez
- I2C-tools
- JamVM
- Juluis
- OpenCV
- Dropbear SSH
- Wireless-tools
Booter Angstrom
Il faut commencer par partitionner la microSD correctement. J'ai donc utilisé la documentation de référence et le script de XorA pour faire des SD bootables.
J'ai suivi à la lettre le tutorial du beagle board. La carte microSD est sur l'igep, mais à la mise sous tension, rien. La diode ne s'allume pas. Je retire donc la carte, branche l'alimentation, et, par automatisme, remet la carte, et là, Angstrom boote. Je réfléchi, regarde le méchanisme de boot, puis, un peu au hasard, supprime le fichier MLO sur la partition de boot (puisque nulle-part la documentation de l'igep n'en faisait mention). Et victoire, ça démarre !
Le wifi et le reste
Pour le wifi, absolument rien de sorcier, celui-ci est détecté au démarrage :
$ dmesg
[...]
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc1:0001:1: firmware: requesting sd8686_helper.bin
libertas_sdio mmc1:0001:1: firmware: requesting sd8686.bin
libertas: 00:13:e0:c3:0c:3c, fw 9.70.3p24, cap 0x00000303
libertas: unidentified region code; using the default (USA)
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth1: Marvell WLAN 802.11 adapter
[...]
J'ai du nommer correctement les fichiers (sd8686_heper.bin et sd8686.bin) du drivers Marvell car ceux-ci s'appellent différement dans l'archive téléchargée, puis les placer dans /lib/firmware/ de la partition qui s'appelle rootfs.
Configuration du wifi.
NB : Les commandes sont tapées dans l'igep.
Pour une raison que j'ignore, le wifi refusait de se connecter automatiquement à mon réseau wifi en utilisant le DHCP. J'ai donc configuré l'adresse en statique en éditant le fichier /etc/network/interfaces
Je peux maintenant me connecter en SSH sur l'igep ! Les choses sérieuses commencent !
Références :
- http://elinux.org/BeagleBoardBeginners
- http://wiki.myigep.com/trac/wiki/HowToSetupWifi
- http://www.angstrom-distribution.org/narcissus/
Saturday, March 13, 2010
SPirit of OPportunity
Ça y est, je me lance... Ce blog me servira a répertorier toutes mes reflexions sur la conception et la réalisation d'un robot.
- la faible consommation (environ 2W) (même si celle-ci est énorme pour un robot)
- l'alimentation en 5V, qui est simple à générer
- les ports USB, le wifi et le bluetooth, qui procure une connectivité impressionnante.