Étape 4: Piratage de la télécommande
Mesurer les signaux IR :
Pour comprendre la télécommande j’ai accroché mon détecteur IR à un oscilloscope à mémoire et en appuyant sur les boutons. La chose gentille au sujet d’une portée de stockage est qu’il enregistre le code IR sur l’écran pour vous permet d’analyser. Prendre une étape plus loin, j’ai effectivement sauvé les traces pour chaque bouton comme un. Fichier CSV pour importer dans un Excel ou OpenOffice Calc tableur. Voir le fichier joint pour mon tableur de signal IR pour le bouton d’alimentation.
Analyser les signaux IR :
Pour utiliser la télécommande, je n’étais pas nécessairement intéressé par le décodage de la structure de l’ensemble du message. Principalement, je voulais trouver les différences dans le signal à chaque pression de touche.
À l’aide de la feuille de calcul et des données de portée horodatées, j’ai découvert que chaque signal IR comprenait trois parties - une impulsion de démarrage, un ID distant de 16 bits (ce qui est le même pour tous les boutons), puis un Code de bouton de 16 bits qui est unique pour chaque bouton. En regardant les derniers 16-bits du signal IR, nous sommes en mesure de discerner quel bouton a été enfoncé.
La partie la plus délicate à l’utilisation du code à distance est lorsque vous maintenez une touche, la télécommande envoie un code identique « répéter » jusqu'à ce que le bouton est sorti. Ceci répète code est très similaire à l’impulsion de démarrage, mais avec des durées différentes.
En utilisant les signaux IR :
J’ai le signal IR connecté à la broche d’interruption-sur-changement d’EIB. Grâce au module minuterie 0 interne, nous pouvons compter la période de temps entre les bords tombent sur cette broche. Chaque fois il est un descendant, le PIC enregistre l’état du Registre TMR0 (pour enregistrer la période précédente), puis redémarre TMR0 (pour enregistrer la prochaine période). En utilisant cette information, nous pouvons déterminer si un 1, 0, commencer à impulsions, ou répéter l’impulsion a été reçue.