UbiMediaWorkshoptutorial Ubimedia & Prototypage rapide
|
|
Wolf Ka & Ivo Flammer | Ubimedia (source www.gemilo.com) |
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.
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.
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.
Télécharge Processing sur son site. Suit les instructions. Son interface est extrêmement simple.
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.
cf tutorial OSC
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)
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é.
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.
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 !
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
La carteL’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. |
|
Le LEDLe LED pied longue = positif / pied court = terre (+ = deux traits (longue) - = un seul trait court) |
|
Breadboard |
Exercice
|
------------------------------
----------------------------