Emetteur RF 433mhz -> Rfxcom

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

Emetteur RF 433mhz -> Rfxcom

Message non lude stalex » Sam 2 Mai 2015 22:42

Bonjour à tous,

dans le cadre d'un projet domotique, je dispose d'un module RFXCOM 433mhz relié à un Raspberry.
Actuellement tous mes modules domotiques communiquent en 433 mhz jusqu'au rfxcom (prise commandée, détecteur de fumée, etc).

Je me pose cette question depuis un bon moment:

Avec les émetteurs chinois à 1€ (émetteurs 433.92 mhz), est-il possible via un arduino (ou un Attiny) d'envoyer une trame que saurait lire le RFXCOM ? Il y a donc un protocole particulier à respecter pour parler au Rfxcom, est-ce possible de le connaitre ?

Merci pour vos éclaircissements.
Alexandre.
stalex
 
Messages: 4
Inscription: Sam 2 Mai 2015 22:36

Re: Emetteur RF 433mhz -> Rfxcom

Message non lude Laetitia » Mer 6 Mai 2015 10:06

Bonjour,

stalex a écrit:Avec les émetteurs chinois à 1€ (émetteurs 433.92 mhz), est-il possible via un arduino (ou un Attiny) d'envoyer une trame que saurait lire le RFXCOM ?

Il est tout à fait possible d'émettre de la RF 433 avec un Arduino ou un ATtiny : voir tutoriels ici et ici. La librairie RCSwitch est couramment utilisée.

stalex a écrit:Il y a donc un protocole particulier à respecter pour parler au Rfxcom, est-ce possible de le connaitre ?

Sur la documentation des modules RFXCOM :
- p.4 on trouve la liste des protocoles supportés
- p.11 l'influence des protocoles utilisés sur la sensibilité du module, il est conseillé de désactiver ceux dont vous ne vous servez pas.

Il vous faudra donc choisir un protocole compatible avec ceux de vos appareils, puis émettre les codes correspondants à l'action souhaitée !
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: Emetteur RF 433mhz -> Rfxcom

Message non lude stalex » Jeu 7 Mai 2015 14:10

Bonjour et merci pour la réponse.

C'est certainement du à une mauvaise connaissance du sujet de ma part, mais je pensais qu'il n'existait pas de librairie capable d'emettre un signal décodable en Rfxcom ?
Or apparemment n'importe quelle librairie capable d'emettre du 433 mhz suffirait, et ensuite c'est à moi d'emettre les bons codes, coté logiciel.
Ce que je ne comprends pas, c'est qu'il suffit d'envoyer par exemple une certaine trame pour correspondre à un protocole donné ?
J'ai trouvé ce lien:
http://www.thice.nl/convert-cheap-433mh ... convertor/

Et donc dans l'exemple, c'est la lib NewRemoteSwitch qui est utilisée pour envoyer de la data:
https://github.com/hjgode/homewatch/tre ... moteSwitch

Et l'exemple fait simplement:
NewRemoteTransmitter transmitter(CoCoCode, 3, 252);
transmitter.sendGroup(1);

avec CoCoCode = 10420001 par exemple.
Et bien rien que ça, ça signifie que le protocole (donc la trame 10420001 correspondant à un certain protocole) sera compris par le boitier RFXCOM ?

Par ailleurs, tu me parles de la lib RCSwitch, et j'ai également vu dans tes exemples la lib Manchester.
Pourquoi utiliser une lib plutot qu'une autre ? Elles vont toutes emettre de la meme maniere ?
Et est-ce que ces libs sont toutes compatibles avec le AtTiny ? C'est le meme code entre l'arduino et le AtTiny ?

Merci pour votre aide, je pense que bcp de mes questions sont des questions de manque de culture sur le sujet mais je ne trouve pas les réponses sur google, notamment pour savoir si une lib compatible Arduino le sera forcément pour AtTiny.
stalex
 
Messages: 4
Inscription: Sam 2 Mai 2015 22:36

Re: Emetteur RF 433mhz -> Rfxcom

Message non lude Laetitia » Lun 11 Mai 2015 11:26

Bonjour,

stalex a écrit:C'est certainement du à une mauvaise connaissance du sujet de ma part, mais je pensais qu'il n'existait pas de librairie capable d'émettre un signal décodable en Rfxcom ?
Or apparemment n'importe quelle librairie capable d'émettre du 433 mhz suffirait, et ensuite c'est à moi d'émettre les bons codes, coté logiciel.
Ce que je ne comprends pas, c'est qu'il suffit d'envoyer par exemple une certaine trame pour correspondre à un protocole donné ?

Il n'existe pas de protocole spécifique RFXCOM. Le module que vous avez est capable de décoder les protocoles listés dans sa documentation. Vos prises commandées, détecteurs de fumée, etc, ne communiquent pas nécessairement avec le même protocole.
Il vous faut choisir un protocole dans la liste, en faisant attention aux éventuelles perturbations (voir post précédent) et envoyer les trames qui vous intéressent. Lorsque vous émettez avec une librairie, avec une commande de la forme rf.send(trame), la trame est émise en utilisant le protocole choisi.

stalex a écrit:J'ai trouvé ce lien:
http://www.thice.nl/convert-cheap-433mh ... convertor/

Et donc dans l'exemple, c'est la lib NewRemoteSwitch qui est utilisée pour envoyer de la data:
https://github.com/hjgode/homewatch/tre ... moteSwitch

Le code n'a rien à voir avec la manière dont le boîtier RFXCOM se comporte. Dans le tutoriel que vous avez trouvé l'objectif est de "traduire" des codes RF433 en protocole CoCo ou KAKU car le boîtier récepteur n'est pas compatible avec les équipements "tels quels". Cette étape n'est nécessaire que si vous souhaitez que le boîtier RFXCOM reçoive des informations en provenance d'un émetteur qui n'est pas compatible.

stalex a écrit:Et bien rien que ça, ça signifie que le protocole (donc la trame 10420001 correspondant à un certain protocole) sera compris par le boitier RFXCOM ?

Le code envoyé par le sketch d'exemple sera bien compris par le boîtier RFXCOM, parce que le protocole utilisé est compatible.

stalex a écrit:Par ailleurs, tu me parles de la lib RCSwitch, et j'ai également vu dans tes exemples la lib Manchester.
Pourquoi utiliser une lib plutôt qu'une autre ? Elles vont toutes émettre de la même manière ?
Et est-ce que ces libs sont toutes compatibles avec le AtTiny ? C'est le même code entre l'arduino et le AtTiny ?

Certaines librairies, très complètes, sont gourmandes en ressources, ce qui peut être gênant si le reste de votre programme est "lourd" et que vous avez besoin de mémoire.

Le choix de la librairie dépend de l'usage que vous voulez en faire. Je vous ai conseillé la RCSwitch parce qu'elle est bien documentée, compatible avec les ATtinyx4/x5 et fournie en exemples, mais rien de vous empêche de choisir une autre librairie, utilisant un protocole différent, du moment qu'elle peut émettre quelque chose de compréhensible pour le boîtier RFXCOM.

Quant à la programmation de l'ATtiny, si vous la faites via l'IDE Arduino, le code sera identique à celui pour un Arduino Uno, mais pensez à choisir le bon microcontrôleur dans Outils > Type de carte.
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: Emetteur RF 433mhz -> Rfxcom

Message non lude stalex » Mar 19 Mai 2015 16:03

Merci pour la réponse ! Ca m'éclaire beaucoup !

J'ai simplement un doute qui persiste sur ma compréhension du mot "protocole".
Pour moi, un protocole était un formalisme d'échange entre deux entités. Par exemple, entre un client et un serveur, le client envoie A, le serveur répond B, le client renvoit AAA et le serveur peut effectuer une action en cohérence. C'est donc l'enchainement de ces actions qui constitue le protocole.
En RF (je n'y connais rien, je suis développeur), je n'arrive pas à saisir si le protocole est:
- défini intrinsèquement dans la trame. Exemple: c'est parce que j'envoie 10420001 via de la radio fréquence que je parle (couramment :D ) le protocole ARC, ou encore parce que j'envoie AA4568FR que je parle le protocole Lighting4, etc.
- défini par la librairie utilisée pour communiquer, par exemple RCSwitch où l'on peut faire un "setProtocol(ARC)" par exemple, et après tout ce qu'on émet sera émis sur une certaine modulation de fréquence (par l'émetteur chinois) correspondant au protocole ARC, et donc compris par le RFXCOM qui sait interprêter le protocole ARC.

Vous dites:
Le code envoyé par le sketch d'exemple sera bien compris par le boîtier RFXCOM, parce que le protocole utilisé est compatible.


Oui, mais dans le lien fourni, nulle part n'est défini quel protocole utiliser pour "simuler" l'envoie de trames dans le protocole COCO/KAKU. A moins que la librairie NewRemoteSwitch parle implicitement sur le protocole TATATITITOTO qui est bien sur compris par le boitier RFXCOM, mais ça ils n'en parlent pas !

Merci pour le conseil de RCSwitch, je vais donc étudier cette librairie si elle sait émettre dans un protocole compatible à ceux donnés dans le PDF de RFXCOM.
En tout cas c'est super sympa de m'éclairer la dessus car j'ai vraiment l'impression que très peu de personnes connaissent bien ce sujet, et on trouve peu de choses sur le net lorsqu'il faut parler au boitier RFXCOM.
stalex
 
Messages: 4
Inscription: Sam 2 Mai 2015 22:36


Retourner vers Composants tiers

Qui est en ligne

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