Contrôle de prise Chacon DIO First via Raspberry Pi

25-02-2014 6 min. read

Bonjour,

C’est donc mon premier article de domotique et également mon premier montage.

Cette article s’appuie sur les deux articles suivant :

Introduction

J’ai commencé depuis quelques temps à m’amuser à intégrer S.A.R.A.H. dans la maison via un media center maison.
Pour information, S.A.R.A.H. permet de communiquer avec l’ensemble des objets connectés de la maison via requête HTTP à l’aide de la voix.

J’ai fait l’acquisition de trois prises Chacon DIO First avec télécommande pour 30€ et d’un kit récepteur/émetteur 433MHz pour 3.45€ sur Amazon, il y a de ça une semaine.

Je possédais déjà un Raspberry Pi, je ne pense pas que ce soit très difficile à trouver, tellement c’est répandu maintenant !

Principe & fonctionnement

Les prises Chacon DIO First fonctionne via radio fréquence en 433MHz.
Le principe est tout simple, reproduire les donnés émises par la télécommande via l’émétteur 433MHz couplé au Raspberry Pi.

La télécommande communique avec les prises via le protocole Easy Home, ce protocole compose le signal sous 32 bits ainsi :

  • 26 premiers bits correspondant à l’identifiant de la télécommande;
  • 27 ème bit correspondant au numéro du groupe (non importante ici);
  • 28 ème bit correspondant à l’état de la prise (ON=1 & OFF=0);
  • 29 à 32 èmes bits correspondant au numéro de la prise à commandée.

Pour de meilleure explication, je vous réfère au tutoriel d’Idleman 10 sur le Raspberry Pi.

Montage

Si vous n’avez jamais jouer avec les ports GPIO du Raspberry Pi voici le montage à adopté pour faire fonctionner l’émetteur 433MHz.

Vous pouvez voir sur le montage l’émetteur mais également le récepteur, ce n’est pas utile pour ce que l’on veut faire ici.

Pour l’astuce, un câble de ventilateur PC à trois pins convient parfaitement pour l’émetteur 433MHz ;)

Vous pouvez souder un fil conducteur à l’emplacement réservé à l’antenne (Ant) sur l’émetteur de 17,3cm, si vous voulez vous assurez de la bonne communication avec les prises.

Logiciel

On passe ensuite au niveau logiciel sur le Raspberry Pi.

Il vous faut avant tout chose installer la librairie WiringPi, permettant de simplifier l’accès aux ports GPIO:

Installation de git

1
sudo apt-get install git-core

Mise à jour de Raspbian

1
2
sudo apt-get update
sudo apt-get upgrade

Récupération de WiringPi sur Git

1
git clone git://git.drogon.net/wiringPi

Récupération des dernières modifications de WiringPi

1
2
cd wiringPi
git pull origin

Construction de la librairie WiringPi

1
2
cd wiringPi
./build

Le code pour contrôler les prises est à récupéré sur le site d’Idleman (merci à lui).

Dans ce zip se trouve, une interface web et le code C permettant le contrôle des prises Chacon. On ne s’occupera pas de l’interface web dans cette article.
Le fichier important est donc radioEmission, si vous voulez jouer avec le code, vous pouvez ouvrir (et modifier) le fichier radioEmission.cpp et recompiler le fichie radioEmission à l’aide de la commande suivante :

1
g++ radioEmission.cpp -o radioEmission -lwiringPi

Il vous faudra bien entendu avoir installé g++ sur votre Raspbian.

Enfin, pour lancer une commande :

1
/VOTRE_REPERTOIRE/radioEmission 0 12345678 0 on
  • 0 correspondant au numéro du WiringPi connecté au RaspberryPi, ici ça sera le pin physique 11 et donc le GPIO 0;
  • 12345678 correspondant à l’identifiant de la télécommande de votre kit Chacon;
  • 0 correspondant à la prise que vous voulez commandée (0, 1 ou 2);
  • on, correspondant à l’action à communiquer à la prise (on ou off).

A savoir que le numéro identifiant la télécommande peut être différent de celui de votre télécommande, lorsque vous branchez une prise DIO First, elle passe en mode apprentissage pendant les 5 premières secondes (elle clignote). Pendant ce mode d’apprentissage, vous pouvez envoyer un signal (action on) avec un nouveau code qu’elle apprendra.

Si comme moi, vous apprenez malencontreusement le même code (identifiant et numéro de prise) à deux prises différentes, vous pouvez supprimer un apprentissage en envoyant une commande avec une action off lors de l’apprentissage de la prise en question.

Intégration à S.A.R.A.H. (Connaissances du projet requises)

Le plus gros est fait ! Vous pouvez maintenant commander vos prises en exécutant la commande sur votre Raspberry Pi de n’importe qu’elle façon.

Afin de lancer la commande via S.A.R.A.H. on va simplement exécuter la commande via SSH.

Pour cela il existe un plugin SSH sous S.A.R.A.H qui permet de faire ça tout simplement.

Commande pour S.A.R.A.H. en XML :

1
<item>allume la lampe verte<tag>out.action.cmd_bash="recepteur1on.sh"</tag></item>

Fichier recepteur1on.sh exécuté par S.A.R.A.H. :

1
sudo /var/www/hcc/radioEmission 0 11646814 1 on

Et on termine tout ça par une petite démonstration vidéo ;)