Développez sur Galileo avec Eclipse

 

Il y a quelque temps je vous avais parlé de la carte Intel Galileo que nous avions utilisé pour s’amuser avec le coté « Arduino ». Ce coup-ci je vous propose de voir rapidement comment installer son environnement de développement C/C++ dédié.

  •  Installation de l’OS sur la carte SD

Pour pouvoir utiliser pleinement la carte Galileo, il faut installer sur une carte µSD un Linux plus complet que celui embarqué dans la carte. Il faut donc se procurer une carte d’au moins 2 Go et télécharger l’image du système ici : https://software.intel.com/en-us/iot/downloads

Pour déployer l’image :

  1. mettre la SD dans un pc linux ou Mac OSX
  2. décompresser le fichier : bunzip2 -c iot-devkit-latest-mmcblkp0.direct.bz2
  3. si elle se monte automatiquement, la démonter : umount /mnt/machinbidule
  4. copier l’image (remplacer diskX par le device correspondant à votre carte SD) :

dd of=iot-devkit-latest-mmcblkp0.direct of=/dev/diskX bs=8m

Et voila, la carte est prête a être installée dans la Galileo.

  • Installation du IOTDK IDE

Le IOTDK IDE est un Eclipse packagé avec tout ce qu’il faut pour utiliser à fond sa Galileo en C ou C++. L’installation est ultra simple, on télécharge https://software.intel.com/en-us/iot/downloads, on dézippe et on lance la commande : devkit.lancher … zou trop facile:)

  • Compilation et envoie d’un projet d’Eclipse à la carte Galileo.

Dans le panneau de gauche « Project Explorer » on ouvre le projet 4 (ccp onboard led blink), le code est déjà tout fait pour faire clignoter sa LED. On clique alors sur l’icône représentée par un marteau et ça compile le projet pour nous.

Ensuite pour l’envoyer sur la carte il faut paramétrer Eclipse, sur la droite de l’écran on clique sur « Remote System Eplorer »

image00

Puis sur la gauche, clic droit sur « Galileo » et « Properties », on entre alors les bonnes infos pour se connecter à la carte (ip, nom, …)

image02

Maintenant on envoie !!! On clique sur la flèche à droite de l’icône Run :

image01

Puis on sélectionne le projet en version Debug et ça envoie et exécute directement  le binaire sur la carte.

Amusez vous bien.

Un petit tour de Galileo

J’ai eu la chance d’avoir une carte Galileo et je l’ai trouvé bien sympathique donc je vais en dire deux mots. Pour commencer quelques photos de la boite, car je la trouve jolie 🙂

photo 2

photo 1

A quoi que ça sert ?

C’est tout simplement un mini PC avec un Arduino embarqué. L’idée de la carte est de faciliter les installations un peu complexes à base d’Arduino qui souvent nécessite un PC ou certains shields additionnels (ethernet, usb-host, sd,  …).

Un petit tour rapide de la carte :

  • CPU X86 à 400 Mhz
  • 256 Mo de ram
  • Lecteur SD (permet de stocker une image linux plus complète que celle embarquée et les sketchs)
  • Connecteur RJ45 10/100 Mb
  • Slot Mini PCIe2 pour ajouter par exemple du wifi, bluetooth, …
  • Port USB Host
  • Des ports série

photo32 photo 4

Pour quoi j’en parle ?

J’ai beaucoup apprécié les possibilités d’ES de la carte, l’intégration des différents ports à Arduino (par exemple si l’on ajoute une carte Wifi PCIe on peut l’utiliser avec la librairie Arduino).

J’ai surtout tripé sur le fait de pouvoir s’amuser avec les GPIO directement depuis le linux tout simplement en faisant des « echo », un petit exemple pour allumer la led (on peut aussi faire avec du python, du c, … mais c’est beaucoup moins marrant) :

#!/bin/sh
# la led est connecté sur le pin 3
# on ajoute le port gpio dans la liste des ports dispo
echo 3 > /sys/class/gpio/export

#on dit qu’on l’utilise en mode « sortie »
echo out > /sys/class/gpio/gpio3/direction

#on envoie 1 la led s’allume
echo 1 > /sys/class/gpio/gpio3/value

Conclusion

Ma conclusion ne conclue rien du tout car cette carte a encore beaucoup de choses à dévoiler je pense, le seul bémol actuelle et que certaines librairies (soft serial par exemple) ne fonctionnent pas car toutes les fonctions AVR n’ont pas encore été portées.