I have an Arduino Uno and an Arduino Ethernet board. Either one I've tried to connect my Dragino Lora GPS shield atop and get to work. For both GPS and LoRA purposes. So far I've gotten the GPS working, but cannot get the LoRA to function.
I've tried the sample code to send messages to the LoRA but cannot get the rf95.init() to return as true.
Using the latest RadioHead library in the Arduino IDE. So I have an RF singleton instance:
RH_RF95 rf95;
Then my setup method just has something simple, such as:
void setup()
{
if (!rf95.init())
{ // .... other code here...
But even then I cannot initialize it. Since I am using the USB port as my serial connection for loading code into the Arduino Uno or Arduino Ethernet board, I had to jumper the GPS and use SoftwareSerial for it. What about the LoRA Bee that sits atop the Dragino LoRA GPS shield? It just plugs atop the shield and I wouldn't imagine I'd need to jumper that component, right?
Otherwise I am fine with these components. I can read GPS data and send it via the USB serial link to monitor the output. I just cannot initialize the LoRA bee...
Attached is a pic my setup. Arduino Ethernet with Dragino Lora GPS Shield atop. I communicate via USB as hardware serial, jumpered the GPS to use SoftwareSerial, and the Lora Bee is v1.1 and supposedly hard-coded for 915MHz. Not sure if I need to specify parameters when constructing the RF95 singleton instance. If I do I'm unsure what the parameters are? 
The end game is to have another device connected to the Arduino through USB send data to the Arduino. Then the Arduino will take that data, append its own GPS data, and then transmit the data set out the RF connection.
And here is the test program I am trying to get to work. I cannot get the rf95.init() to succeed Just in the initial setup method.
#include <SoftwareSerial.h>
#include <TinyGPS.h>
#include <SPI.h>
#include <RH_RF95.h>
RH_RF95 rf95;
TinyGPS gps;
SoftwareSerial ssGps(3, 4);
String datastring="";
String datastring1="";
char databuf[100];
uint8_t dataoutgoing[100];
char gps_lon[20]={"\0"};
char gps_lat[20]={"\0"};
void setup()
{
// Initialize the USB-Serial and GPS software serial connections.
Serial.begin(9600);
ssGps.begin(9600);
while (!Serial) ; // Wait for serial port to be available.
{
Serial.println("USB-Serial initialized.");
ssGps.println("GPS initialized.");
if (!rf95.init())
{
Serial.println("RF not initialized.");
}
else
{
Serial.println("RF initialized.");
}
}
}
void loop()
{
bool newData = false;
// For one second we parse GPS data and report some key values.
for (unsigned long start = millis(); millis() - start < 1000;)
{
while (ssGps.available())
{
char c = ssGps.read();
//Serial.print(c);
if (gps.encode(c))
newData = true;
}
}
// Get the GPS data.
if (newData)
{
float flat, flon;
unsigned long age;
gps.f_get_position(&flat, &flon, &age);
if (Serial.available())
{
Serial.print("LAT=");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" | LON=");
Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" | SAT=");
Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
Serial.print(" | PREC=");
Serial.println(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());
}
flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6;
flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6;
// Once the GPS fixed,send the data to the server.
datastring +=dtostrf(flat, 0, 6, gps_lat);
datastring1 +=dtostrf(flon, 0, 6, gps_lon);
strcpy(gps_lat,gps_lon);
strcpy((char *)dataoutgoing,gps_lat);
// Send the data to server
rf95.send(dataoutgoing, sizeof(dataoutgoing));
}
else
{
Serial.println("No valid GPS data received.");
}
}
Disregard. Newbie admittedly here. I thought the Arduino Ethernet and the Arduino Uno were pretty similar, except for the difference of one having a USB connector and the other an Ethernet connector. Apparently Pin 10 that LoRA uses as its slave select pin was taken up by Ethernet. After switching back to my Arduino Uno the RF is initialized.
Getting there...slowly but surely... 