Node to Node Communication with a variable Spreadingfactor on AB01

I read https://heltec-automation-docs.readthedocs.io/en/latest/esp32/frequently_asked_questions.html#node-to-node-communication this and i was wondering, if it possible to establish Node to Node Communication with the AB01 Board.

With the software from Github for AB01, i can only achieve Node to Node communication, when the spreading factor is also the same. I would be nice if i could archive Node to Node communication with the parameters from the link above.

I would be greatful for any feedback :slight_smile:

Hi,

The answer is Yes.

sorry, I can’t your meaning well. Could you explain it more?

Of course!

So I am right, when those key parameters must match on both devices, when directly communicant with each other:

  1. The same sending and listening frequency: LoRa.setFrequency(frequency);
  2. The same bandwidth: LoRa.setSignalBandwidth(signalBandwidth);
  3. The same coding rate: LoRa.setCodingRate4(codingRateDenominator);
  4. The same preamble length: LoRa.setPreambleLength(preambleLength);
  5. The same sync word: LoRa.setSyncWord(syncWord);

But when I am trying to send a packet from one device to another, I notice that the spreadingfactor must also match. But i could use different codingrates.

I know the key parameters above are from the documentation of WiFi LoRa 32 and not the AB01, so are they the same?

the answer is also YES.

But why then must I set the Spreadingfactor as an RX Option in the Example Script?

So can you show me an example code, where i dont have to set the spreadingfactor as RX Option?

Still no answer? It should be possible, but i cant find any code that is able to do it on Cubecell AB01.

Can you please look into the problem?

hi,

your ESP32 can use this lib:

you can refer this code with your ESP32:

I am not using the ESP32 i am using the Cubecell AB-01 and i tried the pingpong code from: https://github.com/HelTecAutomation/ASR650x-Arduino/tree/8574d3df7abb322be8920831630c69f92d63f56e/libraries/LoRa/examples/LoRaBasic

But i cant use different spreadingfactors on two devices. As you pointed out in a previous message.
Also if the spreadingfactor can be different on RX/TX why is it an option in the RX settings?

This code uses the lora function implemented by lorawan’s library function.

You can try to make the source code communicate.

just do it.

I tried to use the libarys from Cubecell AB-01 but every time, the spreadingfactor on two devices is different, they wont recieve a packet from each other.

hi,

I have tested it. it works fine:

please confirm these information:

ESP32 device use this code:

Cubecell use this code:

I can confirm this, when i am using the Cubecell code on both ASR6501 chips, they can ping each other, like you showed in your screenshot.

But the issue is, when setting the spreadingfactor on device to 8 (so changing in the code: LORA_SPREADING_FACTOR 7 to LORA_SPREADING_FACTOR 8) and leaving the spreadingfactor on the other device to the default value 7, they cant ping each other again.

Strangely enough if i change only the coding rate (LORA_CODINGRATE) to a different value, they can communicate. But didnt you say, the codingrate must be the same and the spreadingfactor can be different?

hi,

sorry, this is our fault. we have updated the docs: