SmartCampus2014/TutoGalileo

Il existe deux solutions pour installer un OS basé sur Linux sur la Galileo. Vous pouvez créer votre propre OS sur mesure avec Yocto Project en suivant [[Media:DIY_Yocto.pdf | ce tutoriel]]. Une autre solution est de télécharger une image pré-buildée, ce qui nous allons faire ici.

= Installation d'un OS basé sur Linux =

Installation de l'OS pré-buildés

 * Updater le firmware via l’IDE Arduino (Aide > Firmware Update). Cette étape est primordiale pour pouvoir se connecter en SSH. /!\ Ne pas lancer de sketchs avant ou pendant la mise à jour.


 * Télécharger le contenu du full clanton open jdk 6 ici


 * Préparer la carte SD en suivant cette procédure (sous Windows) :
 * ouvrir une invite de commandes cmd.exe, en tant qu’administrateur
 * lancer les commandes suivantes :


 * Décompresser l’OS clanton puis copier le contenu sur la carte SD

Connexion SSH

 * Si vous utilisez un routeur, à la place d'utiliser Wireshark, connectez-vous à l'interface du routeur pour obtenir l'adresse IP


 * Brancher la carte Galileo à votre PC en suivant cet ordre de branchement :
 * connecter le cable ethernet entre la Galileo et votre PC
 * ajouter la carte mini sd à la Galileo
 * lancer Wireshark sur le port ethernet de votre ordinateur
 * allumer la Galileo (brancher le secteur)


 * Attendre de voir un paquet UDP/DHCP passer sur Wireshark depuis la Galileo avec son adresse IP (ip_galileo, de la forme 169.254.x.x)


 * Faire un ifconfig eth0 ip_galileo+1 up sur votre PC


 * Vous pouvez maintenant vous connecter en SSH : ssh root@ip_galileo

= Lancement d’un sketch sur Galileo =

IDE Arduino
Il faut tout d’abord préparer l’IDE Arduino :
 * Télécharger l'outil suivant


 * Une fois téléchargé, faire

et comparer la valeur retournée avec le contenu du fichier clanton-full-eglibc-i686-i586-toolchain-1.4.2.sh.md5 téléchargé précédemment.


 * Si les valeurs sont différentes, le fichier est corrompu et il faut le re-télécharger. Si elles sont identiques, lancer le script :

Laisser la localisation par défaut [Enter]


 * Télécharger l’IDE Intel Galileo Arduino SW ici
 * Ouvrir une console et aller dans votre dossier Arduino (par exemple arduino-1.5.3)
 * Supprimer les fichiers suivants :


 * Taper les commandes suivantes pour créer un lien symbolique :


 * Remplacer du texte dans des fichiers .txt et .sh du dossier hardware :


 * Commenter à partir de la ligne 189 jusqu’à la fin du fichier hardware/tools/relocate_sdk.py
 * Enfin, entrer les commandes suivantes :

Sketch Arduino
Pour exécuter un sketch Arduino sur l’OS clanton, voici la démarche :
 * Télécharger [[Media:files.zip | cette archive]] et déplacer les fichiers vers le dossier /opt/cln/galileo de la Galileo.
 * Rendre le fichier clload exécutable : $ chmod +x /opt/cln/galileo/clload
 * Créer un lien pour rediriger les entrées/sorties série (habituellement envoyé par USB) vers la sortie standard stdout : ln -s /dev/stdout /dev/ttyGS0
 * Compiler votre sketch .ino avec l’IDE précédemment modifié
 * Un fichier .elf est alors créé dans le dossier /tmp/build**********.tmp/fichier.elf (le dossier est indiqué dans la console de l’IDE Arduino)
 * Copier le fichier .elf sur la carte Galileo avec scp dans le dossier /sketch et le renommer en sketch.elf
 * Rendre le sketch exécutable : $ chmod +x /sketch/sketch.elf
 * Exécuter le fichier /etc/init.d/clloader.sh

Attention, vous ne pouvez lancer qu’un sketch à la fois. Pour en lancer un différent, refaire les 5 dernières étapes.

=Mise en place de Mosquitto, d'openhab et des différents scripts
 * Télécharger OpenHAB ici
 * Se connecter en ssh à la carte Galileo
 * Ajuster la date de la carte à celle de votre ordinateur avec la commande : date DateSurOrdi (pour éviter des erreurs de compilation)
 * Depuis une autre console, copier le dossier OpenHAB runtime sur la carte Galileo : $ scp -r openhabruntime root@ip_galileo:.
 * Télécharger les sources de mosquitto ici
 * Copier les sources mosquitto sur la Galileo et les décompresser
 * Accéder au dossier et effectuer la commande make
 * Accéder à src/mosquitto.conf avec vi (ou votre éditeur préféré) et ajouter user root
 * Accéder à mosquitto/lib/python et installer la librairie: python setup.py install
 * Installer Paho pour python Télécharger les sources ,les copier sur la galileo et executer setup.py via python setup.py install : http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.python.git/refs/
 * Installer pexpect pour python Télécharger les souces ,les copier sur la galileo et executer setup.py via python setup.py install : https://github.com/pexpect/pexpect
 * Lancer mosquitto : $ ./src/mosquitto -c src/mosquitto.conf
 * Lancer OpenHAB : $ sh start.sh
 * Après l'affichage de "started classic UI at /openhab.app", vous pouvez accéder à l’interface OpenHAB : http://@ipGalileo:8080/openhab.app?sitemap=demo