SmartCampus2014/TutoGalileo

From air
Jump to: navigation, search

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 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 :

>diskpart.exe
select vol e	//la lettre correspondant à la carte SD
clean
create part primary
active
format quick label="BOOTME"
exit

  • 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 :

  • Une fois téléchargé, faire

$md5sum clanton-full-eglibc-i686-i586-toolchain-1.4.2.sh

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 :

$ ./clanton-full-eglibc-i686-i586-toolchain-1.4.2.sh

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 :

$ rm -rf hardware/tools/sysroots
$ rm hardware/tools/environment-setup-i586-poky-linux-uclibc
$ rm hardware/tools/site-config-i586-poky-linux-uclibc
$ rm hardware/tools/version-i586-poky-linux-uclibc

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

$ ln -s /opt/clanton-full/1.4.2/sysroots hardware/tools/sysroots
$ cp -s /opt/clanton-full/1.4.2/environment-setup-i586-poky-linux /opt/clanton-full/1.4.2/site-config-i586-poky-linux /opt/clanton-full/1.4.2/version-i586-poky-linux hardware/tools/

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

$ sed -i 's/i586-pokysdk/i686-pokysdk/g' hardware/arduino/x86/*.txt hardware/tools/*.sh
$ sed -i 's/-uclibc//g' hardware/arduino/x86/*.txt hardware/tools/*.sh
$ sed -i 's/clanton-tiny/clanton-full/g' hardware/arduino/x86/*.txt hardware/tools/*.sh

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

$ cd /hardware/tools/sysroots/hardware/tools/sysroots
$ cp -r i686-pokysdk-linux/ x86_64-pokysdk-linux/

Sketch Arduino

Pour exécuter un sketch Arduino sur l’OS clanton, voici la démarche :

  • Télécharger 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 et OpenHAB

  • 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
  • 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