Buongiorno a tutti,
sto cercando un modo per far comunicare l'arduino mkrwan 1310 direttamente ad un arduino Uno con dragino LoRa shield (con chip Semtech SX1276), tramite la libreria GitHub - sandeepmistry/arduino-LoRa: An Arduino library for sending and receiving data using LoRa radios.
usando gli esempi di default sia per il sender (mkrwan 1310) che per il receiver (arduino + dragino shield);
Vi spiego il problema, leggendo su altri forum mi pare di capire che per far funzionare correttamente l'mkr è necessario assegnare i pin corretti del chip the Murata CMWX1ZZABZ LoRa®
Dalla scheda fornita sembra che i pin siano i seguenti:
di conseguenza ho provato ad utilizzare il seguente sketch:
#include <SPI.h> // include libraries
#include <LoRa.h>
const int csPin = 23; // LoRa radio chip select
const int resetPin = 39; // LoRa radio reset
const int irqPin = 41; // change for your board; must be a hardware interrupt pin
byte msgCount = 0; // count of outgoing messages
int interval = 5000; // interval between sends
long lastSendTime = 0; // time of last packet send
void setup() {
Serial.begin(9600); // initialize serial
while (!Serial);
Serial.println("LoRa Duplex - Set spreading factor");
// override the default CS, reset, and IRQ pins (optional)
LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin
if (!LoRa.begin(868E6)) { // initialize ratio at 915 MHz
Serial.println("LoRa init failed. Check your connections.");
while (true); // if failed, do nothing
}
LoRa.setSpreadingFactor(8); // ranges from 6-12,default 7 see API docs
Serial.println("LoRa init succeeded.");
}
void loop() {
if (millis() - lastSendTime > interval) {
String message = "HeLoRa World! "; // send a message
message += msgCount;
sendMessage(message);
Serial.println("Sending " + message);
lastSendTime = millis(); // timestamp the message
interval = random(2000) + 1000; // 2-3 seconds
msgCount++;
}
}
void sendMessage(String outgoing) {
LoRa.beginPacket(); // start packet
LoRa.print(outgoing); // add payload
LoRa.endPacket(); // finish packet and send it
msgCount++; // increment message ID
}
Purtroppo stampo sul serial monitor:
LoRa init failed. Check your connections.