Nombreux aujourd’hui sont ceux équipés de nombreux équipements nécessitant tous une télécommande, regardez votre table basse de salon et comptez le nombre de télécommandes… 1, 2, 3 …5 …C’est ce constat qui m’a amené à trouver une solution autre que la télécommande universelle, pas toujours compatible avec l’ensemble des équipements, et puis g33k dans l’âme la solution était trop simple.

Le projet en une phrase : interconnecter tout équipement ayant une liaison sans fil, filaire et autres !

La solution en une phrase : un ordinateur capable de recevoir et transmettre le maximum de protocole de communication connectable.

Mon projet est encore en phase de travaux et d’expérimentations, bien que je l’utilise au quotidien, j’estime le pourcentage d’avancement à 85%.

Pour commencer un rapide tour des équipements à ma disposition :

  • Un émetteur, récepteur infrarouge universel : USB-UIRT (permet de piloter le téléviseur, le vidéo projecteur, l’ampli)
  • Un kit X10 et PLCBUS, du courant porteur pour les lampes (permet de piloter l’éclairage)
  • Une montre de chez Texas Instrument, la eZ430-Chronos
  • Une clé 1-wire et divers capteurs de température de type DS18B20
  • Une machine sous Ubuntu faisant office de « serveur »
  • Une tablette Asus Transformer (Honeycomb) et une tablette Archos 101 (Android 2.2)
  • Divers équipements, téléviseurs Samsung 82cm et Philips 82cm, vidéoprojecteur Optoma HD65, ampli Onkyo, un décodeur IPTV etc …

Sur le serveur j’ai programmé un petit applicatif qui écoute sur un Socket les messages provenant des tablettes Android. En fonction du bouton appuyé, l’action souhaité est déclenchée en exécutant un script Perl.

Exemple de script Perl pour allumer la lampe du salon par X10 transmetteur CM15 Pro et le récepteur LM12 :

#!/usr/bin/perl -w
use Fcntl;
sysopen( CM15A, "/dev/cm15a0", O_RDWR |O_NOCTTY | O_NONBLOCK ) || die "Module cm15a.ko non charge $!";
syswrite CM15A, pack( "CC", 4, 0x61 ), 2;
sleep 1;
syswrite CM15A, pack( "CC", 6, 0x62 ), 2; # ON
close( CM15A );
Exemple de script Perl pour une commande infrarouge par USB-UIRT (allumer le vidéoprojecteur) :
#!/usr/bin/perl
`irsend SEND_ONCE OPTOMA POWER`;
exit();

Voici une petite vidéo de la partie commande du téléviseur avec la montre et la tablette tactile :

Fonction de la montre (eZ430 Chronos) :

  • rotation vers l’avant = augmenter le volume
  • rotation vers l’arrière = diminuer le volume
  • bouton 1 = changer le canal du décodeur vers le haut
  • bouton 2 = changer le canal du décodeur vers le bas
  • bouton 3 = allumer/éteindre la lampe du salon

Fonction de la tablette (Asus transformer TF101G et Archos 101) :

  • allumer/éteindre l’ensemble des équipements (tv, vidéo projecteur, ampli, décodeur tv …)
  • piloter l’ensemble des équipements (volume +/-, changer le canal, etc …)
  • allumer/éteindre les lampes (chambre et salon)

Vidéo de la mise sous et hors tension de lampe du salon avec la montre puis la tablette :

Captures

Quelques captures de l’interface des tablettes sous Android (marche aussi sur les téléphones portables sous Android) le graphisme est provisoire.

Interface principale – Pilote la mise sous et hors tension Téléviseur/Vidéo projecteur/Ampli/Lampe Salon et Chambre

 

 Interface de l’ampli Onkyo – Fonction les plus utilisées de l’ampli

 

Interface de la box IPTV – Fonction les plus utilisées

La partie programmation :

Netbeans – Applicatif « serveur »

 

 Eclipse – Applicatif « Android »

 

Munin pour le relevé des températures en 1-wire en modifiant le câblage des prises téléphonique .

 

  • Ichikawa

    Vraiment très intéressant, merci !!

  • Reste plus qu’à rendre le tout sexy et c’est partie pour l’industrialisation 🙂

    Vraiment intéressant ton projet surtout que je cherche ce genre de solution.

  • Lairbag

    Mais c’est génial!!!!
    Comptes tu rendre tout ça opensource et/ou libre ?

  • Anonyme

    Bonjour à tous,
    Merci pour vos commentaires, effectivement comme je l’ai précisé les interfaces sont provisoires, car la finalité est de simplifier la vie de l’utilisateur au maximum et pour se faire je souhaite créer une interface capable de générer l’interface des télécommandes automatiquement quelque soit la plateforme de terminal de commande (android, windows mobile, via un navigateur web, mobile .. etc etc ) le travail est colossal. La gestion d’accès aux fonctions, ajout simplifié de nouvelles télécommandes, création de scénarii (dim des lampes et allumer vidéoprojecteur et régler ampli en mode cinéma et fermer les rideaux) etc …
    La partie relevé température se verra complétée par celle de l’humidité permettant d’asservir la climatisation.

    Ma finalité est de rendre tout inter-connectable … surtout que je n’ai pas parlé du projet parallèle qui est le multimédia, disposer de tout les médias sur tout les supports (ordi, tablette, téléphone, cadre numérique, vidéopro/télé) … il y a bien le DLNA qui est le squelette de se projet.

    Quant à sa diffusion j’avoue ne mettre pas encore posé la question réellement…  il est prématuré de s’avancer la dessus mais mon but n’est pas de fermer quoique ce soit.
    Voili voulou 🙂

    Si vous avez des questions je suis disponible pour y répondre :p

    • Lairbag

      Beaucoup de boulot en perspective, je pensais à l’open source parce que si tu as besoin d’aide tu trouvera surement du monde pour t’aider.

      Une autre question est ce que tu envisage de monter un blog ou autre pour parler de l’avancement du projet plus en détail ?

      Bon courage pour la suite!

    • Anonyme

      J’y pense effectivement de publier un blog afin que cela puisse être une sorte de mémo pour moi et d’informations pour les autres. (noté sur mon mur de post-it des choses à faire ! ^^)

  • Alexx’

    J’ai eut exactement la même idée il y a une semaine, sauf avec toutes les lumières de la maison ainsi que le chauffage et les volets roulants, je n’ai juste pas toutes les compétences nécessaires pour y arriver.

    Si tu a besoin de testeur je me porterais bien volontaires, ayant un smartphone android (samsung galaxy s2) et une tablette (archos 5it), si le coût du projet n’est pas trop élever (contrôleur pour les lampes, émetteur infrarouge,…)

    De plus j’ai quelque base (mais vraiment minime^^) en programmation, donc si jamais contact moi 😉

    Bonne continuation 

    • Anonyme

      Pour les testeurs, je garde ta proposition sous la main elle me sera utile.
      En terme de coût il faut compter :piloter les équipements ir = USB-UIRT = 55€piloter 2 points lumineux + 1 prise = de 250€ à  300€ en fonction de la technologie choisiepoint lumineux suplémentaire = de 40€ à 70€un ordi basse consommation sous ubuntu = 300€montre radio = 50€relever température = 1-wire = 30€ + 3,5€ par pointPour ma part je rajoute 20% sur les prix habitant loin de la métrôpole.

    • Alexx’

      Oulà je m’attendait pas à ce prix la pour piloter les deux points lumineux, je pensait plutôt à utiliser un arduino (j’en ai un sous la main :p) avec quelque relais, pareil pour l’infrarouge et la température. Cela pourrais réduire le coût du projet, a voir

    • Anonyme

      effectivement tu peux utiliser un arduino avec des relais. Moi j’utilise du courant porteur X10 et PLCBUS ( n’étant pas propriétaire cela evite de cabler) et les modules permettent la variation d’intensité.
      J’ai un arduino uno et un shield ethernet je me le reserve pour la chambre … il devrait piloter la tv (la porté du uirt étant coupée par une cloison) et servir à la commande du futur meuble tv style « tv lift » …. mais je ne me suis pas encore penché sur la programmation de l’arduino si ce n’est des scenarii pour led en fonction du bouton.
      A la base je voulais me servir d’un arduino pour concevoir le signal du courant porteur/infrarouge … ceci afin de me passer de module transmetteur et d’ordinateur mais je pense que c’est hors de mes competences et celle de l’arduino

  • Pierre P

    C’est du super boulot. Vu le nombre de personnes potentiellement intéressées, faire un blog (ou un wiki-blog ?) et rendre le projet open source devrait t’attirer beaucoup de collaborateurs.
    Une question pour ma part: un arduino (avec wifi ou ethernet) avec une entrée/sortie IR et BT ne serait pas déjà un projet plus simple, moins dépensier, servant dors et déjà à contrôler tout les appareils multimédias ?
    Tu pourrais te servir de ce projet simplifié pour te faire un apport de sous pour le projet complet, car si par exemple le montage décrit ci dessus était réalisable, testable, et qu’une application Android était liée à elle (à un coût d’application Androïd 😉 ), tu pourrais dors et déjà compter sur moi pour acheter cette application, et en parler à toutes mes connaissances !

    • Anonyme

      Merci,
      Bon c’est décidé je vais préparer un wiki-blog …d’ici deux semaines.
      Concernant le projet arduino initial, j’ai déjà de la doc pour recréer un signal de courant porteur ( et me passer d’un emetteur à 120€) mais j’ai du mal à me fournir en composants electroniques. Pour moi effectivement si j’arrive à réduire les coûts de création et surtout d’utilisation (un ordinateur 24/24h allumé represente un coût non négligeable  à l’année).
      En tout cas merci à tous pour votre interet porté au projet.
      Affaire à suivre :p

    • Pierre P

      Pour les composants électroniques, c’est effectivement un défis, que l’on ai un magasin avec pallier sur rue ou un magasin uniquement sur le net… Les moteurs de recherche de produits sont difficiles à maîtriser.
      Pour le courant porteur, personnellement, j’aime l’idée (beaucoup), mais bizarrement, les solutions « pro » existantes fonctionnent toutes par radio (même Legrand est passé du courant porteur à radio, pour pouvoir intégrer des interrupteurs plats sur des cloisons non modifiables).
      Il doit y avoir.. « un truc » 😉

    • Lairbag

      Mes parents ont eu un soucis avec le courant porteur.
      Pour faire simple, il y a 2 compteurs électrique dans la maison du coup le courant porteur ne passait pas dans la pièce qui était indépendante.

      Certes c’est un cas assez particulier mais il le radio permet de passer outre ce type de contrainte.

      Je pense que le truc est la, ne pas se prendre la tête avec les installations un peu hors norme.

    • Anonyme

      Ah effectivement, le courant porteur est fait pour ne pas « sauter » le compteur électrique … et ce pour une raison toute simple éviter de propager l’information chez le voisin … surtout en immeuble ^^
      Cela dit il existe un moyen de mémoire pour coupler deux réseaux, mais j’avoue ne pas être allé plus loin pour ce problème ! Chez les parents je vais avoir le même problème sur une extension et dès que j’aurai l’info exact et vérifié je te passera l’info !

      Actuellement je me dégage du temps pour préparer un mini-blog ^^

      A savoir que je ne vais pas m’arrêter qu’au CPL mais également m’attaquer au radio. Mon but c’est la flexibilité, utiliser ceux qu’on a sous la main et ne pas se poser de questions sur la commande 🙂
      Après question fiabilité, sécurité j’ai longtemps hésité pour au final me rendre compte que l’ensemble se valent … si ce n’est que la radio est plus facilement accessible de l’extérieur.

  • yann PONSAR

    Ce projet me parait très intéressant, bonne continuation !

  • Anonyme

    Salut à tous,
    mon blog pour suivre mon projet est ouvert … les billets ne sont pas encore nombreux mais il y a tellement à écrire qu’il sera alimenté rapidement.
    Pour le lien je ne peux pas le déposer directement ici (il faut que le webmaster le valide je pense ce qui est normal ^^)

    • Anonyme

      J’avais pas vu que ton commentaire précédent était en attente d’approbation à cause du lien, c’est corrigé…
      Aucun problème pour ton lien, je rajoute sur ton profil auteur aussi.

    • Anonyme

      merci a toi pour la mise a jour.