Le protocole DI-O de Chacon
Dans cet article nous allons décrire de façon un peu technique le protocole Dio de Chacon mais avant ça un peu de culture.
Chacon et DI-O
Chacon est une entreprise belge a été créée en 1979 par Roland Chacon. Ce militaire de carrière s’est trouvé une nouvelle activité un fois à la retraite: il a lancé l’entreprise qui porte toujours aujourd’hui son nom. L’entreprise Chacon fabriquait à l’époque des douilles et des bloc prises. Elle conserve encore de nos jours cette activité historique et continue à innover dans ce secteur.
En 1994 l’entreprise est reprise par Messieurs Simon Verspreeuwen et Baudoin Delvaulx qui dirigent depuis la destinée de Chacon. Deux ans plus tard, en 1996, est créé le département Domotique qui a donné naissance à plusieurs périphériques et solutions tout au long de son développement pour aboutir maintenant à DI-O
Source : http://www.abavala.com/faisons-connaissance-avec-chacon-dio-et-smart-technology-edisio/
En bref
Type | Radio fréquence adressé |
Fréquence | 433Mhz |
Portée | 30m (plein champs) |
Fonctionnement du protocole
Le protocole est construit de la façon suivante : Chaque trame émît commencé par l’identifiant du module suivi par un code du groupe, la commande elle-même et enfin un sous-identifiant du module (par exemple l’identifiant de la touche d’une télécommande).
Le détail du codage des bits est un peu plus complexe et nous n’allons passer ce point-là. Cependant pour plus de détail et comprendre exactement le fonctionnement, je vous conseille cet article qui est très bien écrit : http://blog.idleman.fr/raspberry-pi-10-commander-le-raspberry-pi-par-radio/
Ce protocole est donc adressé et nécessite donc “un appairage” avant de pouvoir utiliser des nouveaux modules. Cet appairage se fait généralement lors de la première mise en route d’un module.
Voici donc le protocole plus en détail au travers d’une trame sur 32 bits
Identifiant du module (26 bits) | Identifiant de groupe (1 bit) | Etat on/off (1 bit) | Sous identifiant (4 bits) |
Nous avons donc
- 26 bits qui représentent l’identifiant du module – soit plus de 67 millions de modules possibles.
- 1 bit qui identifie la commande comme commande de groupe ou pas – 1 pour commande de groupe et 0 sinon.
- 1 bit qui représente la commande (0 pour off et 1 pour on)
- 4 bits pour le sous-identifiant ou encore le bouton sur lequel l’utilisateur appuie sur une télécommande – soit un maximum de 16 sous-commandes.
Les trames sont soit envoyées soit attendues en fonction du module. Par exemple une prise télécommandée va “écouter” les trames et si une trame correspond à son identifiant et son sous-identifiant, elle va exécuter l’action (pour 0 elle va s’éteindre et pour 1 elle va s’allumer). Dans le cas d’un détecteur d’ouverture de porte, il va émettre ce genre de code quand il change d’état: à l’ouverture ou à la fermeture de la porte.
Quelques exemples de trame
id | gid | cmd | subid |
00 0011 0011 1000 0011 0001 0010 | 0 | 1 | 1001 |
Ici le module identifié par 0x00338312 (en héxadecimal) envoie une commande On avec le sous identifiant 10. Il s’agit typiquement du type de commande envoyée par un détecteur d’ouverture de porte lorsque la porte se referme.
id | gid | cmd | subid |
00 0011 0011 1000 0011 0001 0110 | 0 | 1 | 0010 |
Ici le module identifié par 0x00338316 envoie une commande On avec le sous identifiant 2. Par exemple c’est le genre de code envoyé par une télécommande DI-O quand on appuie sur le bouton “On numéro 2”.
Il s’agit également du type de trame attendue par une prise DI-O pour s’allumer.
Sources
http://blog.idleman.fr/raspberry-pi-10-commander-le-raspberry-pi-par-radio/
http://www.homautomation.org/2013/10/09/how-to-control-di-o-devices-with-a-raspberry/
http://www.abavala.com/faisons-connaissance-avec-chacon-dio-et-smart-technology-edisio/
Pingback: Test de la prise On/Off de DI-O – So-Domotic.fr