Christophe Nowicki

April 23, 2009

Mesure de température à l’aide de capteurs 1-wire

Cherchant une solution pour mesurer la température de mon appartement de manière informatisée ; j’ai découvert le bus 1-Wire qui permet de connecter des capteurs divers à l’aide d’un seul cable (téléphonique aka RJ11 dans mon cas).
Ce protocole est généralement utilisé pour des instruments de mesure météorologiques.

Ce billet explique le fonctionnement de mon installation.

Le matériel nécessaire

Composant Prix
Adaptateur USB vers 1-Wire ( DS9490R ) 29 $
Cable RJ12 2 à 10 $
Capteur de température ( TAI8520 ) 22 $
Capteur de température et d’humidité ( TAI8540D ) 50 $

Le fabriquant de ces modules est AAG Electronica.
Vous pouvez commander ce matériel directement chez le fabriquant aux USA ou bien chez Audon Electronics en Angleterre.

J’ai acheté mon matèriel chez Audon, car le taux de change de la Livre sterling est actuellement très avantageux (1 € = 1 £ ).
De plus, cela évite les diffèrents problèmes liés aux douanes (non … je vous dis que ce sont des capteurs de température pas des missiles ;-) )

Installation du matériel

Avant de brancher l’adaptateur USB, il faut désactiver le chargement des modules noyau ds2490 et wire dans le fichier : /etc/modprobe.d/blacklist


cat <<EOF >> /etc/modprobe.d/blacklist
blacklist ds9490r
blacklist ds2490
blacklist wire
EOF

Vous pouvez ensuite brancher l’adaptateur USB et vérifier qu’il est bien présent à l’aide de la commande lsusb :


$ lsusb | grep 1-Wire
Bus 002 Device 006: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter

Digitemp, tu oublira vite

Lorsqu’on cherche une solution de monitoring de température, on trouve sur le programme Digitemp.
Je ne vous le conseille vraiment pas, car il ne fonctionne pas très bien :

  • il renvoie une valeur de manière aléatoire ;
  • il nécessite les droits root pour lire le port usb ;
  • les scripts fournis avec le programme ne fonctionnent pas, il faut les modifier, etc…

Bref après une soirée de configuration, j’ai bien réussi à mettre les valeurs dans une base MySQL avec un script cron et digitemp, mais le lendemain matin cela ne fonctionnait plus …

Owfs, rocks les ours de laponie du nord

Owfs est un bien meilleur solution pour le monitoring de la température.
L’installation et la configuration est décrite sur le Wiki de Sebastien Mei :

J’ai donc installé le tout et configuré le monitoring avec munin :

C’est pas ti beau?

Filed under: Debian,Home automation — Tags: — cscm @ 22:19

February 4, 2009

Présentation de la plateforme de développement éléctronique Arduino

Un ami m’a fait découvrir la plate-forme de développement Arduino.
J’en cherchais justement une, un peu plus avancée que la plate-forme Mindstorms de LEGO pour la robotique.

Celle d’Arduino est composée d’une carte élétronique qui se branche à l’aide du port USB sur un PC et d’une suite de logiciels pour développer des programmes sur la carte.
L’ensemble du matériel et des logiciels sont libres. (OpenHardware)

Lors des mes études, j’ai été introduit à la programmation sur Microcontrôleur PIC.
J’en garde quelque mauvais souvenir lié à la manipulation d’un environnement de développement intégré propriètaire et d’une grande complexité.

Du coup lorsque, j’ai branché ma carte Arduino Diecimila, compilé et éxécuté mon 1er programme en moins de 5 minutes, le tout sous Debian GNU/Linux.
Ce fut un gros choc! ;-)

Alors c’est vrai, je vais pouvoir faire des montages éléctroniques facilement ? ;-)

Pour être honnête, non, je ne vais pas me transformer en éléctronicien de génie en 5 minutes, chacun son métier et si l’on ne comprend pas les fondamentaux de l’éléctronique tout ne va pas fonctionner comme par miracle.

Néanmoins, je trouve cette plate-forme très intéressante, car elle permet de réaliser beaucoup de choses et manière très simple.
Je vous laisse juger par vous même :

Caractèristiques techniques de la carte

Arduino Duemilanove
  • Microcontroller : ATmega168
  • 14 Entrées/ Sorties Digital (dont 6 capables de réaliser une Modulation de largeur d’impulsion)
  • 6 Entrées Analogiques
  • 16KB de mémoire Flash
  • 1KB de SRAM
  • 512 bytes EEPROM
  • Cadence de l’horloge : 16 MHz
  • Alimentation via le port USB ou par une alimentation externe.

Cartes additionnelles

Il existe de très nombreuses possiblités d’extensions :

  • Bluetooth ;
  • Ethernet ;
  • Zigbee ;
  • GPRS ;
  • GPS ;
  • Carte MicroSD ;
  • Lecteur RDIF ;
  • Ećrans LCD ;
  • Accéléromètre ;
  • Gestion des servo moteurs ;
  • 1-wire
  • etc…

Les possiblités offertes par la carte sont très nombreuses, il y a une importante communauté de passionné autour de ce projet.

Premiers pas

Pour commencer, il existe une très bonne documentation en Français : Initiation à la mise en oeuvre matérielle et logicielle de l’Arduino (au format PDF).

Il y a de très nombreux revendeurs pour la carte, ansi que pour les extensions dans le monde.
Chaque magasin propose les cartes standards et parfois ses propres extensions.

Pour ma part, j’ai passé mes commandes de matériel chez Lextronic,Libelium et InMotion.

Je publierai bientôt quelques montages.

Enfin si mon chat est encore vivant ;)

Filed under: Do it yourself,Hardware,Home automation,Robotics — Tags: — cscm @ 21:37
« Previous Page

Powered by WordPress