Difference between revisions of "Projets:Perso:2013:IR remote via PC"
(Created page with "{{Project |name= IR remote via PC |author= Helorem |proposal_date= 18/08/2013 |abstract1=L'objectif : enregistrer un signal IR provenant d'une télécommande pour pouvoir le rejo...") |
(Enregistrer un signal IR provenant d'une télécommande pour pouvoir le rejouer par la suite.) |
||
Line 3: | Line 3: | ||
|author= Helorem | |author= Helorem | ||
|proposal_date= 18/08/2013 | |proposal_date= 18/08/2013 | ||
− | |abstract1=L'objectif : | + | |abstract1=L'objectif : Enregistrer un signal IR provenant d'une télécommande pour pouvoir le rejouer par la suite. |
|abstract2= | |abstract2= | ||
|abstract3= | |abstract3= | ||
Line 12: | Line 12: | ||
|budget= | |budget= | ||
}} | }} | ||
+ | |||
= Présentation = | = Présentation = | ||
Line 17: | Line 18: | ||
*Pourquoi : De mon PC, je veux pouvoir allumer la TV, le lecteur DVD, ect... | *Pourquoi : De mon PC, je veux pouvoir allumer la TV, le lecteur DVD, ect... | ||
+ | |||
L'idée de base est de faire un Man-in-the-middle infrarouge. | L'idée de base est de faire un Man-in-the-middle infrarouge. | ||
Line 22: | Line 24: | ||
- Enregistrement d'un signal IR | - Enregistrement d'un signal IR | ||
- Envoi d'un signal IR | - Envoi d'un signal IR | ||
+ | |||
= Avancement = | = Avancement = | ||
Line 31: | Line 34: | ||
# {{Avancement|5||border: solid 1px gray;background-color: lightgray;width: 50px;margin-right:10px;margin-top:-5px;display:inline-block;}}Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL | # {{Avancement|5||border: solid 1px gray;background-color: lightgray;width: 50px;margin-right:10px;margin-top:-5px;display:inline-block;}}Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL | ||
# {{Avancement|0||border: solid 1px gray;background-color: lightgray;width: 50px;margin-right:10px;margin-top:-5px;display:inline-block;}}Etape 7 : Faire passer le signal IR via CPL | # {{Avancement|0||border: solid 1px gray;background-color: lightgray;width: 50px;margin-right:10px;margin-top:-5px;display:inline-block;}}Etape 7 : Faire passer le signal IR via CPL | ||
+ | |||
== Etape 1 : communication USB -> PC == | == Etape 1 : communication USB -> PC == | ||
Line 39: | Line 43: | ||
La classe du peripherique est HID, car ainsi pas besoin de drivers. C'est possible car je n'ai pas besoin d'un gros debit, et comme ca la gestion des données brutes se fait en userspace. | La classe du peripherique est HID, car ainsi pas besoin de drivers. C'est possible car je n'ai pas besoin d'un gros debit, et comme ca la gestion des données brutes se fait en userspace. | ||
Coté logiciel, j'ai fait un petit programme en python pour gerer mon protocol USB perso. | Coté logiciel, j'ai fait un petit programme en python pour gerer mon protocol USB perso. | ||
+ | |||
== Etape 2 : Transmettre un signal IR == | == Etape 2 : Transmettre un signal IR == | ||
Line 46: | Line 51: | ||
La LED a une longueur d'onde de 940nm, et le recepteur une frequence de 38kHz. D'après mes recherches sur la toile, cela devrait couvrir la majorité des télécommandes. | La LED a une longueur d'onde de 940nm, et le recepteur une frequence de 38kHz. D'après mes recherches sur la toile, cela devrait couvrir la majorité des télécommandes. | ||
Pour tester, j'ai un recepteur IR avec la telecommande utilisé pour controller le pc. | Pour tester, j'ai un recepteur IR avec la telecommande utilisé pour controller le pc. | ||
+ | |||
*Problème : Bin ca ne marche pas :-( | *Problème : Bin ca ne marche pas :-( | ||
+ | |||
== Etape 3 : Enregistrer un signal IR == | == Etape 3 : Enregistrer un signal IR == | ||
Line 53: | Line 60: | ||
Coté PC, le script python decode le buffer et l'affiche dans une fenetre graphique genre oscilloscope en permettant de zoomer, etc... | Coté PC, le script python decode le buffer et l'affiche dans une fenetre graphique genre oscilloscope en permettant de zoomer, etc... | ||
Au final, le script devrait pouvoir deduire le signal unitaire et l'enregistrer pour un usage ulterieur | Au final, le script devrait pouvoir deduire le signal unitaire et l'enregistrer pour un usage ulterieur | ||
+ | |||
== Etape 4 : Envoyer un signal IR == | == Etape 4 : Envoyer un signal IR == | ||
Line 58: | Line 66: | ||
Le controleur peut recevoir un buffer compressé et le rejouer. | Le controleur peut recevoir un buffer compressé et le rejouer. | ||
Coté PC, rien n'est encore fait (j'envoie le buffer que j'ai recu sans modifications). | Coté PC, rien n'est encore fait (j'envoie le buffer que j'ai recu sans modifications). | ||
+ | |||
== Etape 5 : Faire passer de la donnée via courant porteur == | == Etape 5 : Faire passer de la donnée via courant porteur == | ||
Ma TV est eloignée de mon PC, donc pour communiquer avec le module qui comporte la LED, je veux passer par courant porteur. | Ma TV est eloignée de mon PC, donc pour communiquer avec le module qui comporte la LED, je veux passer par courant porteur. | ||
il faut dabord que je puisse faire un interrupteur via courant porteur, qui est la base materiel avant de mettre en place un protocol de communication. | il faut dabord que je puisse faire un interrupteur via courant porteur, qui est la base materiel avant de mettre en place un protocol de communication. | ||
+ | |||
== Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL == | == Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL == | ||
J'ai deja une idée du protocole de reconnaissance des modules | J'ai deja une idée du protocole de reconnaissance des modules | ||
+ | |||
== Etape 7 : Faire passer le signal IR via CPL == | == Etape 7 : Faire passer le signal IR via CPL == | ||
Et quand j'en serais la ca sera fini !! :-) | Et quand j'en serais la ca sera fini !! :-) |
Revision as of 15:33, 18 August 2013
IR remote via PC | |
---|---|
Auteur | Helorem |
Date de proposition | 18/08/2013 |
Tags du projet | ir |
Type de projet
Projet personnel de Helorem |
L'objectif : Enregistrer un signal IR provenant d'une télécommande pour pouvoir le rejouer par la suite.
|
Contents
- 1 Présentation
- 2 Avancement
- 2.1 Etape 1 : communication USB -> PC
- 2.2 Etape 2 : Transmettre un signal IR
- 2.3 Etape 3 : Enregistrer un signal IR
- 2.4 Etape 4 : Envoyer un signal IR
- 2.5 Etape 5 : Faire passer de la donnée via courant porteur
- 2.6 Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL
- 2.7 Etape 7 : Faire passer le signal IR via CPL
Présentation
- Objectif : Enregistrer un signal IR provenant d'une télécommande pour pouvoir le rejouer par la suite.
- Pourquoi : De mon PC, je veux pouvoir allumer la TV, le lecteur DVD, ect...
L'idée de base est de faire un Man-in-the-middle infrarouge.
Le module se branche en USB, et a deux modes :
- Enregistrement d'un signal IR
- Envoi d'un signal IR
Avancement
- Etape 1 : communication USB -> PC
- Etape 2 : Transmettre un signal IR
- Etape 3 : Enregistrer un signal IR
- Etape 4 : Envoyer un signal IR
- Etape 5 : Interrupteur via courant porteur
- Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL
- Etape 7 : Faire passer le signal IR via CPL
Etape 1 : communication USB -> PC
Ce premier module permet d'interagir avec le circuit depuis le PC via USB. Pour ce faire, j'utilise un PIC16f1455, qui est le plus petit pic avec gestion de l'USB. J'utilise l'USB comme source electrique, normalement 5V/200mA me suffiront largement. La classe du peripherique est HID, car ainsi pas besoin de drivers. C'est possible car je n'ai pas besoin d'un gros debit, et comme ca la gestion des données brutes se fait en userspace. Coté logiciel, j'ai fait un petit programme en python pour gerer mon protocol USB perso.
Etape 2 : Transmettre un signal IR
Je connecte un recepteur IR directement a une led IR. La LED a une longueur d'onde de 940nm, et le recepteur une frequence de 38kHz. D'après mes recherches sur la toile, cela devrait couvrir la majorité des télécommandes. Pour tester, j'ai un recepteur IR avec la telecommande utilisé pour controller le pc.
- Problème : Bin ca ne marche pas :-(
Etape 3 : Enregistrer un signal IR
J'etais parti sur les chapeaux de roue, donc la partie logiciel est deja bien avancée. Je peux deja enregistrer les etats d'une pin dans un buffer avec une compression et quand mon buffer est plein, l'envoyer vers le PC. Coté PC, le script python decode le buffer et l'affiche dans une fenetre graphique genre oscilloscope en permettant de zoomer, etc... Au final, le script devrait pouvoir deduire le signal unitaire et l'enregistrer pour un usage ulterieur
Etape 4 : Envoyer un signal IR
Là aussi une bonen partie du logiciel est faite. Le controleur peut recevoir un buffer compressé et le rejouer. Coté PC, rien n'est encore fait (j'envoie le buffer que j'ai recu sans modifications).
Etape 5 : Faire passer de la donnée via courant porteur
Ma TV est eloignée de mon PC, donc pour communiquer avec le module qui comporte la LED, je veux passer par courant porteur. il faut dabord que je puisse faire un interrupteur via courant porteur, qui est la base materiel avant de mettre en place un protocol de communication.
Etape 6 : Mise ne place d'un protocole de communication entre les modules via CPL
J'ai deja une idée du protocole de reconnaissance des modules
Etape 7 : Faire passer le signal IR via CPL
Et quand j'en serais la ca sera fini !! :-)