Emetteur et prise sans fil

Informations et questions sur les composants tiers de la boutique (émetteur/récepteur RF, capteurs...)

Emetteur et prise sans fil

Message non lude Trigger » Sam 7 Jan 2012 14:22

Bonjour bonjour,

Je bidouille mon Arduino depuis quelques mois maintenant grâce à vous et je ne me lasse pas :)

Je suis sur un petit projet de domotique et je me demande si il est possible de piloter des prises sans fil à l'aide d'un arduino et de vos Emetteur HF plutôt qu'avec une télécommande.

J'ai trouvé ce modèle ou celui et je voudrais savoir si il est possible de récupérer le code émis par la télécommande pour l'envoyer depuis l'arduino ...

Amicalement,
Trigger
Trigger
 
Messages: 12
Inscription: Jeu 3 Nov 2011 20:31

Re: Emetteur et prise sans fil

Message non lude Lionel » Sam 7 Jan 2012 14:49

Bonjour,

Content de vous avoir converti a la bidouille :)

Pour votre projet domotique, à mon avis, c'est très faisable, un tuto pour faire quelque chose dans ce goût a été posté sur instructables l'an passé !
http://www.instructables.com/id/USB-con ... tion-hack/

et il y a des infos ici aussi et par

et mieux encore une librairie par

tenez nous informés de vos avancées et n'hésitez pas à publier vos travaux en cours, ça servira a d'autres !
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Emetteur et prise sans fil

Message non lude Trigger » Sam 11 Fév 2012 17:42

Bonjour à tous =)

Je n'ai pas laissé de coté ce projet au contraire !!
Ayant fais l’acquisition d'une télécommande de ce type :

Telecommande Blyss

Cependant je ne sais pas du tout comment trouver la vitesse de transmission utilisée :s

Je voudrais en fait récupérer le code envoyé par les différents boutons, j'ai bien peur d'avoir fait un achat un peu impulsif :(

Si quelqu'un a une idée je suis preneur ...

Amicalement,
Trigger
Trigger
 
Messages: 12
Inscription: Jeu 3 Nov 2011 20:31

Re: Emetteur et prise sans fil

Message non lude phil » Sam 11 Fév 2012 20:54

j'avais fait un essai il y a quelque temps. Le plus simple que j'avais trouvé à l'époque c'etait d'utiliser le sketch repeterur de la lib (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1216065789). En faisant un serial.print du code répété, il devient facile de le régénérer avec le module RF.
Si j ai un peu de temps prochainement, je ferai un petit tuto
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Emetteur et prise sans fil

Message non lude SaW3r » Sam 11 Fév 2012 21:30

Bonsoir, je pense avoir la solution à votre problème.. Enfin du moins j'espères. Nan enfaite j'en suis pratiquement sur !

Alors tout d'abord il vous faut un récepteur 434MHz, celui-ci de chez Snootlab sera parfait et il est très peu coûteux :

http://shop.snootlab.com/composants/145-recepteur-rf-434-mhz.html

Vous le câblez à la carte Arduino comme ceci :

Image

Et vous envoyer ce code à la carte Arduino :
Code: Tout sélectionner
#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !

{
    Serial.begin(9600);    // On initialise "le serial monitor", j'ai laissé 9600 bauds ici car c'est la valeur par défaut mais vous pouvez la modifier. Attention à bien mettre la même valeur dans votre Serial Monitor et dans votre programme.
    vw_setup(2000);                 // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
    vw_set_rx_pin(11);             // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
    vw_rx_start();                    // On démarre le récepteur.
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
    {
    int i;
     // Un message est reçu.

    for (i = 0; i < buflen; i++)
    {
        Serial.print(buf[i]);  // On affiche le message lettre par lettre. Par exemple buf[4] sera égale à la 5ème lettre du mot envoyé (Snootlab donc "t") car on compte le zéro ici.
        }
    Serial.println(""); // On saute une ligne afin d'avoir plus de clarté.
     }
}


Maintenant le récepteur est bien câblé et que le programme est dans la carte Arduino, lancez le Serial Monitor et appuyez à plusieurs reprises sur les touches de la télécommande. Normalement les valeurs envoyées devraient s'afficher sinon la seule chose à changez si vous ne recevez rien tel quel est la vitesse "vw_setup(2000);", vous pouvez essayer entre 1000 et 9000 avec un pas de 1000. Pour ma part j'ai fais l'acquisition récemment d'un couple d'émetteur - récepteur 434MHz et j'ai fais de grandes découvertes.. A commencez par l'ouverture à distance des voitures ou les portails automatiques, je ne savais pas que les infos étaient transmissent à cette fréquence.. Malheureusement ou heureusement je n'ai pas réussi à récupérer le code envoyé mais je penses qu'il est possible de le faire avec un simple récepteur. Et puis même si j'aurais réussi je me doute qu'a la réception le code est décrypté par un algorithme plus ou moins compliqué. Mais dans votre cas je ne pense pas que ce le soit pour de simple prises électriques. N'oubliez pas de télécharger et installer la librairie VirtualWire, sinon votre programme ne pourra pas être compilé.

N'hésitez pas à aller consulter ce tutoriel si vous avez des questions sinon je passe souvent sur le forum. Voila, bonne soirée !
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Emetteur et prise sans fil

Message non lude Trigger » Dim 12 Fév 2012 18:22

Bonjour à tous et surtout merci pour vos réponses :)

@SaW3r
Effectivement le couple récepteur/émetteur de Snootlab est vraiment super ( je l'utilise depuis un petit moment) cependant je n'ai pas réussi à intercepter le code de la télécommande avec le code receiver :S

J'ai testé le code avec des valeurs pour vw_setup(val) de 1000 à 10000 par pas de 1000 sans succès :(
Pensez vous qu'il est possible de faire une boucle for en faisant varier la valeur de vw_setup(val) dans le loop() et de laisser la télécommande pendant quelques minutes pour passer toute la plage avec changement toutes les 3 secondes environs ?

@phil
Merci beaucoup pour ton lien qui semble vraiment intéressant !!!
J'ai tenté sans succès non plus le code Retransmitter et show_received_code mais je me demande si je ne fais une boulette car avec ces codes je ne reçois même plus les infos de mon émetteur (alors que cela fonctionnait parfaitement avant)

Je suis preneur de votre tuto si vous trouvez un peu de temps :)

Encore merci à vous !!
Amcalement,
Trigger
Trigger
 
Messages: 12
Inscription: Jeu 3 Nov 2011 20:31

Re: Emetteur et prise sans fil

Message non lude SaW3r » Lun 13 Fév 2012 10:20

Bonjour, alors déjà je suis désolé que ça n'est pas fonctionné.. Mais effectivement on peux essayer avec un pas plus fin et une échelle plus large ! Malheureusement je ne sais pas si l'on peut définir vw_setup(val) dans le loop() et si l'on peut le modifier tel quel.. Mais il faut essayer ! La tout de suite je n'ai pas le temps de voir pour le programme mais cet aprem peut-être ou ce soir même si ça ne doit pas être très compliqué, une boucle for avec une incrémentation du pas désirer serait la bonne solution. Et mettre un petit delay de 200ms entre chaque valeurs afin que chaque valeurs soit bien envoyée ! Donc imaginons que nous testions de 0 à 20000 avec un pas de 1 et un delay de 200ms entre chaque valeurs cela mettrait... 4000 secondes donc 67 minutes => SOLUTION RECALÉE ! :)

Essaye avec un pas de 100 et cela ne mettrait plus que 40 secondes, si tu n'obtient toujours rien, met un pas de 10 puis 1... Si toujours rien augmente le delay entre chaque valeurs et enfin si toujours rien et bien.. Je ne sais pas.. Tien nous au courant, bon courage :roll:
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Emetteur et prise sans fil

Message non lude SaW3r » Ven 17 Fév 2012 13:28

Bonjour, alors voila tu peux essayer ce code :

Code: Tout sélectionner
#include <VirtualWire.h>

int n=0;
int n2 = 100; // le pas à modifier. 100 puis 10 puis 1.
   
void setup()
{
    Serial.begin(9600);
}

void loop()
{
    vw_setup(n);
    vw_set_rx_pin(11);
    vw_rx_start();
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen))
    {
    int i;
    Serial.print(n);
    Serial.print("  :  ");
    for (i = 0; i < buflen; i++)
    {
        Serial.print(buf[i]);
        }
    Serial.println("");
     }
     n=n+n2;
     delay(200);
}

Je n'ai pas essayé le code car je n'ai pas de récepteur sous la main mais normalement ça devrait t'afficher quelque chose de ce genre dans le Serial Monitor : "valeur de n : information reçue". Donc ensuite tu laisse tourner le programme en appuyant sur un bouton de ta télécommande ou en posant un livre dessus ou quelque chose qui bloque une touche et le tour est joué ^^

Le seul problème que tu pourrais avoir vient du Serial Monitor qui a tendance à planter lorsqu'il y a trop d'informations ou que celles-ci arrivent trop rapidement.. Du moins avec celui du programme Arduino ! C'est pour cela que moi désormais j'utilise Microsoft Visual Studio avec le plugin "Arduino for Visual Studio", je n'ai aucun plantage et il est aussi beaucoup plus rapide à envoyer le programme !
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Emetteur et prise sans fil

Message non lude Trigger » Sam 18 Fév 2012 16:33

Bonjour tout le monde :=)

Je viens avec de bonnes et mauvaises nouvelles :S

La bonne et que je reçois bien une trame depuis l’émetteur de snootlab avec le sketch "ReceiveDemo" :

Code: Tout sélectionner
Decimal: 5393 (24Bit) Binary: 000000000001010100010001 Tri-State: 00000FFF0F0F PulseLength: 351 microseconds


Cependant je ne reçois rien du tout de la télécommande, bref je tourne en rond et commence à perdre espoir ...

Si quelqu'un a une idée (même la plus farfelue du monde ^^) je suis preneur ;)

Amicalement,
Trigger
Trigger
 
Messages: 12
Inscription: Jeu 3 Nov 2011 20:31

Re: Emetteur et prise sans fil

Message non lude SaW3r » Sam 18 Fév 2012 20:02

Bonsoir, je penses recevoir mon couple d'émetteur - récepteur d'ici mardi et je vais faire quelques essais afin de voir tout ça ! Tu as essayé avec mon code ou pas ?
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Emetteur et prise sans fil

Message non lude Trigger » Dim 19 Fév 2012 11:07

Salut salut :=)

Oui j'ai testé ton code mais la télécommande se coup après trois secondes, il faut relâcher et ré appuyer ... Donc solution mise de coté pour le moment :s

Je tente de récupérer les infos par prise jack et le logiciel Audacity, voila ce que ça donne...
Tiens nous au courant de la réception ;)
Trigger
 
Messages: 12
Inscription: Jeu 3 Nov 2011 20:31

Re: Emetteur et prise sans fil

Message non lude SaW3r » Lun 20 Fév 2012 12:16

Bonjour, comment récupère tu les informations via le logiciel Audacity ? Via un micro ?
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Emetteur et prise sans fil

Message non lude waldeckio » Lun 20 Fév 2012 13:27

Bonjour à tous,

Je suis aussi très intéressé par ce sujet.

J'utilise aussi le recepteur 433Mhz acheté chez snootlab que je remercie au passage pour leur réactiviter et leur amabilité.
j'ai fais le test hier avec ma carte son (96Khz) je suis passé par une entrée ligne, cela fonctionne pas mal.
il y a chez moi beaucoup de "bruit" en plus du signal des télécommande et du capteur de T°/hygro (j'ai une station météo la crosse qui emet env. toutes les 30 secondes).


Cordialement.


Waldeckio
waldeckio
 
Messages: 1
Inscription: Lun 20 Fév 2012 13:14

Re: Emetteur et prise sans fil

Message non lude Trigger » Lun 20 Fév 2012 13:45

Bonjour tout le monde :=)

Je vous invite à venir faire un petit tour sur le topicque nous avons ouvert spécialement autour de la communication HF.

A trés vite !
Amicalement,
Trigger
Trigger
 
Messages: 12
Inscription: Jeu 3 Nov 2011 20:31

Re: Emetteur et prise sans fil

Message non lude phil » Jeu 1 Mar 2012 00:09

Bonjour,

voici un bout de code pour "lire" les codes des télécommande RF.

Code: Tout sélectionner
#include <RemoteReceiver.h>
#include <RemoteSwitch.h>

/*
* Demo for RF remote switch receiver.
* For details, see RemoteReceiver.h!
*
* This sketch demonstrates how to use the static version of
* RemoteReceiver::sendTelegram, which can be used in low-memory
* situations.
*
* Connect the transmitter to digital pin 11, and the receiver to digital pin 2.
*
* When run, this sketch waits for a valid code from the receiver, decodes it,
* and retransmits it after 5 seconds.
*/

void setup() {
  //See example Show_received_code for info on this
  RemoteReceiver::init(0, 3, showCode);
  Serial.begin(9600);
  Serial.println("Gogogo!!!");
}

void loop() {
}

void showCode(unsigned long receivedCode, unsigned int period) { 
  //Disable the receiver; otherwise it might pick up the retransmit as well.
  RemoteReceiver::disable();
 
  //Need interrupts for delay
  interrupts();
 
  unsigned long code;
 
  //Copy the received code.
  code = receivedCode & 0xFFFFF; //truncate to 20 bits for show; receivedCode is never more than 20 bits..
 
  //Add the period duration to the code. Range: [0..511] (9 bit)
  code |= (unsigned long)period << 23;
 
  //Add the number of repeats to the code. Range: [0..7] (3 bit). The actual number of repeats will be 2^(repeats),
  //in this case 8
  code |= 3L << 20;
 
  //Wait 5 seconds before sending.
  delay(500);

  //Retransmit the signal on pin 11. Note: no object was created!
 
  Serial.print("code:");
  Serial.println(code,BIN);
 
  Serial.print("code:");
  Serial.println(code,DEC);
 
  RemoteSwitch::sendTelegram(code,11);
 
  RemoteReceiver::enable();
}


Avec ça dans le serial monitor, on a ce résultat

code:1110011001100000110011010011111
code:1932551839
code:1110011001100000110011010000100
code:1932551812

Dans ce cas, j'ai fait on off sur un circuit.
Ensuite il suffit de coller les deux code dans ce sketch pour faire un "blink"

Code: Tout sélectionner
#include <RemoteSwitch.h>

/*
* Demo for RF remote switch transmitter.
 * For details, see RemoteSwitch.h!
 *
 * This sketch switches some devices on and off in a loop.
 */

//Intantiate a new ActionSwitch remote, use pin 11
ActionSwitch actionSwitch(11);

//Intantiate a new KaKuSwitch remote, also use pin 11 (same transmitter!)
KaKuSwitch kaKuSwitch(11);

//Intantiate a new Blokker remote, also use pin 11 (same transmitter!)
BlokkerSwitch blokkerSwitch(11);
unsigned long code;


void setup() {
  Serial.begin(115200);

}

void loop() { 


  code = 1932551839;
  RemoteSwitch::sendTelegram(code,11);
  delay(800);

  code = 1924163204;
  RemoteSwitch::sendTelegram(code,11);
  delay(800);

}



Il faut utiliser cette lib : http://randysimons.com/overige/browsable/433MHz/ArduinoRemoteSwitchLibrary.7z
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Emetteur et prise sans fil

Message non lude Lionel » Jeu 1 Mar 2012 00:38

Validé, je l'ai vu fonctionner :) !
Merci Phil
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Emetteur et prise sans fil

Message non lude caco74 » Jeu 1 Mar 2012 01:47

en gros si j ai bien compris tu réémets ce que tu recoit .
caco74
 
Messages: 59
Inscription: Sam 7 Mai 2011 19:09

Re: Emetteur et prise sans fil

Message non lude phil » Jeu 1 Mar 2012 10:28

En fait le premier sketch est à la base le sketch retransmitter de la lib avec des serial.print au milieu pour avoir le code retransmit...
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Re: Emetteur et prise sans fil

Message non lude SaW3r » Jeu 1 Mar 2012 11:27

Bonjour, merci beaucoup phil pour toutes ces infos mais malheureusement je n'arrive pas à récupérer le code d'une télécommande 433,92MHz. Je ne comprends pas pourtant j'ai bien câblé le récepteur Snootlab comme il fallait, c'est à dire une des deux broches DATA sur la broche 2 numérique puis la GND et le +5V.

J'essai de récupérer le code de cette télécommande la :
http://www.confort-electrique.fr/telecommande-came-top-432na-43392mhz-canaux-p-725.html

Et j'utilise ce sketch la :
Code: Tout sélectionner
#include <RemoteReceiver.h>

/*
* Demo for RF remote switch receiver.
* For details, see RemoteReceiver.h!
*
* This sketch shows the received signals on the serial port.
* Connect the receiver to digital pin 2.
*/


void setup() {
  Serial.begin(115200);
 
  //Initialize receiver on interrupt 0 (= digital pin 2), calls the callback "showCode"
  //after 3 identical codes have been received in a row. (thus, keep the button pressed
  //for a moment)
  //
  //See the interrupt-parameter of attachInterrupt for possible values (and pins)
  //to connect the receiver.
  RemoteReceiver::init(0, 3, showCode);
}

void loop() {
  RemoteReceiver::init(0, 3, showCode);
}

//Callback function is called only when a valid code is received.
void showCode(unsigned long receivedCode, unsigned int period) {
  //Note: interrupts are disabled. You can re-enable them if needed.
 
  //Print the received code.
  Serial.print("Code: ");
  Serial.print(receivedCode);
  Serial.print(", period duration: ");
  Serial.print(period);
  Serial.println("us.");
}

J'ai bien mis mon Serial Monitor à 115200 bauds, ça marche de votre côté pour vous ? Ça vient peut-être de ma carte ou mon récepteur..
SaW3r
 
Messages: 58
Inscription: Sam 24 Déc 2011 12:13
Localisation: Paris

Re: Emetteur et prise sans fil

Message non lude phil » Jeu 1 Mar 2012 13:13

Bonjour,

perso, je n'ai cablé qu'un seul data est ça marche.
Je te conseille d'essayer le sketch retransmitter de la lib sans le modifier (avec data récepteur sur la pin 2 et data émetteur sur la pin 11)
Le principe de ce sketch de demo est "d’écouter" les codes, d'attendre 5 secondes et de le retransmettre.
Une fois tout en place, il te suffira de faire un on/off rapide (moins de 5 seconde) et voir ce qui se passe

Au fait , la lib utilisée pour lire les codes est plutôt adaptée aux prises télécommandées. J'ai fait un essai hier soir avec des télécommandes de garage, cela n'a pas marché...
J'essayerai de bricoler un truc plus "analyse low level" quand j’aurai un peu de temps. Je vais sans doute partir à base d'un truc de ce genre http://code.google.com/p/arduinoscope/
all your shields are belong to us...
Avatar de l’utilisateur
phil
 
Messages: 192
Inscription: Mer 7 Sep 2011 11:19

Suivante

Retourner vers Composants tiers

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité