automatic translation maschinelle Übersetzung

Add to Technorati Favorites
urzhiata | index

      « Making things talk » de Tom Igoe

Making things Talk, de Tom Igoe Comment brancher quelques capteurs et rendre les résultats accessibles sur un site internet ? Comment créer des objets électroniques qui communiquent entre eux sans fils ? Comment créer un jeu interactif à distance ? Ce livre est un manuel de magie noire guide progressif pour connaître et utiliser les technologies nécessaires pour connecter des montages électroniques et les faire communiquer entre eux, avec un ordinateur ou avec internet.

En programmation logicielle, la méthode majoritairement utilisée aujourd'hui est celle de l'orienté objet, programmes et sous-programmes sont conçus comme des objets physiques avec des propriétés et des fonctions. Pour utiliser un objet, il suffit de connaître son interface, ses propriétés et méthodes, sans avoir besoin d'en connaître le fonctionnement interne. Bien souvent, les objets électroniques peuvent être conçus de la même manière en assemblant des modules dévolus à une seule fonction. Quelques soient ces objets (capteur, grille-pain, logiciel d'email sur un portable, base de données en ligne), il est possible de les faire interagir à condition de comprendre comment ils communiquent.

C'est l'approche choisie par Tom Igoe dans «Making Things Talk», qui ne rentre pas dans les détails approfondis du fonctionnement électronique, mais décrit les interfaces et leur mise en oeuvre. Au fil des chapitres, de nombreuses techniques et protocoles de communication sont passés en revue, à travers des montages fournis avec le code nécessaire (php, processing, arduino/wiring). Des photos et schémas viennent compléter les explications et l'ensemble est complet et clair.

2 montages de Making things Talk

Au total, 26 projets donnent un large aperçu des modes de communication entre objets électroniques, ordinateurs et internet. Quelques exemples de projets et de technologies abordées dans le livre :

- un jeu de pong controlé par les bras d'un singe en peluche équipée de capteurs, (communication série entre un microcontroleur et un ordinateur), également en version sans fil (communication par bluetooth)
- un chat en réseau! un coussin pour chat (!) équipé de capteurs et de webcam : lorsque le chat s'y installe, un email est envoyé avec une photo prise par la webcam.
- une seconde version du jeu de pong, chaque joueur participant au travers d'une interface physique au jeu sur un serveur (connexion par socket d'un microcontroleur à un serveur)
- différents types d'émetteurs récepteurs pour établir une communication directe entre microcontroleurs : infrarouge, ondes radio, xbee
- utilisation d'un compas digital, d'un accéléromètre, du protocole GPS (geolocalisation et positionnement dans l'espace physique), reconnaissance de couleur avec une webcam, RFID et domotique (X10), envoi de SMS par téléphone portable, décodage de codes barres à 2 dimensions (QR codes)


L'auteur, Tom Igoe enseigne dans la section Telecommunications Interactives (ITP) de la Tisch School of the Arts (université de New York). Les cours qu'il donne portent sur l'électronique interactive et la mise en réseau. A travers cet enseignement et ces recherches il explore les technologies numériques pour capter les expressions du corps humain et y répondre. De nombreux éléments de ces cours sont disponibles sur le web : pcomp, ainsi qu'à travers deux blogs : notes on physical interaction et codes, circuits & construction

Making Things Talk, Tom Igoe, editions O'Reilly, 2007, ISBN-13 : 978-0-596-51051-0

Making Things Talk : Un blog avec des examples de codes, des mises à jour et des ajouts au livre.


      arduino

Arduino est un ensemble open-source pour l'expérimentation électronique, qui permet de créer des prototypes d'objets ou d'environnements interactifs. L'équipe à l'origine de ce projet a pour intention de proposer un matériel peu onéreux, ouvert à une communauté d'utilisateur et ne réclamant pas des connaissances poussées en électronique. L'essentiel étant d'acquérir les connaissances techniques nécessaires à la réalisation des projets, au fur et à mesure de ses besoins. Deux éléments composent Arduino :

* une partie matérielle, sous forme d'une carte électronique (différents modèles sont disponibles, voir ci-dessous) équipée d'un microcontroleur (l'équivalent d'un ordinateur très compact, peu gourmand en énergie). La carte électronique peut recueillir des signaux numériques ou analogiques émis par des capteurs de tous types, les analyser et les transmettre, cela fonctionne également dans l'autre sens, divers actionneurs peuvent être commandés par l'intermédiaire de la carte (lumières, moteurs, etc.).
* un logiciel : un environnement de programmation, basé sur processing permet de créer les programmes et de communiquer avec la carte électronique. une fois programmée, arduino peut traiter des informations venant de différents types de capteurs, controler d'autres équipements électroniques, ou communiquer avec un ordinateur. Un langage spécifique est utilisé pour programmer la carte, basé sur C/C++. L'environnement, développé en java, peut-être installé sur Linux, MacOS ou Windows.

quelques projets réalisés avec arduino :

Sotavento : une création sonore réalisée à partir du mouvement du vent dans les branches d'arbres situés dans plusieurs pays. Ces mouvements sont captés par des accéléromètres, traduits en son et composent une abstraction musicale (vidéo et explications techniques)

Arduino Pong : Une console de jeux rudimentaire, basée sur Arduino, à brancher sur une télévision et retrouver l'ancêtre des jeux vidéos! -> arduinopong (circuit + code)

Arduino Punk Console : un séquenceur simple (à 8 pas) basé sur Arduino et un générateur de notes : arduino punk console (photos + code + circuit + construction)

Solenoid concert : un séquenceur réalisé avec pure-data déclenche 8 actionneurs solénoïdes qui frappent les objets environnants et produisent des rythmes. La carte arduino transmet les commandes issues de pure-data aux solénoïdes par l'intermédiaire d'une carte à relais. (projet de Reduzent / Roman Haefeli)



Arduino est décliné en différents modèles : Arduino Diecimila est la version la plus récente (basé sur l'Atmel ATmega 168, avec 16 KO de mémoire flash), nommé ainsi car plus de 10 000 cartes arduino ont été produites. Arduino mini est une version très compacte pouvant être enfichée dans une platine d'expérimentation. Arduino BT, intègre un module Bluetooth pour la communication sans fil. Lilypad Arduino est une version créée pour les projets textiles interactifs (basée sur l'ATmega 168V de faible consommation). Arduino NG, est la version USB de la carte, quasi-identique à la Diecimila. Arduino étant un projet open-source, d'autres cartes ont été créées par des tiers : freeduino, boarduino, etc.

De quels éléments se compose une carte arduino ?
arduino NG
(1) fiche pour brancher une alimentation extérieure,
(2) port USB, pour la programmation de la carte ou pour transmettre des données à un ordinateur (une fois programmée, arduino peut fonctionner sans ordinateur, et relier capteurs & actionneurs). Le port USB peut également fournir l'alimentation nécessaire à la carte et de petits circuits, à condition qu'ils ne soient pas gourmand!,
(3) une puce spécialisée pour la gestion de l'USB (FT232RL),
(4) 14 ports digitaux d'entrée-sortie, dont 3 peuvent émettre des signaux en modulation de largeur d'impulsion (PWM, pulse width modulation), 6 sur la version diecimila
(5) port de programmation ICSP, afin de programmer le microcontroleur en place. Dans les cartes arduino produites, un premier logiciel est intégré sur le microcontroleur (le bootloader), ce qui permet de le programmer en le reliant directement à l'ordinateur, évitant l'étape du bootloader.
(6) bouton de reset (sur la version diecimila, le reset peut-être effectué depuis l'ordinateur)
(7) le microcontroleur, ici il s'agit d'un Atmel ATmega8 (8 KO de mémoire flash, 1 KO de SRAM, 16 MHz). Les version récentes sont équipées d'un Atmel ATmega168 avec 16 KO de mémoire flash.
(8) 6 ports analogiques d'entrée pour relier des capteurs,
(9) masse, source 5v et source 9V (faible puissance) pour alimenter les capteurs et circuits externes.


lilypad arduino
Lilypad arduino, photo extraite de la série e-textile construction kit, © Leah Buechley


Les schémas et les plans de constructions de la carte électronique sont disponibles en open-source, mais on peut également se la procurer déjà montée ou en kit (pour la France, il faut compter 45e environ, port et taxes comprises auprès de PCB-europe)

Ressources en français :

* Atelier arduino : livret d'initiation à la mise en oeuvre d'Arduino réalisé par le Centre de Ressources Art Sensitif (le livret est également disponible en pdf). Par ailleurs, le craslab organise de nombreuses formations (initiation et perfectionnement) aux techniques interactives, sonores et visuelles (processing, pure-data, arduino, etc.)
* Le manuel de référence du langage arduino, adapté en français par Benoît Rousseau.
* tutorial arduino sur le wiki de Vincent Roudaud (par ailleurs plein d'informations sur le physical computing, l'électronique, la programmation visuelle et sonore, etc.).
* Atelier arduino, initiation à l'électronique et intégration dans pure-data, par Alexandre Quessy.
* Présentation d'Arduino sur médias-cité.
* Présentation et installation d'Arduino sur le site de l'école d'Art d'aix en Provence.
* Arduino sur multimedialab.
* forum arduino en français.

En anglais :

* site principal : arduino.cc (description des différentes cartes, fichiers CAD des circuits électroniques, tutoriels et le playground, un wiki ou l'on trouve, entre autre, des informations pour la mise en oeuvre d'arduino avec vvvv, processing, pure-data, flash, etc.)
* arduino programming notebook : Un guide de référence du langage de programmation de l'arduino, pour les débutants. Avec également quelques schémas de circuits simples et quelques programmes pour les taches communes (livre de 40 pages édité sur lulu.com, sous licence CC, disponible sur papier ou gratuitement en téléchargement.).
* arduino tutorial par Ladyada.
* World famous index of freeduino knowledge : une vaste compilation de liens sur tout ce qui concerne arduino réunit sur une même page.
* le blog arduino, pour les nouvelles récentes
* des photos de projets basés sur arduino, en suivant le tag arduino en flickr et des liens postés sur del.icio.us


      RepRap, le constructeur universel

Cette machine veut envahir le monde!

RepRap tente d'appliquer à la mécanique ce qui est une réalité biologique pour les êtres vivants : l'auto-réplication, c'est à dire la capacité à se reproduire : le projet RepRap vise à construire une machine capable de produire les pièces nécessaires à construire une seconde machine identique, améliorée ou modifiée pour d'autres usages. Une machine évolutive, de faible coût, capable de se répandre de manière "virale", mais surtout qui permette à des individus autour du monde de fabriquer des objets selon leurs besoins, indépendamment des grandes structures industrielles.




RepRap
Le logo de RepRap «imprimé» par un des premiers prototypes


Les technologies utilisées sont celles du prototypage rapide qui permet de fabriquer des pièces avec une (relative) simplicité, à la manière d'une imprimante. Actuellement, ces machines sont utilisées par l'industrie, valent très cher et n'ont pas la capacité de s'autorépliquer. Ici, il s'agit de "modélisation par dépot de matériau" (FDM, Fused Depot modelling, un fil de plastique est déroulé progressivement passe dans une buse qui le fond (à la manière d'un pistolet à colle) et dépose le matériau couche par couche afin d'imprimer une pièce en 3D. Le matériau peut-être un polymère thermoplastique (polycaprolactone, etc.) ou un polymère naturel (polylactide). Le RepRap est capable de produire des pièces avec une précision importante.


Présentation du prototype «Zaphod» par son concepteur Vik Olliver
(vidéo de Magnus Wurzer réalisée au Metalab, Vienne, voir également la série de photos sur flickr).


A l'origine de ce projet, on trouve l'université de Bath en Grande-Bretagne et Adrian Bowyer, chercheur en ingénierie mécanique du groupe de recherche en biomimétisme. (cette machine est également une tentative théorique pour donner corps à la théorie du constructeur universel de John Von Neumann). Un groupe de passionné s'est constitué autour du projet pour le faire aboutir, à la manière des projets logiciels open-source. Actuellement le projet se concentre à finaliser «Darwin», la première version aboutie de la machine, capable de produire d'autres Darwin, qui devrait voir le jour en 2008... Les plans du RepRap Darwin seront disponibles sur internet sous licence libre ainsi que les logiciels utilisés pour concevoir les pièces.

RepRap 1.0 Darwin
Darwin, la première version de RepRap qui devrait voir le jour en 2008


RepRap Darwin est composé de baguettes d'acier et de pièces en plastique. Une plateforme (A) se déplace verticalement dans ce cadre, guidée sur des tiges filetées (B) par un moteur pas à pas (C). Sur le haut du cadre, deux têtes "d'écriture" (D, une seule est représentée) se déplaçant horizontalement (guidées par des courroies dentées et deux moteurs pas à pas : E) déposent le filet de plastique fondu sur la base A. Puis la base descend d'un niveau, le second étage est extrudé, et le mouvement se poursuit jusqu'à ce que l'objet soit terminé. Il y a deux têtes pour qu'un matériau de soutien soit déposé en supplément du matériau de contour, afin de supporter les parties qui ne sont pas encore reliées. Ce matériau est enlevé une fois le procédé terminé. (source : site RepRap)

Une étape importante de la suite du projet consiste à la réalisation des propres circuits électroniques de la machine par dépot d'alliages métalliques conducteurs.

Site principal projet RepRap
Blog pour suivre les développements au fur et à mesure : reprap blog
RepRap sur wikipedia



      chumby



Chumby
Le prototype du «Chumby»


Tiens, encore un gadget électronique! Qu'est ce que c'est : un calamar tamagotchi? un ballon de rugby polyphonique? Vous n'y êtes pas, c'est bien plus! Il s'agit du premier radio-réveil semi mou du XXIe siècle...

Mais, enfin, que cache réellement ce calamar polyphonique ? Le Chumby est un petit appareil wifi, capable au travers d'un navigateur flash et d'un écran tactile de diffuser toutes sortes de contenu venant d'internet. Des «widgets» : horloge digitale, diaporamas issus de Flickr, emails, calendriers, météo, nouvelles en flux RSS, etc. mais aussi du son, celui des radios internet par exemple, ou issu du réseau local.

Ce qui fait son originalité principale, ce sont les les idées qui entourent sa conception, en effet tout est mis en oeuvre pour qu'il soit le plus simplement possible hackable, modifiable, copiable, transformable par ses utilisateurs. Il est conçu pour être simple d'utilisation et donc utilisable par un large public, mais en même temps tout ce qui le compose est mis à disposition sous licence open-source, ce qui comprend :
- le code source du logiciel,
- les schémas électroniques,
- les plans des circuits imprimés,
- la liste des composants,
- les modèles 3D des pièces plastiques du boitier,
Il est donc possible de le construire soi-même (ce qui n'est pas très intéressant) mais surtout de le modifier, de le réparer, d'y rajouter divers capteurs, de l'insérer dans un boitier différent, et surtout à des développeurs de programmer de nouveaux logiciels.


Ecran du Chumby
2 photos du Chumby en action, à gauche le menu principal, à droite l'affichage d'un flux RSS
(photographies de Phillip Torrone)


C'est plutot inhabituel pour une société qui veut faire des profits (ils ne s'en cachent pas) de proposer un appareil high-tech en incitant à le copier et à le modifier. C'est le service d'abonnement payant qui leur permettra de fonctionner par la suite, ah ben voila, tout s'explique, pensez vous! Seulement l'abonnement sera payant, mais pas obligatoire, il sera possible d'utiliser le chumby indépendamment de ce réseau, en utilisant n'importe quel site internet, et bien sur par le réseau local. C'est donc un risque original et intéressant que prennent les concepteurs du Chumby, à rebours des conceptions actuelles sur le brevet industriel. Le dépôt du hardware en open source oblige également à le vendre le plus près possible du coût de fabrication, ce qui devrait être en dessous des 150$ (environ 120 euros).

Parmi les responsables du projet on trouve Bunnie Huang, au développement électronique, ardent promoteur du Hardware Hacking et des techniques d'ingénierie inverse (entre auteur auteur d'un livre sur le hacking de la XBox il y a quelques années).
Présenté pour la première fois en août 2006, quelques dizaines de prototypes ont depuis été distribué, ce qui a permis de lancer une première avant-garde de bidouilleurs, et bien sur d'alimenter le buzz... La chose est prévue pour être mis en vente courant 2007.


Composants du Chumby
Les composants du «Chumby» (image extraite de la présentation de Bunnie Huang à Toorcon 2006)


Dans le ventre du Chumby, on trouve un microprocesseur principal Freescale iMX21 266MHz ARM9 avec 32 Mo de SDRAM, 64 Mo de mémoire Flash NAND, un écran LCD tactile de 3.5 pouces à 12Hz (résolution 320x240), deux haut-parleurs de 2W, une sortie audio, un port USB, et bien sur une connection WIFI. Sur le schéma, le mystérieux «chumbylical» est un port d'extension, qui permet d'ajouter une entrée micro et un bus SPI. Un capteur mesure la lumière ambiante et un autre réagit à la pression, on peut donc presser son chumby!
Le système d'exploitation est un système linux, le logiciel principal étant un player flash capable d'afficher du contenu depuis internet par la liaison wifi.

site du fabricant : Chumby Industries et quelques photos sur flickr

      23C3 : mais que font les hackers?

23c3 hackers rendez-vous
23C3 : la 23e édition du Chaos Communication Congress, s'est tenu à Berlin fin décembre 2006. Organisée par le Chaos Computer Club, cette manifestation réunit des hackers du monde entier pour une semaine de conférences, de discussions, de bière et de pizza. Comme thème principal cette année «Who can you trust», une analyse critique des technologies émergentes dans la surveillance des individus et de leurs pratiques (biométrie, passeports électroniques, vote électronique, DRM, émetteurs RFID, data-mining, etc.)
D'autres sujets font aussi l'objet de conférences : mécanismes de protection et hacking des consoles multimédia, open-source et licences, drones, botnets, sécurité des réseaux et anonymat, cryptographie et puces FPGA, développement de l'open-source en Inde, identification des documents numériques, projet d'ordinateur à 100 dollars dont les premiers prototypes commencent à circuler. 60 conférences (en anglais et allemand), téléchargeables en vidéo, et accompagnées de documents annexes sont disponibles sur le site du CCC.

Lire la suite


      robozoologie


La robotique c'est généralement très sérieux, on construit des tonnes de robot pour qu'ils nous construisent à leur tour des voitures, ou pour les envoyer s'écraser sur de lointaines planètes, C3PO n'est pas près de sortir d'un labo, et en attendant, on peut juste sympathiser avec le nec plus ultra de l'intelligence robotique : des aspirateurs superbement carrossés mais dont on ne partage pas nécessairement l'attirance pour les saloperies qui trainent sur la moquette (et même pas foutu de se brancher tout seul).

Ca parait bien mal parti pour que les robots puissent un jour supplanter le genre humain. Heureusement, de sombres poêtes sont bien décidés à donner enfin leur chance aux robots, cherchant à mettre au point des créatures mécaniques sur les bases de la vie biologique, c'est à dire un organisme autonome, capable d'assurer sa subsistance, de se mouvoir à la recherche de sa propre nourriture (Vous et moi partageons ça avec les bactéries, les vers de vase et les tiques, entre autres)

Ce sont les "BEAM bots", principalement avides de soleil pour recharger leurs batteries, et capables de se mouvoir selon des principes inspirés des créatures qui peuplent la surface terrestre (biomimétisme). Au lieu d'être pilotés par des mini ou maxi ordinateurs, ce sont juste des composants simples réagissant aux stimuli extérieurs, qui forment le "système nerveux" du robot (employer le mot cerveau ferait tout de suite plonger ce billet dans la science fiction), et décident de ses actions. Et voila des créatures qui rampent/serpentent/se trainent/roulent partent à la recherche d'un rayon de soleil, alors là, évidemment on se trouve un point commun, et la sympathie est là.

BEAM, c'est pour : Biologie, Electronique, Esthetique (aesthetics), Mécanique. Bien souvent les pièces qui les composent sont issues de la récupération sur des appareils usagés (walkman, magnétoscopes, etc) et, bien souvent, les créatures sont propulsées à l'énergie solaire.

Un BEAM bot "classique", le Solar Walker
Une galerie des robots de Mark Tilden (chercheur américain parmi les premiers à effectuer des recherches sur ces robots sans ordinateur central), photographiés par Ian Bernstein.
Le bestiaire BEAM proposé par Solarbotics, boutique en ligne de composants électroniques tendance BEAM.


(photo extraite de Robosapiens, de Peter Menzel et Faith d'Aluisio, édité par MIT Press et traduit aux éditions Autrement en 2001. Il s'agit du robot Unibug 1.0 de Mark Tilden)


      minimum digital

One bit music par Tristan Perich

Voila un disque complet qui rassemble dans le même boitier, l'instrument, les enregistrements et le dispositif pour les écouter! Il suffit de brancher un casque pour écouter une des 11 titres différents joués par la puce (au centre de l'image ci-dessus). Trois morceaux sont à écouter sur le site de Tristan Perich, pour se faire une idée : les timbres rappellent le son des premières consoles de jeu video. Les morceaux sont entièrement composés en langage machine, sur une résolution de 1 bit pour être joués par la puce. > One Bit Music

Les morceaux supportent mal l'enregistrement en mp3, qui modifie le son original, donc la qualité sonore n'est pas très fidèle, voila quand même un morceau extrait de 'One Bit Music' :
Gilgamesh par Tristan Perich

Ce qui est propre à cet instrument et de cette musique, c'est son registre sonore limité et contraint par le matériel : contrairement au son échantillonné sur un cd traditionnel, ou chaque "moment sonore" (il y en a 44100 par secondes!) se voit attribué une valeur entre 0 et 65536, ici cette valeur ne peut être que 0 ou 1 , le registre sonore est donc considérablement réduit, il existe tout de même plusieurs milliers d'enchainements différents de 0 et de 1, donc d'ondes sonores différentes possibles!

Noah Vawter met au point un séquenceur de poche basé sur les formes d'ondes à 1-bit, le prototype est décrit sur son site (voir 1 bit groove box) avec pour les plus bricoleurs toutes les infos nécessaires pour le réaliser.

Dans l'univers sonore du 1-bit, on peut aussi croiser Mister Beep, adepte des chiptunes, qui ne compose qu'avec des sons 1-bit sur plusieurs voies, en utilisant un ordinateur sinclair/timex doté de 48kb de ram (!) et d'un 'beeper' intégré, programmé avec les logiciels musicaux d'il y a 20 ans, auquel il ajoute des expériences de programmation personnelle, on peut écouter ses titres : Mister Beep music

Evil Laugh par Mister Beep


      sCrAmBlEd ? HaCkZ !

Scrambled Hackz
un projet pour passer à la moulinette l'age du videoclip en deux étapes :
D'abord, Scrambled Hackz découpe en petit morceau les videos ou les morceaux qu'on lui jette, leur attribue une empreinte sonore et les range soigneusement dans une base de données. Fin de la première étape, puis ça recommence en temps réel cette fois à partir d'une source sonore (une voix et un micro par exemple), le son est découpé, l'empreinte de chaque fragment est comparé et remplacé par celui qui lui ressemble le plus dans la base.
Et le résultat, fraichement synthétisé est une nouvelle « chanson », un clip recomposé avec comme matière le son et l'image empruntés et décomposés auparavant.

Pour l'auteur, Sven König, c'est une machine sonore ironique qui aborde les questions de propriété intellectuelle, en les poussant jusqu'à l'absurde : qui est le créateur ou le propriétaire de cette video, réalisée à partir de morceaux ultra-courts extraits d'une multitude d'oeuvres sous copyright?
Scrambled Hackz permet une utilisation du sampling originale qui se sert des clips et de la mémoire musicale comme une matière à modeler.



Sven König prévoit de distribuer l'ensemble sous licence GNU-GPL, ce qui devrait réserver d'autres utilisations innatendues. Il indique que le code de la partie analyse et base de données mélange C++ et Python, alors que l'interface et le système audio-vidéo sont réalisés avec Pure Data

Le site de Scrambled Hackz


Une interview de l'auteur sur Wired.