TellStick et telecommande exotique

De MicElectroLinGenMet.

(Retour Accueil ou Liste des articles)

Sommaire

Description

Le TellStick et une petit module USB permettant de piloter facilement des récepteurs RF fonctionnant sur la fréquence 433.92MHz comme les récepteurs Chacon entre autres.



Cette télécommande HF pour PC est fourni par http://www.telldus.se et disponible en France à la boutique http://www.planete-domotique.com sur cette page.

En plus des produits Chacon, cet émetteur est compatible avec d'autres modules radios : Proove, Nexa, IKEA, CoCo, Bye bye standby, Elro, Sartano, DIY, Waveman.


L'autre fonctionnalité intéressante de ce module et de pouvoir commander d'autres récepteurs puisqu'on peut lui faire générer un protocole donné.
Le protocole de communication avec le module est donné sur cette page http://developer.telldus.se/doxygen/TellStick.html.


Sous Linux, il est possible d'envoyer ces commandes RAW avec la programme tdtool (existe aussi sous Windows) fourni ici (http://developer.telldus.se/wiki/TellStick_installation_Linux).

Un exemple est d'ailleurs donné dans le man.

$ tdtool --help   
Usage: tdtool [ options ]            

Options:
        -[bdefhlnrv] [ --list ] [ --help ]
                     [ --on device ] [ --off device ] [ --bell device ]
                     [ --learn device ]                                
                     [ --dimlevel level --dim device ]                 
                     [ --raw input ]                                   

     --list (-l short option)
            List currently configured devices.
     ...

     --raw input (-r short option)
            This command sends a raw command to TellStick.
            input can be either - or a filename. If input is - the data is
            taken from stdin, otherwise the data is taken from the supplied filename.

            Example to turn on an ArcTech codeswitch A1:
            echo 'S$k$k$k$k$k$k$k$k$k$k$k$k$k$k$k$k$k$k$kk$$kk$$kk$$}+' | tdtool --raw -


Récepteur HF Philips

Je possède depuis un temps certain une télécommande et deux récepteurs de marque Philips fonctionant sur cette fréquence de 433.92MHz qui n'est malheureuse compatible qu'avec elle-même bien qu'elle gère le codage avec des mollettes à la X10 (house/unit).



En utilisant le logiciel Protocol Analyzer disponible sur http://wiki.nethome.nu/doku.php/analyzer/start comme sur la page Generation_signaux_Chacon-RF_avec_un_AVR#D.C3.A9codage, il est possible de trouver le codage utlisé.

Exemple de capture du signal de la télécommande:


Réception d'une trame A1_ON
Zoom sur la trame pour mesurer les timing

En regardant le graphe, il est possible de déterminer le codage utilisé. (il faut inverser le graphe pour faire correspondre niveau 1/0)

Codage signal RF Télécommande Philips
 
Entête de ~14ms à '0' entre trame.

|                      +-------+                        +------------------------+       +---
|                      |       |                        |                        |       |
|          14ms        | 450us |         1450us         |           1450us       | 450us |
| ---------------------+       +------------------------+                        +-------+
| |<----- Entete ---- >|<------------- 0 -------------->|<-------------- 1 ------------->|

Code A1-ON : 0xFF-0xFF-0x30
Code A1-OFF: 0xFF-0xFF-0xC0
Code A2-ON : 0xFF-0x3F-0x30
Code A2-OFF: 0xFF-0x3F-0xC0


Utilisation avec le TellStick

En suivant la doc. du protocole le codage suivant sera utilisé:

1450us = 0x91 (145 x 10us)
450us  = 0x2D ( 45 x 10us)

'1' logique sera codé 0x91 0x2D
'0' logique sera codé 0x2D 0x91


  • Trame Tellstick:
Code A1-ON (0xFF-0xFF-0x30):

52('R') 08 								Repeat trame 8 fois.

50('P') 0E 								Pause entre trame 14ms (0x0E)				

53('S') 								Send command

  1      1      1      1   -  1      1      1      1 			0xFF
91 2D  91 2D  91 2D  91 2D  91 2D  91 2D  91 2D  91 2D

  1      1      1      1   -  1      1      1      1  			0xFF
91 2D  91 2D  91 2D  91 2D  91 2D  91 2D  91 2D  91 2D

  0      0      1      1   -  0      0      0      0  			0x30
2D 91  2D 91  91 2D  91 2D  2D 91  2D 91  2D 91  2D 91

  0 								        Bit 0 de fin.
2D 91

2B('+') 								Fin trame


Il suffira d'envoyer un fichier binaire contenant ces codes pour émettre ce codage:
Fichier Philips_A1ON_Tellstick.bin:

$ hexdump -C Philips_A1ON_Tellstick.bin
00000000  52 08 50 0e 53 91 2d 91  2d 91 2d 91 2d 91 2d 91  |R.P.S.-.-.-.-.-.|
00000010  2d 91 2d 91 2d 91 2d 91  2d 91 2d 91 2d 91 2d 91  |-.-.-.-.-.-.-.-.|
00000020  2d 91 2d 91 2d 2d 91 2d  91 91 2d 91 2d 2d 91 2d  |-.-.--.-..-.--.-|
00000030  91 2d 91 2d 91 2d 91 2b                           |.-.-.-.+|


Pour le codage A1-OFF (0xFF-0xFF-0xC0), le fichier ressemblera à cela:

$ hexdump -C Philips_A1OFF_Tellstick.bin
00000000  52 08 50 0e 53 91 2d 91  2d 91 2d 91 2d 91 2d 91  |R.P.S.-.-.-.-.-.|
00000010  2d 91 2d 91 2d 91 2d 91  2d 91 2d 91 2d 91 2d 91  |-.-.-.-.-.-.-.-.|
00000020  2d 91 2d 91 2d 91 2d 91  2d 2d 91 2d 91 2d 91 2d  |-.-.-.-.--.-.-.-|
00000030  91 2d 91 2d 91 2d 91 2b                           |.-.-.-.+|
00000038


Pour le codage A2-ON (0xFF-0x3F-0x30):

echo -ne  "\x52\x08\x50\x0E\x53\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x2D\x91\x2D\x91\x91\x2D\x91\x2D\x91\x2D
\x91\x2D\x91\x2D\x91\x2D\x2D\x91\x2D\x91\x91\x2D\x91\x2D\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2B" > Philips_A2ON_Tellstick.bin

Pour le codage A2-OFF (0xFF-0x3F-0xC0):

echo -ne  "\x52\x08\x50\x0E\x53\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x2D\x91\x2D\x91\x91\x2D\x91\x2D\x91\x2D
\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2D\x91\x2B" > Philips_A2OFF_Tellstick.bin



  • Emission avec le TellStick:
$ tdtool --raw Philips_A1ON_Tellstick.bin

Le TellStick pilotera ces récepteurs mais ce codage n'est malheureusement pas reconnu par le rfxcom.


  • A voir

Possibilité ou non de rajouter une librairie aux sources du programme tdttool pour intégrer ce codage ou d'intégrer ce codage dans les sources du programme rfcmd de Telldus.


Utilisation avec un CI encodeur/decodeur UM3750

Voir page TellStick et UM3750