Description du projet
Reverse de la télécommande des lumières, de la climatisation et des stores utilisée dans la tour du Campus Cyber
Étape 1 : Analyse de la télécommande
Observation physique : Distech controls est écrit au dessus, EC-Remote sur l’étiquette au dessous. Aucune information trouvée sur les différents sites recensant des télécommandes (LIRC principalement).
Flipper Zero : Aucun problème en mode apprentissage d’une nouvelle télécommande. Dans le fichier enregistré on note une détection de la fréquence : 38KHz et duty_cycle 0,33 (ce qui n’est pas exact)
Arduino : Avec un récepteur infrarouge intégré relié à un arduino on peut recevoir des signaux infrarouge sans difficulté. Le module se charge de réguler le gain d’amplification du signal, de filtrer, etc. Il existe plein de bibliothèques de gestion de reception et emission de signaux infrarouge. IRremote, IRLremote, IRMP. La plupart permettent d’identifier automatiquement le signal reçu, et ça fonctionne bien avec la télécommande IR des téléviseurs Samsung. Mais pour notre télécommande Distech rien n’est détecté. En mode RAW comme sur le Flipper Zero on arrive également à enregistrer des touches et reproduire le signal (avec une LED IR et une résistance).
Analyseur logique : Mais le mode RAW n’est pas très précis et n’est pas un vrai reverse du protocole. Une analyse du signal s’imposait donc. On voit vite qu’il s’agit d’une simple communication série à 600 bauds, 22 bits, un bit de start. Il ne faut pas oublier qu’un niveau bas signifie sur la capture du signal sortant du récepteur correspond à une fréquence porteuse de l’ordre de 38KHz. Pour voir le vrai signal en sortie de LED on peut mesurer directement le signal au niveau de la LED ou bien utiliser un phototransistor ou autre composant photosensible sans filtre. On voit ainsi facilement que la fréquence est plus proche de 32KHz que 38KHZ (32,9KHz mesurés).
Reverse : On obtient donc une valeur hexadécimale pour chaque signal émis par la télécommande. J’ai compté 24 signaux différents et enregistré ces valeurs dans des entiers de 32 bits dans le fichier distri.h
Après pas mal d’essais sans réel succès pour tenter d’utiliser les bibliothèques existantes (les protocoles des autres télécommandes sont rarement de simple protocoles série), je suis passé à une simple fonction qui attend n fois 1666µs avant de changer d’état. J’ai réutilisé une carte à base d’ESP32-C3 et donc les fonctions de LED Control parfaite pour générer du 32KHz.
Étape 2 : Réalisation physique
À faire : Décider du format de la télécommande. Il existe en réalité des sous-menus à la télécommande d’origine. Certaines touches permettent juste d’entrer dans ces menus mais n’émettent aucun signal. Il faut donc trouver un compromis entre nombre de touches, présence d’un écran ou pas, et ergonomie.
On pourra aussi décider de supporter d’autres télécommandes, comme celle des TVs Samsung présentes dans la tour.
Décider de la forme finale, concevoir un PCB et un boîtier imprimable en 3D PLA par exemple


