UbiMedia

Workshop

tutorial Ubimedia & Prototypage rapide

ubimedia_cloud
Wolf Ka & Ivo Flammer
Ubimedia (source www.gemilo.com)

Descriptif du workshop

Le workshop sur l'Ubimedia touche à plusieurs concepts importants de la technologie innovante d’aujourd’hui: ubiquitious computing / pervasive technology / objets communicantes / ambient intelligence / web semantic (web 3.0) / user generated content (web 2.0)/ internet des objets. L'enjeux est de comprendre l'Ubimedia comme un des termes clef dans la recherche d’innovation.

Le cours est une initiation à l'Ubimedia. Pour stimuler la participation, la créativité et la réflexion sur ce thème, le cours est composé de 2 jours théoriques et de 3 jours de travaux pratiques individuel et en groupe.

Ressources

Ubimedia

 

Physical computing

Processing

cf Introduction Processing

 

Arduino et Processing

Les principaux outils du workshop sont Processing et Arduino. Processing est un langage de programmation et un environnement simple, gratuit et multi-plateforme (Linux, Mac et Windows), basé sur Java, permettant de programmer des images 2D et 3D, des animations, du son et travailler sur le web. Ses nombreuses bibliothèques permettent d'élargir ses possibilités à des champs variés et très nombreux (Vision par ordinateurs, flux RSS, synthèse du son, communication port Série, etc, cf. bibliothèque de Processing). Processing a été conçu par Ben Fry et Casey Reas, étudiants de John Maeda au laboratoire Aesthetics + Computation Group du Massachusetts Institute of Technology (MIT) . Arduino été dévéloppé à l’Interaction Design Institute Ivrea, comme outils afin d' apprendre l’interfaçage entre le monde physique et les ordinateurs. Les deux projets ont été utilisés dans des nombreux oeuvres d'art et design et dans l'enseignement dans le monde entier. La raison du succès d’Arduino vient de plusieurs aspects du projet, mais le plus important est le coût. Une carte Arduino coûte 22€ (sans frais de port), ou 20€ si on les achète par lots de 10.
Le projet Arduino comprend à la fois le développement matériel de cette carte, mais aussi le développement
de son environnement de programmation qui est proche de celui de Processing. Il permet de programmer la carte mais aussi de communiquer à d'autres environnement de programmation, par exemple, Processing mais aussi Flash, Pure Data, MaxMsp, et même Second Life (cf. la liste complète ) et d'autres . L’Arduino est un Logiciel Libre et Matériel Libre sous licence Creative Commons. Par ce fait, ces dernières années, les projets basés sur l'Arduino se sont multiplié d'une manière exponentielle. Aujourd'hui, des dizaines des cartes sont sortie, chaqun avec des spécificités différentes (plus petits, moins cher, plus des portes, en bluetooth...). Le nom générique est Freeduino, un liste de ces projets se trouve ici.

Rapide Prototyping

Le prototypage rapide regroupe un ensemble d’outils qui, agencés entre eux, permettent d’aboutir à des projets de représentation intermédiaire de la conception de produits : les modèles numériques, les maquettes, les prototypes et les préséries.
Ces modèles contribueront à valider les différentes fonctions que doit remplir le produit (fonctions de signe, d’usage, d’échange et de productibilité).

Le prototypage rapide intègre deux notions essentielles : le temps et le coût.

Processing et l'Arduino sont parfaitement adapté pour le prototypage rapide. Le prototypage rapide est un procédé dans l'industrie et du design afin de tester rapidement l'usage d'un nouveau produit, Processing + Arduino permet de développer très vite une premier application / objet.

Installation Processing

Télécharge Processing sur son site. Suit les instructions. Son interface est extrêmement simple.

ide Processing

Pour le cours, il nous intéresse plus particulièrement les différents implementations dans Processing afin de communiquer avec le web et la carte Arduino.

Processing, l'internet et le réseau

En réseau

cf tutorial OSC

Flux RSS / info

cf tutorial RSS

Library (en Java) pour Twitter (cf. bas de page pour l'utilisation avec Processing) or Tweet stream

Library pour QRcode

Library pour RSS feeds/ (et Twitter, Flickr)

Flux RSS / données physiques

Pachube ressemble à YouTube, sauf que, au lieu de partager de vidéos, Pachube permet aux gens de suivre et de partager en temps réel de données environnementales à partir de capteurs afin de connecter des actuateurs qui sont également connectés à l'Internet via le service Pachube. Chaque capteurs connecté à Pachube est partagé avec la l'ensemble de la communauté.

pachube diagramme

Les données sont base sur le protocole de Extended Environments Markup Language (EEML). Ce protocole basé sur le format xml enrichit les données avec des métadonnées concernant les informations géographiques, du monde réel mais aussi virtuel (second life). Pachube est une plateforme qui aide de construire le monde de l''internet des objets'

Voici un exemple d'un fichier EEML

<eeml version="5" xsi:schemaLocation="http://www.eeml.org/xsd/005 http://www.eeml.org/xsd/005/005.xsd"> −
<environment updated="2010-06-26T17:31:18Z" id="1963" creator="http://www.haque.co.uk">
<title>UFO tracking</title>
<feed>http://www.pachube.com/api/feeds/1963.xml</feed>
<status>live</status>

<location domain="physical" exposure="outdoor" disposition="mobile">
<name>ufo sighted location</name>
<lat>24.5660740749</lat>
<lon>43.6519523614</lon>
<ele>0.0</ele>
</location>

<data id="2">
<tag>warp drive emissions factor</tag>
<value minValue="-13.2731056958" maxValue="24.1604407443">7.77163376244</value>
<unit>tesla</unit>
</data>

<data id="1">
<tag>longitude</tag>
<value minValue="-77.3510368047" maxValue="123.04543625">43.6519523614</value>
</data>

<data id="0">
<tag>latitude</tag>
<value minValue="-61.1719228003" maxValue="75.766549495">24.5660740749</value>
</data>
</environment>
</eeml>

Un librairie de Processing basé sur l'API EEML a été développé, facilitant la transmission et la la récupération des données.

1. Download la librairie,

2. inscrivez vous pour recevoir un N° ID pour l'API et récupérez des flux de Pachube dans Processing.

Attention au Rate limite !

JavaDoc de la librarie EEML

 

Installation Arduino

Rendez vous sur le site de l'Arduino. Télécharge le logiciel et suivre le 'step by step' installation sur la page getting started. Suivre le premier exemple pour faire clignoter un Led. Pour connaître la carte approprié, regarde sur le composant Atmega (le gros bloc noir au milieu de la carte) il indique sa capacité (128 ou 328) et le nom de la carte (Arduino Duemillanove/ Diecimila....). Les Arduinos du cours est une Arduino Duemillanove 328

Le matériel

La carte

L’Arduino est une carte basée sur un microcontrôleur (mini-ordinateur) Atmel ATMEGA168 ou ATMEGA368. Elle dispose dans sa version de base de 1 Ko de mémoire vive, et 8Ko de mémoire flash pour stocker ses programmes. Elle peut être connectée à 13 entrées / sorties numériques, dont 3 PWM (simulation de 3 sorties analogiques ) et 6 entrées analogiques convertissant en 10 bit. Dans la version la plus courante, la communication avec l’ordinateur se fait par un port USB.

arduinoCarte

Le LED

Le LED pied longue = positif / pied court = terre

(+ = deux traits (longue)

- = un seul trait court)

led

Breadboard

breadboard

 

-----------------------------------------------------------------------------------

Exercice

  1. Programmez " Pong" dans Processing.
  2. Programmez "Pong" entre deux ordinateurs avec Osc.
  3. Intégrez des données du monde physique à travers Pachube.

 

 

 

------------------------------

Projet Final

----------------------------

Les projets d' ITIN Juillet 2010

 

 

 

 

 

 

 

retour index