Erreur de Communication entre un module radio Lora et un Arduino nano

Bonjour,

Je souhaite faire envoyer un message entre deux objets en utilisant le protocole sans fil Lora 868Mhz.

J'ai pour cela connecter un module Grove Lora radio 868Mhz à un seeeduino nano. J'ai raccorder l'alimentation du module Lora sur le Nano et le Rx et Tx en croisant bien Rx et Tx sur le Nano.

J'ai installé la bibliothèque RH_RF95.h téléchargé sur le GitHub de SeeedStudio puis téléversé l'exemple rf95-client. J'ai mis à jour les numéros de pin pour la communication.

Voici l'exemple :

 // rf95_client.pde
// -*- mode: C++ -*-
// Example sketch showing how to create a simple messageing client
// with the RH_RF95 class. RH_RF95 class does not provide for addressing or
// reliability, so you should only use RH_RF95 if you do not need the higher
// level messaging abilities.
// It is designed to work with the other example rf95_server
// Tested with Anarduino MiniWirelessLoRa

#include <RH_RF95.h>

#ifdef __AVR__
    #include <SoftwareSerial.h>
    SoftwareSerial SSerial(0, 1); // RX, TX
    #define COMSerial SSerial
    #define ShowSerial Serial

    RH_RF95<SoftwareSerial> rf95(COMSerial);
#endif

#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
    #define COMSerial Serial1
    #define ShowSerial SerialUSB

    RH_RF95<Uart> rf95(COMSerial);
#endif

#ifdef ARDUINO_ARCH_STM32F4
    #define COMSerial Serial
    #define ShowSerial SerialUSB

    RH_RF95<HardwareSerial> rf95(COMSerial);
#endif




void setup() {
    ShowSerial.begin(115200);
    ShowSerial.println("RF95 client test.");

    if (!rf95.init()) {
        ShowSerial.println("init failed");
        while (1);
    }

    // Defaults after init are 434.0MHz, 13dBm, Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on

    // The default transmitter power is 13dBm, using PA_BOOST.
    // If you are using RFM95/96/97/98 modules which uses the PA_BOOST transmitter pin, then
    // you can set transmitter powers from 5 to 23 dBm:
    //rf95.setTxPower(13, false);

    rf95.setFrequency(868.0);
}

void loop() {
    ShowSerial.println("Sending to rf95_server");
    // Send a message to rf95_server
    uint8_t data[] = "Hello World!";
    rf95.send(data, sizeof(data));

    rf95.waitPacketSent();

    // Now wait for a reply
    uint8_t buf[RH_RF95_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);

    if (rf95.waitAvailableTimeout(3000)) {
        // Should be a reply message for us now
        if (rf95.recv(buf, &len)) {
            ShowSerial.print("got reply: ");
            ShowSerial.println((char*)buf);
        } else {
            ShowSerial.println("recv failed");
        }
    } else {
        ShowSerial.println("No reply, is rf95_server running?");
    }

    delay(1000);
}

Dans le moniteur série j'ai le retour "RF95 client test." puis "init failed". J'ai essayé d'inverser Rx et Tx, mais ça ne marche pas.

Quelqu'un pourrait m'aider svp ?

Merci

Bonjour @clems46

  1. Dans un premier temps installes SoftSerial sur d'autres entrées/sorties numérique que 0 et 1 (RX et TX), qui sont plus ou moins accaparées par le circuit intégré CP2102 d'interface USB présent sur la face inférieure carte, (un conflit d'accès à Rx et TX est probable , entraînant une erreur de communication)

  2. Seeduino produit divers modules Groove LoRa , peux tu donner un lien vers celui que tu as en mains ?

  3. Est-tu certain que la bibliothèque RH-RF95 convient bien à ton module Groove ?
    l'exemple RF95_Client.pde (bibliothèque Radiohead RH-RF95) gère le module via le bus SPI, ce qui est logique vu la nature du module LoRa RFM95W produit par HopeRF
    (Seedstudio propose peut être une bibiothèque dédiée à ses modules LoRa à connection série)

Outre les bonnes questions de @al1fch

quand vous parlez d'alim, vous voulez bien dire aussi le GND ?

Bonjour,
Ah super ça marche ! J'ai mis les broches 11 et 12 et la communication fonctionne ! (Bon, ça n'a pas marché de premier coup, car j'ai fait une boulette, j'ai compté les broches en incluant le GND du coup j'avais mis 12 et 13, du coup ça ne marchais pas. Le GND, du coup, ne compte pas).

@J-M-L , oui j'ai bien mis le 5V et le GND sur le nano.
Merci, vous m'avez bien décoincé !

@clems46 : pour que le fil de discussion garde un intérêt éventuel pour d'autres personnes que toi, pourrais-tu préciser (lien vers un site marchand ) le module LoRa Groove que tu utilises ?
Merci

Oui bien sur, j'utilise un module Grove radio Lora 868Mhz de chez Seeduino réf 113060006
Lien du fabricant : Grove - Long Range 868MHz | Seeed Studio Wiki
Acheté chez Gotronic : Module Grove LoRa 113060006 Seeed Studio - Communication | GO TRONIC

Bonjour, j'ai le même problème mais moi j'ai une carte esp32 cam apparemment je me suis trompée dans les pin de Rx et Tx normalement il faut mettre 14 et 15 mais j'ia toujours un problème de l'initialisation !!

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