Introduction
Bienvenue dans ce premier Tuto du Lab’oo, le but de cette série de Tutoriels sera de vous présenter ce que nous testons dans le Lab’oo et qui sait peut-être de vous donner envie d’y venir tester de nouvelles choses. Les thèmes seront divers : Systèmes embarqués / Raspberry Pi / Arduino / XComponent / etc … La seule limite sera l’imagination de l’auteur.
Donc pour ce premier Tuto le thème sera XComponent (Suite logicielle développée par Invivoo Software que vous connaissez surement, au moins de nom) sur Raspberry Pi, nous allons voir comment préparer un Raspberry Pi pour y installer XComponent et tester un premier Hello World.
Matériel nécessaire :
- Un Raspberry Pi (Ce tutoriel est réalisé sur la version 3)
- Une alimentation 5V
- Une Carte Micro SD avec un minimum de 16 Go (Avec un lecteur de carte pour la connecter à votre PC)
- Un câble réseau RJ45
Téléchargement à faire (Vous pouvez les lancer à l’avance) :
Installation de Raspbian
Nous allons en effet tester XComponent sur la distribution Linux la plus utilisée sur Raspberry, à savoir Raspbian (Version de Debian adaptée pour Raspberry Pi). Vous pouvez télécharger la dernière version de Raspbian ici (La version testée dans ce tutoriel est Jessie-May-2016) : Télécharger Raspbian
Une fois Raspbian téléchargé, il suffit d’écrire l’image sur votre carte Micro SD. Un des nombreux utilitaires pour faire ça est Win32 Disk Imager : Télécharger Win32DiskImager
L’utilitaire installé et démarré, il ne vous reste plus qu’a sélectionner l’image de Raspbian ainsi que la carte sur laquelle vous voulez écrire (Que vous avez connecté à votre PC grâce à un lecteur de carte) et d’appuyer sur le bouton “Write”.
Et voilà, Raspbian est sur votre carte Micro SD. Vous pouvez maintenant l’insérer dans le Raspberry Pi et le démarrer.
Préparation du Raspberry
Avant d’installer les dépendances nous allons devoir nous connecter au Raspberry. Vous allez donc devoir le connecter sur votre réseau et réussir à obtenir son adresse IP (Nous supposons que vous êtes branché sur un réseau qui dispose d’un DHCP). Pour cela plusieurs techniques :
- Première solution vous disposez d’un accès à l’interface de votre Box ou du serveur qui vous sert de DHCP, dans ce cas il vous suffira de repérer la dernière adresse attribuée par celui-ci.
- Deuxième solution si vous n’avez pas de moyen externe pour connaitre l’adresse IP, branchez un écran et un clavier sur la Raspberry. Après un redémarrage vous devriez avoir l’interface de debian sur l’écran. Pour trouver l’adresse IP, il suffira de démarrer un terminal et d’utiliser la commande :
ifconfig
Maintenant que nous avons récupéré l’adresse IP, nous allons pouvoir nous connecter en SSH sur la Raspberry. Un utilitaire connu pour faire ça depuis Windows est Putty : Télécharger Putty
Dans l’interface de Putty vous devez renseigner l’adresse IP (dans mon cas 192.168.1.19) et le port 22, vous pouvez sauvegarder cette configuration pour ne pas avoir à la retaper à chaque fois, enfin appuyez sur la bouton “Open”. Répondez “Oui” à l’alerte de sécurité et tapez le login et mdp du raspberry pour vous connecter. Par défaut le login est “pi” et la mdp “raspberry”. Une fois la connexion réussie vous devriez avoir un terminal comme celui-ci :
Vous pouvez maintenant mettre le gestionnaire de paquets à jour et effectuer les mise-à-jour disponibles :
sudo apt-get update sudo apt-get upgrade
Ça peut prendre plus ou moins de temps suivant le nombre de mise-à-jour a effectuer. Cette étape permet par la même occasion de vérifier la connexion internet depuis votre Raspberry Pi.
Installation des dépendances de XComponent
Nous allons maintenant pouvoir installer les dépendances de XComponent (Mono et RabbitMQ).
sudo apt-get install mono-complete
Pour tester que mono est installé correctement vous pouvez tenter la commande suivante qui doit retourner la version de mono :
mono --version
C’est terminé pour l’installation de Mono, maintenant c’est le tour de RabbitMQ.
wget http://www.rabbitmq.com/releases/rabbitmq-server/current/rabbitmq-server_3.6.5-1_all.deb sudo apt-get install -y erlang logrotate erlang-nox socat sudo dpkg -i rabbitmq-server_3.6.5-1_all.deb sudo apt-get -f install sudo dpkg -i rabbitmq-server_3.6.5-1_all.deb
L’installation de RabbitMQ est terminée, on va juste ajouter le plugin de gestion (ça sera bien plus pratique) :
sudo rabbitmq-plugins enable rabbitmq_management sudo service rabbitmq-server restart
Ajout d’un utilisateur à RabbitMQ (normalement l’utilisateur guest/guest existe par défaut mais je n’arrive pas à l’utiliser) :
sudo rabbitmqctl add_user test test sudo rabbitmqctl set_user_tags test administrator sudo rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
Une fois tout ça fait, vous devriez pouvoir accéder a l’interface de gestion à l’adresse “http://AdressIpDeVotreRaspberryPi:15672” et en vous connectant grâce à l’utilisateur que nous avons créé : “test” et le mot de passe : “test”.
Installation de XComponent et “Hello World”
Voilà maintenant toutes les dépendances de XComponent sont prêtes, il ne reste plus qu’à passer à l’installation de XComponent justement. XComponent est une suite logicielle, elle contient un éditeur “XCStudio”, un moteur d’exécution “XCRuntime” et un ensemble d’outils d’aide au développement “XCTools”. Nous allons donc installer la solution complète sur notre poste et copier le moteur sur le Raspberry Pi. La version Community de XComponent est disponible gratuitement ici : Télécharger XComponent Community
Quand l’installation sera terminée vous trouverez dans “C:\Program Files\XComponentCommunity” trois dossiers. Nous allons copier le dossier “XCRuntime” sur la Raspberry Pi en utilisant le protocole SFTP. FileZilla est un des outils qui permet de faire ça : Télécharger FileZilla
Dans FileZilla vous devez renseigner l’adresse IP du Raspberry Pi dans “Hôte”, le nom d’utilisateur “pi”dans “Identifiant”, le mot de passe “raspberry” et le port “22” à ne pas oublier pour préciser qu’on fait du SFTP, ensuite vous pouvez cliquer sur “Connexion rapide” et vous devriez voir l’arborescence du Raspberry apparaître dans la partie “Site distant”.
Maintenant pour copier le dossier “XCRuntime” sur le Raspberry Pi, un simple glisser/déposer suffit. Il faut également copier sur le Raspberry Pi l’archive “HelloWorld-microservice1.xcr”, c’est à dire le microservice qui contient le composant de HelloWorld : Télécharger HelloWorld. Ce composant est très simple, il affiche dans la console “Hello World Component Initialized :)” quand la transition automatique “Init” se déclenche et il affiche dans la console “Hello World !!!” toutes les 15 secondes quand la transition automatique “Auto” se déclenche.
cd XCRuntime sudo mono xcruntime.exe /home/pi/HelloWorld-microservice1.xcr
Si tout se passe bien vous devriez voir apparaître les lignes dans la console juste après l’initialisation du XCRuntime. Et voilà le premier composant sur Raspberry Pi fonctionne 🙂
Conclusion
Même si ce tutoriel n’est finalement qu’un Hello World, il permet de préparer les suivants … oui oui il y en aura d’autres. D’ailleurs le prochain est déjà en préparation et il parlera de l’utilisation des entrées/sorties du Raspberry Pi dans XComponent grâce à un composant générique. Mais vous en saurez plus prochainement. En attendant comme je suis gentil, je vous fournis l’image du Raspberry Pi après l’installation de XComponent et de ces dépendances, vous n’aurez qu’à l’installer avec Win32DiskImager pour pouvoir tester : Télécharger le résultat
Comme vous l’imaginez facilement je n’ai pas inventé tout ce que j’ai écrit dans ce tutoriel, oui google est aussi mon ami et comme il faut rendre à césar ce qui est à césar, voici la liste des liens utilisés pour réaliser ce tutoriel :
https://www.raspberrypi.org/documentation/installation/installing-images/README.md
http://logicalgenetics.com/raspberry-pi-and-mono-hello-world/
@Bientôt pour un nouveau Tuto