Utilisation d’un Module CC1101

Bonjour à tout le monde, je viens vers vous car je viens d’acquérir un émetteur-récepteur cc1101 avec comme référence E07-M1101D. Après plusieurs tentatives de câblage sur un arduino uno/mega/nano. Je n’arrives toujours pas à réceptionner le moindre code d’un émetteur en 433mhz. J’utilise les exemples fournies dans la librairie SmartRC-CC1101. J’aimerais pouvoir à la fin faire déclencher un relais si je reçois le code que j’ai enregistré dans mon programme, à l’aide du récepteur CC1101. Mais jusqu’à présent, impossible de lire un code ou même d’initialiser le programme car à chaque lancement du moindre exemples malgré un câblage vérifier, il m’indique le message suivant « connexion error ». Seriez-vous me dire quels est la solution pour pouvoir tenter de lire un code avec ?

Bonne journée à tous :wink:

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Bonsoir @alan5656

En lisant les recommandations rappelées ci-dessus par UKHelibob tu verras qu'il faut ici fournir des informations détaillées sur le montage réalisé et et le principal code testé

Le message 'connection error' montre à l'évidence que l'intialisation du CC1101 présent sur ton module Ebyte E07-M1101 n'a pas abouti

Le circuit intégré CC1101 de Texas Instruments est présent sur des modules qui peuvent présenter quelques particularités de brochage, d'alimentation, de type d'antenne.....

As-tu consulté la doc du module E07-M1101-SMA d'Ebyte ?

La société Ebyte met à disposition un manuel et des exemples pour chacun des modules radio très divers qu'elle produit. (433 ASK , FSK, nRF24, Bluetooth, LoRa, WiFi...)

Comment alimentes-tu le module ? (EByte , fabricant des E07-M1101D indique qu'au dessus de 3.6V le module risque d'être endommagé, idem si le modules reçoit des signaux (MOSI, SCK, CSN.....) supérieurs à 3.6V.
Il s'agit de risques , avec un peu de chance en 5V l'exemplaire que tu as en mains peut (ou pas) survivre.

Hello @alan5656,
je suis exactement dans le même cas que toi...c'est une galère ce module, j'ai retourné Internet/github etc... pareil testé avec Raspberry/Mega/ESP8266 rien juste un "connection ok" et "Rx mode", aucune led de status sur le module donc on est à l'aveugle, je vais m'acheter un petit analyseur logique USB pour voir s'il y a de la vie qui sort des PINs :wink: le premier qui trouve bip l'autre :wink: merci et bon courage

Salut @djix030,
Idem de mon côté, j'arrive à obtenir les "Connection OK" et les "Rx mode". Rien de plus malheureusement. As-tu eu davantage de résultats depuis septembre grâce à l'analyseur logique ?

Bonjour djix030, Tornix, Jibogs
et tous ceux qui comme moi, galère avec le CC1101.

Je voudrais utiliser le module E07-M1101D en récepteur avec ma télécommande.

Si vous voulez vous servir de la librairie RCSwitch, il faudrait tester si son protocole est compatible avec les protocoles enregistrés dans fichier RCSwitch.ccp avant d'essayer le module E07-M1101D et la bibliothèque cc1101.h ;

Il faut:
-arduino UNO ou ESP32
-récepteur RXB6 ou autre, brancher la sortie data sur D2
Utiliser le programme ReceiveDemo_Advanced.ino ( et output.ino )
Le monitor série devrait afficher les codes de votre télécommande

Pour moi, ça ne fonctionne pas;

Comment ajouter un nouveau protocole ?

raw data reçu
700,608,692,616,692,1924,692,1920,692,612,696,1924,700,608,692,616,,,,,,,,,,,,
mon protocole :
700,608 : 1 hight et 1 low = 1
692,1924: 1 hight et 3 low = 0
signal décodé: 11001011,,,,,,

Ma télécommande envoie 48 bits de données(non décodées), il faut donc modifier le fichier RCSwitch.ccp.

Elle a 2 bits de "synchronisation" ( identification), la librairie RCSwitch ne serait pas compatible:
Vu dans GitHub:
You will not be able to use rcswitch to receive this remote, because it uses 2 sync bits. Also, for sending commands you will need to send a pre-programmed sequence of timings.
You could make a custom program just to send your sequence without using the library RCSwitch

Je dois donc oublier la librairie RCSwitch. J'ai déjà un croquis qui décode mes 48 bits de données ( ESP32 et RXB6 );
Je vais essayer le module E07-M1101D en récepteur avec les bibliothèques cc1101.h ou ELECHOUSE_CC1101.h.

Merci pour votre retour.
A suivre ......
A++

Bonjour à tous,

J'ai des résultats satisfaisants sur une application de pilotage de volets Somfy RTS en 433,42MHz par un ESP32 et notre fameux module E07-M1101D.

J'ai utilisé une ROM toute faite (et très bien faite!) prête à flasher.
Il existe dans la page web diffusée par l'ESP un scan de fréquence pour trouver la porteuse de la télécommande. Je ne sais pas si cela fonctionnera sur un signal qui n'est pas au format Somfy RTS.

Dans tous les cas, il s'agit d'un projet Arduino dont le code est en ligne.
Le projet semble utiliser la librairie "ELECHOUSE_CC1101_SRC_DRV.h" et j'ai trouvé ces paramètres dans le code :

    uint8_t type = 56;                // 56 or 80 bit protocol.
    radio_proto proto = radio_proto::RTS;
    uint8_t SCKPin = 18;
    uint8_t TXPin = 13;
    uint8_t RXPin = 12;
    uint8_t MOSIPin = 23;
    uint8_t MISOPin = 19;
    uint8_t CSNPin = 5;
    bool radioInit = false;
    float frequency = 433.42;         // Basic frequency
    float deviation = 47.60;          // Set the Frequency deviation in kHz. Value from 1.58 to 380.85. Default is 47.60 kHz.
    float rxBandwidth = 99.97;        // Receive bandwidth in kHz.  Value from 58.03 to 812.50.  Default is 99.97kHz.
    int8_t txPower = 10;              // Transmission power {-30, -20, -15, -10, -6, 0, 5, 7, 10, 11, 12}.  Default is 12.
/*    
    bool internalCCMode = false;      // Use internal transmission mode FIFO buffers.
    byte modulationMode = 2;          // Modulation mode. 0 = 2-FSK, 1 = GFSK, 2 = ASK/OOK, 3 = 4-FSK, 4 = MSK.
    uint8_t channel = 0;              // The channel number from 0 to 255
    float channelSpacing = 199.95;    // Channel spacing in multiplied by the channel number and added to the base frequency in kHz. 25.39 to 405.45.  Default 199.95
    float dataRate = 99.97;           // The data rate in kBaud.  0.02 to 1621.83 Default is 99.97.
    uint8_t syncMode = 0;             // 0=No preamble/sync, 

Peut-être cela peut-il vous mettre sur la voie...?

Bonjour à tous,
tout d'abord merci pour votre investissement envers ce topic.
Je possède aussi un E07-M1101D-SMA et tout comme vous je ne parviens pas à le faire fonctionner malgré les bons branchements ( datasheet E07-M1101D-SMA_Usermanual_EN_v1.30.pdf )
La pin 1 sur GND
La pin 2 sur 3.3 V
La pin 3 sur 2
La pin 4 sur 10
et l'utilisation du code suivant : RadioLib/examples/CC1101/CC1101_Receive_Interrupt/CC1101_Receive_Interrupt.ino at master · jgromes/RadioLib · GitHub.
Le code me renvoie systématiquement failled code -2.
J'utilise un ardiuno uno et mega.
Merci pour vos réponses.

Bonsoir @djinope

Une liaison directe entre le module et une carte Uno ou Mega risque d'endommager le CC1101 du module , les entrées (MOSI, SCK.....) du CC1101 ne sont pas conçues pour supporter des niveaux logiques de 5V

le schéma proposé dans la doc suppose l'utilisation d'un microcontrolleur alimenté en 3,3V (c'est le cas de l'ESP32 utilisé par @tornix ou d'une carte Pro Mini 8MHz 3V3 )

Source : https://forum.arduino.cc/uploads/short-url/v67US4wLsw4ZdoJGIdlsMH28OE1.pdf

Merci pour votre réponse,
cela signifie que je dois acquérir une carte esp32 ? pour pouvoir faire fonctionner ce module ou une autre méthode permettrait de garder la carte uno ou mega ?

ESP32 n'est qu'une façon de faire.....

UNO ou Mega : Dans l'idéal il faudrait intercaler une adaptation de niveaux de tensions entre la carte Arduino sous 5V et le module sous 3,3V , du moins sur tous les signaux allant de la carte Arduino VERS le module (CSN, SCK et MOSI)

Sinon la doc suggère d'insérer une résistance (valeur entre 1k et 5,1k) entre carte sous 5V et module pour limiter le courant injecté dans CSN, SCK et MOSI

If the communication line uses a 5V level, a 1k-5.1k resistor must be connected in series (not recommended, there is still a risk of damage)

(espérons que tu n'as pas endommagé ton CC1101 en lui envoyant des signaux de niveau haut 5V)

Très bien... j'ai donc tenté la solution des résistances avec des 1kOhm mais le résultat est le même :confused: .
J'éspère en effet ne pas avoir endommagé mon module car c'est le deuxième que je commande... pensant a un problème matériel la première fois.

Oui al1fch, il faut adapter les niveaux logiques et pourtant pratiquement tous les exemples de branchement Arduino et CC1101 n'ajoute pas de résistances sauf 1 seul avec 6 résistances :

Le mieux serait d'utiliser convertisseur de niveaux bidirectionnel 5V/3.3V 3.3V/5V 4 canaux ( 8€ ) ?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.