Hi guys,
So i have a problem.
I have an Arduino mega with a LoRa Shield
and i can't use SF12, up to SF 10 is fine tho and i dont know why.
However my real problem is on an Arduino Due that i have set up with a Lora_BEE
I am using RadioHead Simple LoRa Client to connect to the Dragino LG01-N Gateway
I am in the EU so the frequency i use is ISM 868 MHz
/*
LoRa Simple Client for Arduino :
Support Devices: LoRa Shield + Arduino
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 LoRa Simple Server
User need to use the modified RadioHead library from:
https://github.com/dragino/RadioHead
modified 16 11 2016
by Edwin Chen <support@dragino.com>
Dragino Technology Co., Limited
*/
#include <SPI.h>
#include <RH_RF95.h>
// Singleton instance of the radio driver
RH_RF95 rf95;
//The parameter are pre-set for 868Mhz used. If user want to use lower frenqucy 433Mhz.Better to set
//rf95.setSignalBandwidth(31250);
//rf95.setCodingRate4(8);
float frequency = 868.1;
int i=0;
void setup()
{
Serial.begin(9600);
//while (!Serial) ; // Wait for serial port to be available
Serial.println("Start LoRa Client");
if (!rf95.init())
Serial.println("init failed");
// Setup ISM frequency
rf95.setFrequency(frequency);
// Setup Power,dBm
rf95.setTxPower(13);
// Setup Spreading Factor (6 ~ 12)
rf95.setSpreadingFactor(10);
// Setup BandWidth, option: 7800,10400,15600,20800,31250,41700,62500,125000,250000,500000
//Lower BandWidth for longer distance.
rf95.setSignalBandwidth(125000);
// Setup Coding Rate:5(4/5),6(4/6),7(4/7),8(4/8)
rf95.setCodingRate4(5);
rf95.setSyncWord(0x34);
/*
//Different Combination for distance and speed examples:
Example 1: Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on. Default medium range
rf95.setSignalBandwidth(125000);
rf95.setCodingRate4(5);
rf95.setSpreadingFactor(7);
Example 2: Bw = 500 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on. Fast+short range
rf95.setSignalBandwidth(500000);
rf95.setCodingRate4(5);
rf95.setSpreadingFactor(7);
Example 3: Bw = 31.25 kHz, Cr = 4/8, Sf = 512chips/symbol, CRC on. Slow+long range
rf95.setSignalBandwidth(31250);
rf95.setCodingRate4(8);
rf95.setSpreadingFactor(9);
Example 4: Bw = 125 kHz, Cr = 4/8, Sf = 4096chips/symbol, CRC on. Slow+long range
rf95.setSignalBandwidth(125000);
rf95.setCodingRate4(8);
rf95.setSpreadingFactor(12);
*/
}
void loop()
{
if(Serial.read()=='r'){i=0;}
if(i<20){
i++;
Serial.println("Sending to LoRa Server");
Serial.println(i);
// Send a message to LoRa Server
// 331 bytes de Lorem Ipsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer a leo sed orci vestibulum maximus et id lacus. Mauris vestibulum ac lacus suscipit suscipit. Morbi non neque urna. Proin id sodales risus. Nullam vulputate ligula nulla, a condimentum justo fermentum id. Nullam semper elementum nibh, quis convallis risus mattis vel."
uint8_t data[] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer a leo sed orci vestibulum maximus et id lacus.";
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))
{
Serial.print("got reply: ");
Serial.println((char*)buf);
Serial.print("RSSI: ");
Serial.println(rf95.lastRssi(), DEC);
}
else
{
Serial.println("recv failed");
}
}
else
{
Serial.println("No reply, is LoRa server running?");
}*/
delay(5000);
}}
When i try to change the SF it fails to init and i dont know why.
Adicional info
Code from RadioHead Library
Arduino due RFM95/96/97/98
/// GND----------GND (ground in)
/// 3V3----------3.3V (3.3V in)
/// interrupt 0 pin D2----------DIO0 (interrupt request out)
/// pin D3----------DIO1
/// pin D5----------RESET
/// SS pin D10----------NSS (CS chip select in)
/// SCK pin PSI3----------SCK (SPI clock in)
/// MOSI pin PSI4----------MOSI (SPI Data in)
/// MISO pin PSI1----------MISO (SPI Data out)