Skip to content

Instantly share code, notes, and snippets.

@maditnerd
Created April 30, 2013 14:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maditnerd/5489108 to your computer and use it in GitHub Desktop.
Save maditnerd/5489108 to your computer and use it in GitHub Desktop.
Récupérateur de codes 433.92Mhz Auteur: Sarrailh Rémi (maditnerd) License : Gplv3 Description: Ce code permet de récupérer le code renvoyé par une télécommande en 433.92Mhz puis de l'enregistrer dans un fichier texte Ce code ne marchera pas si le code est protégé contre le "Replay" c.a.d le plus souvent, les télécommandes de garage/portail et d…
/*
Récupérateur de codes 433.92Mhz
Auteur: Sarrailh Rémi (maditnerd)
License : Gplv3
Description:
Ce code permet de récupérer le code renvoyé par une télécommande en 433.92Mhz
puis de l'enregistrer dans un fichier texte
Ce code ne marchera pas si le code est protégé contre le "Replay"
c.a.d le plus souvent, les télécommandes de garage/portail
et de voiture (Heuresement!)
Arduino:
Ce code nécessite de programmer l'Arduino avec ce code (à mettre)
et d'y brancher un récepteur 433.92Mhz sur la pin (broche) 2
*/
import processing.serial.*; //Bibliothèque de communication en série
PFont police; //Police d'écriture
Serial Serial_arduino; // Connexion au port série
String readString = ""; // Texte récupéré sur le port Série
int nbcode = 0;
String code_actuel = "";
String[] liste_code = new String[100];
void setup() {
//On connecte au démarrage l'arduino avec l'ordinateur (On part du principe que l'arduino sera sur le dernière port série connecté)
Serial_arduino = new Serial(this, Serial.list()[Serial.list().length-1], 9600);
size(420, 200);
//Création de la police d'écriture
police = createFont("Arial", 19, true);
textFont(police);
//Aligne le texte au centre
textAlign(CENTER);
//Création de l'interface
//Titre
fill(0);
text("Récupération des codes des télécommandes", width/2, 20);
line(10, 30, 400, 30);
//Boite de texte de l'id
fill(255);
rect(height/2, 40, 220, 40);
fill(255, 0, 0);
text("ID:", width/2, 65); //Voit ce qui a été récupéré
//Texte explication
fill(0);
text("Appuyer sur ENTREE pour enregistrer ce code", width/2, 110);
//Boite du nombre de code enregistrées
fill(255);
rect(height/2+90, 120, 40, 40);
fill(255, 0, 0);
text("0", width/2, 145);
}
void draw() {
//On lit sur le port série de l'arduino
while (Serial_arduino.available () > 0) {
lire_serie();
}
//Si le code est fini d'être envoyer alors on l'affiche
if (readString.length() > 0) {
//Efface le texte du code sur l'écran
fill(255);
rect(height/2, 40, 220, 40);
code_actuel = readString;
//Affiche le code récupéré
fill(255, 0, 0);
text("ID:" + readString, width/2, 65); //Voit ce qui a été récupéré
//Efface le code en mémoire
readString = "";
//Son par défaut de l'OS
java.awt.Toolkit.getDefaultToolkit().beep();
}
}
void keyReleased() {
if (keyCode == 10)
{
if (code_actuel != "")
{
//Enregistrement des codes dans un tableau
liste_code[nbcode] = code_actuel;
nbcode++;
//Boite du nombre de code enregistrées
fill(255);
rect(height/2+90, 120, 40, 40);
fill(255, 0, 0);
text(nbcode, width/2, 145);
java.awt.Toolkit.getDefaultToolkit().beep();
//Effacement de la Boite de texte de l'id
fill(255);
rect(height/2, 40, 220, 40);
fill(255, 0, 0);
text("ID:", width/2, 65); //Voit ce qui a été récupéré
code_actuel = "";
}
}
if(key == 's')
{
String[] sauvegarde_code = new String[nbcode];
for(int i = 0; i < nbcode; i++)
{
sauvegarde_code[i] = liste_code[i];
}
saveStrings("codes.txt", sauvegarde_code);
}
}
//Cette fonction lit les données envoyées par l'Arduino
void lire_serie() {
delay(10);
// Récupère les données
if (Serial_arduino.available() > 0) {
char c = Serial_arduino.readChar();
readString += c;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment