Parlons en OSC

Bonjour, on s’ennuie alors on fait un peu de technique 🙂

L’idée ?

Contrôler depuis son PC une LED RGB :

On va donc faire un programme en Arduino qui tournera sur la Galiléo, il recevra les messages OSC pour controler la LED; coté PC on fera un petit programme en Processing.

OCS ?

logo berk

OSC ( http://opensoundcontrol.org/implementations) a été développé par l’université de Berkeley pour interfacer des ordinateurs (et autre bijoux technologiques) et des périphériques multimédia (synthétiseurs, platine, éclairages, …) qui sont connectables en réseau. OSC est de plus en plus utilisé par les artistes et autres bidouilleurs, on trouve des librairies pour l’utiliser avec la plupart des langages de programmation.

Processing ?

processinglogo

Processing ( https://processing.org/ ) est à la fois une librairie JAVA et un environnement de développement crée par des artistes pour simplifier l’accès à l’art numérique sans avoir à trop s’y connaitre en programmation. Tout cela est bien sûr ouvert et on peut trouver de nombreuses librairies pour rajouter des fonctionnalités.

Avant de commencer …

Il nous faut :

C’est parti !!!!

Le code côté Galileo :

https://github.com/tmator/GalileoOSCsample/blob/master/GalileoOscRgb/GalileoOscRgb.ino

Le code côté Processing (n’oubliez pas l’image qui va avec dans le dépôt).

https://github.com/tmator/GalileoOSCsample/blob/master/RGBOSCDemoProcessing/RGBOSCDemoProcessing.pde

Bonne création,

Brice

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.