mcci-catena / arduino-lmic

LoraWAN-MAC-in-C library, adapted to run under the Arduino environment
https://forum.mcci.io/c/device-software/arduino-lmic/
MIT License
629 stars 207 forks source link

EV_TXCOMPLETE but no payload transmitted #913

Closed antoinekeller closed 1 year ago

antoinekeller commented 1 year ago

Hi,

I am trying to send “Hello world” with the SX1276 module and an Arduino Pro Mini (3.3V 8MHz) to The Things Network with the ttn-abp example provided (Version 4.1.1). I am sure that my SX1276 is working correctly, since I have a second board, and communication could be succesfully established when sending messages between the two SX1276 (>100meters). I am in Europe using 868MHz config, and in a big city with gateways very close (<500m). I dont have my own gateway.

I created an end-device on TTN for abp with:

Europe 863-870 MHz (SF9 for RX2 - recommended)
LoRaWAN Specification 1.0.3
RP001 Regional Parameters 1.0.3 revision A

I followed ttn-abp and replaced FILLMEIN by NWKSKEY and APPSKEY with big-endian format (msb) and DEVADDR in big endian too

static const u4_t DEVADDR = 0x260BF156 ; // ← Change this address for every node!

I am using default wiring setup:

// Pin mapping
// Adapted for Feather M0 per p.10 of [feather]
const lmic_pinmap lmic_pins = {
.nss = 8, // chip select on feather (rf95module) CS
.rxtx = LMIC_UNUSED_PIN,
.rst = 4, // reset pin
.dio = {6, 5, LMIC_UNUSED_PIN}, // assumes external jumpers [feather_lora_jumper]
// DIO1 is on JP1-1: is io1 - we connect to GPO6
// DIO1 is on JP5-3: is D2 - we connect to GPO5
};

So I connected RST to Pin 4, DI00 to Pin 6 and DI01 to PIn 5.

I also uncommented

#define CFG_eu868 1
#define CFG_sx1276_radio 1

in MCCI_LoRaWAN_LMIC_library/project_config/lmic_project_config.h

I use an external 3.3V supply for my SX1276 to make sure to have sufficient current/power. I have Arduino 1.8.19

Unfortunately, here is what appears in my Arduino monitor:

20:21:21.618 → 130186000: EV_TXSTART
20:21:21.618 → Packet queued
20:21:23.742 → 130316816: EV_TXCOMPLETE (includes waiting for RX windows)
20:21:33.746 → 130942812: EV_TXSTART
20:21:33.746 → Packet queued
20:21:35.866 → 131073625: EV_TXCOMPLETE (includes waiting for RX windows)
20:21:45.871 → 131699618: EV_TXSTART
20:21:45.904 → Packet queued
20:21:47.991 → 131830596: EV_TXCOMPLETE (includes waiting for RX windows)
20:21:58.026 → 132456591: EV_TXSTART
20:21:58.026 → Packet queued
20:22:00.113 → 132587405: EV_TXCOMPLETE (includes waiting for RX windows)

No obvious errors but no ACK message or "Received ?? bytes of payload. Same in TTN, no live data transmitted.

Am I doing something wrong?

I would greatly appreciate your help please !

Here is a picture of my SX1276 connected to my Arduino Pro Mini. PXL_20221029_193230112

antoinekeller commented 1 year ago

I found the problem, I needed to walk in the streets to get closer to the next gateways. Then it worked like a charm.