Go Down

Topic: Problème de communication unidirectionelle avec des transmetteurs RF Lora RFM9  (Read 491 times) previous topic - next topic

perretf

Bonjour

J'ai 2 radio transmetteur Adapfruit RFM9x Lora qui émettent à 915 Mhz.

Ils marchent très bien, mais juste dans un seul sens... Pas dans l'autres.

Je ne comprends pas d'où peut bien venir le bug!!!!

Pouvez vous me donner des pistes de testes que je pourrais faire pour vérifier ce qui ne va pas.

Merci.

Donc :

J'ai un Adapfruit RFM9x Lora  monté avec un Arduino Uno d'un côté.
et   un Adapfruit RFM9x Lora  monté avec un Adafruit Feather 32u4 datalogger (avec la carte SD intégré) de l'autre côté.


Si j'envoye un message à partir du Arduino Uno, le Adafruit Feather 32u4 datalogger le reçoit bien...

Si j'envoye un message à partir du Adafruit Feather 32u4 datalogger  le Arduino Uno ne reçoit rien!!!!


Est-ce l'émission qui ne marche pas? ou la réception???
Est-ce juste une question de branchement???
Est-ce une histoire de conflit avec la carte SD du Adafruit Feather 32u4 datalogger??
J'ai bien brancher les 2 cartes sur les même SCK, Miso, Moi et des CS différent...

voici le code que j'utilise pour envoyer une message :

void loop()
{
  char message[20] = "Bonjour";
  rf95.send((uint8_t *)message, strlen(message));
  rf95.waitPacketSent();
  Serial.println("Message envoyé...");
}



Et voici le code que j'utilise pour le recevoir :

void loop()
{
if (rf95.available())
  { 
    Serial.println("message disponible");
    uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);   
    if (rf95.recv(buf, &len))
    {
      Serial.print("message reçu : ");
      Serial.println((char*)buf);
    }
  }
}


Le code est simple et il marche très bien quand j'envoie le message  du adruino vers le Feather 32U4
Mais rien a faire dans l'autres direction??????????

Sans doute une erreur de débutant que je ne vois pas.

Merci encore pour votre aide.

a+

infobarquee

bonjour,
code entre balise code </> merci

ca devrait donner un truc de ce genre

Code: [Select]
uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
  uint8_t buflen = RH_RF95_MAX_MESSAGE_LEN;
  if (vw_wait_rx_max(200)) // Si un message est reçu dans les 200ms qui viennent
  {
    inputString = "";
 

    if (vw_get_message(buf, &buflen)) // On copie le message, qu'il soit corrompu ou non
    {
      int i;

      for (i = 0; i < buflen; i++)
      {
        Serial.println(buf[i]);
        char recu = (char)buf[i];
        inputString += recu;
        Serial.println(recu);

       
   
       
      }

      }

    Serial.println(inputString);
AUCUNE AIDE PAR MP

Go Up