Installer l'IDE Arduino sur Debian

Je suis passé sur un système GNU/Linux pour mon ordinateur personnel depuis plusieurs mois, au début sur la distribution ArchLinux, et depuis peu je suis passé sur une Debian. Ce qui était bien sur Arch, c'est d'avoir toujours la dernière version des paquets. L'inconvénient, c'est la stabilité du système. C'est pour cette raison que j'ai préféré passer sur une Debian. J'utilise Debian Wheezy comme système hôte (Debian "Testing").

Actuellement, les paquets arduino et arduino-core, qui sont les paquets officiels, sont en version 18 sur Wheezy, ce qui est une version assez ancienne qui ne supporte pas la dernière version de l'Arduino Uno.

Ne voulant pas passer ma machine en testing, ni jouer avec les dépendances pour installer à la main la version 22 (qui est la dernière version à ce jour) des paquets précédents, je me suis donc fait un chroot contenant la version unstable nommée "Sid". Pour ça, un petit coup de debootstrap :

# debootstrap --arch amd64 --variant=minbase sid /chemin/vers/chroot http://ftp.fr.debian.org/debian/

Ensuite, j'ai un petit script (launchChroot.sh) pour monter correctement les volumes nécessaires au chroot, lancer le chroot et tout démonter correctement à la fin :

#!/bin/bash
chemin=/chemin/vers/dossier/installation/du/chroot
mount --bind /dev $chemin/dev
mount --bind /proc $chemin/proc
mount --bind /sys $chemin/sys
cp {,$chemin}/etc/resolv.conf
chroot $chemin;
#fin on demonte
umount "$chemin"/{dev,proc,sys}

Ensuite, un petit coup de

# chmod 755 launchChroot.sh

puis, pour lancer le tout :

# ./launchChroot.sh

On est maintenant dans le système chrooté fraîchement installé. Nous allons donc pouvoir installer les dernières version des paquets arduino (qui a pour dépendance arduino-core) :

# apt-get install arduino

Pour éviter de faire trop de bêtises, on se créer un compte utilisateur :

# adduser nomUtilisateur

On ajoute l'utilisateur au groupe dialout pour qu'il puisse accéder au port série (sinon le sous menu Tools > Serial Port sera désactivé quand on lancera l'IDE arduino)

# usermod -a -G dialout nomUtilisateur
# su  nomUtilisateur
# arduino &

Tadam !

arduino version 22

Ensuite petite vérification, sélectionner le Serial Port dans le menu Tools. Si vous avez un Arduino Uno par exemple, le périphérique /dev/ttyACM0 doit apparaître. Si ce n'est pas le cas, plusieurs raisons :

  • L'utilisateur n'est pas dans le groupe dialout

  • Vous n'avez pas bindé /dev dans le chroot (voir script du lancement de chroot ci-dessus)

  • Vérifiez la version des paquets arduino et librxtx-java :

    # dpkg -s arduino |grep Version
    

    (doit être >= 22)

    # dpkg -s librxtx-java |grep Version
    

    (doit être >= 2.2pre2-3)

  • Ou encore, comme j'ai eu, vous êtes victime d'un bug concernant les drivers USB3. Je n'ai pas trop eu le temps de creuser, ce bug a l'air d'être connu mais je ne saurait dire si ça vient du hard, du noyau ou de la distro. Dans ce cas, il suffit dans brancher la carte sur un port USB2, et ça fonctionnera.

Bon amusement ! ;-)

Commentaires

Pour commenter cet article, merci de m'écrire directement par mail : mailto