La carte PCduino est livrée avec différents logiciels qu’il faut compléter pour en faire une machine de développement et d’exécution de programmes pour la robotique.
Ce qui existe déjà
Ubuntu
A date d’aujourd’hui pour les versions livrées par Arobose, la carte fonctionne avec un système GNU/Linux Ubuntu équipé du gestionnaire de fenêtre LXDE.
Première remarque : le système n’est pas sur une carte supplémentaire, mais directement dans sa mémoire interne ! Voilà déjà de nombreuses étapes compliquées qui sont inutiles, comme acheter une carte SD de 4 Go, trouver le logiciel Windows ou la commande Unix pour flasher, télécharger l’image, etc...
Énorme satisfaction, la carte lance automatiquement l’environnement fenêtré (serveur X + LXDE) et se connecte avec le compte ubuntu.
Le système Synaptic et la commande apt-get sont bien présents, ainsi que les fondamentaux GNU.
On pourra ainsi commencer par ouvrir un terminal et changer le mot de passe
ubuntu@ubuntu:~# sudo -s
root@ubuntu:~# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@ubuntu:~# passwd ubuntu
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@ubuntu:~# exit
On a ainsi un root protégé par mot de passe et on a changé le mot de passe ubuntu par défaut.
Navigateur web
C’est Chromium (version open source sur laquelle Chrome est bâti) qui est utilisé. Le site Pobot se charge très bien donc on peut en conclure que HTML5, CSS3 et JS sont supportés :)
Les essentiels
Un éditeur de texte
Oh, il doit bien y avoir un vi mais si vous êtes un débutant comme moi en Linux, retrouver "nano" ou "pico" sera bien pratique
$ sudo apt-get install nano
Terminal sécurisé à distance
Pour pouvoir se connecter depuis un autre ordinateur du réseau (avec ssh depuis un autre PC Ubuntu ou avec Putty depuis Windows), on installe un serveur SSH :
$ sudo apt-get install openssh-server
Bureau distant
On peut même ouvrir un bureau à distance avec VNC. La version conseillée est vino qui s’installe très bien.
$ sudo apt-get install vino
$ vino-preferences
Cette dernière commande ouvre une fenêtre de paramétrage. Nous vous conseillons de cocher les cases selon ces choix :
– Oui, autoriser d’autres utilisateurs à voir votre bureau
– Oui, autoriser d’autres utilisateurs à contrôler votre bureau
– Non, chaque accès à cet ordinateur ne doit pas être confirmé
– Oui, l’utilisateur doit saisir un mot de passe (à remplir)
– Oui, configurer automatiquement le routeur UPnP
Ainsi, vous pourrez vous connecter et développer sur votre carte même sans écran (ce qui sera le cas sur un robot mobile).
Précaution avant d’éteindre l’écran, notez l’adresse IP sur votre réseau local :
$ ifconfig
L’adresse est celle de l’interface eth0 (ou wifi si vous l’avez configuré), par exemple 192.168.0.18 ou similaire.
Depuis un portable sous Ubuntu (on l’utilise beaucoup au club, même pour notre serveur web !) il suffit de lancer l’outil "visionneur de bureau distant" et de renseigner l’option VNC vers l’adresse IP de votre carte PCduino.
Une webcam
Avec une carte aussi puissante sur un robot, on peut bien sûr utiliser une webcam. Prenez un modèle courant compatible avec le driver Linux UVC pour avoir un nombre d’images par seconde rapide. Branchez sur USB et installez guvcview :
$ sudo apt-get install guvcview
Et voilà le résultat :
Développer sur PCduino
On peut directement coder nos applications sur la carte, grâce à son Ubuntu Linaro 12.07 et les catalogues ("repository") disponibles.
Python
Ce langage très populaire et très simple à apprendre, tout en étant performant (si si !) est bien sûr disponible.
Un environnement complet en Python 2.7 (calcul scientifique, outils de configuration) :
$ sudo apt-get install ipython python-opencv python-setuptools python-scipy python-numpy python-pip
Un petit test :
pobot@ubuntu:~$ python
Python 2.7.3 (default, Aug 1 2012, 08:09:58)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> for i in range(0,3):
... print "Hip !"
...
Hip !
Hip !
Hip !
>>> print "Hourra ! Merci Arobose"
Hourra ! Merci Arobose
>>>
Et pour SimpleCV qui rend accessible les traitements d’image pour la reconnaissance de formes, de couleurs et le suivi d’objets complexes :
$ sudo pip install https://github.com/ingenuitas/SimpleCV/zipball/master
Downloading/unpacking https://github.com/ingenuitas/SimpleCV/zipball/master
Downloading master (43.8Mb): 43.8Mb downloaded
Running setup.py egg_info for package from https://github.com/ingenuitas/SimpleCV/zipball/master
Installing collected packages: SimpleCV
Running setup.py install for SimpleCV
Installing simplecv script to /usr/local/bin
Successfully installed SimpleCV
Cleaning up...
$ sudo apt-get install python-pygame
$ sudo apt-get install python-imaging