Hello all,
I am in the early stages doing some range test with the LoRa modules RFM96 (433MHZ) I just got an amazing result of 2.2 miles.. TX and RX faces a lot building in the way.. my transmitter antenna is in inside the balcony in my apartment at first floor, antenna is at 2 meter high (1/4 lambda), the receiver is setup with 3dbi antenna in my car, I am pretty sure that the range at open field will be much better, I will provide more information if anyone is interested. for my test I use the radiohead library the example under the RFM95 named as rf95_reliable_datagram_client, to get that range I select this setModemConfig(Bw31_25Cr48Sf512); in the RH_RF95.cpp. I also change the power output to 20dbm --> driver.setTxPower(20, false);
Now I am at the point where i need some basic help on the best way to send usefully data for telemetry purposes. I will post my question related to that matter on different thread
I couldn't wait until tomorrow so I did a second test getting the "hello message" sent from tx at home at a decent distance of 2.95 miles (4.7km). :)
That's very impressive! How do the relative elevations compare? I'm guessing it's either line-of-sight or something close to that?
I live in a hilly area, and I was getting great range up until too much hill got between the Tx and Rx. It did better than LOS, though. It was picking up a lot of signals bounced off buildings that it couldn't have gotten if it were purely LOS.
When the signal "absolutely, positively has to get there," LoRa is a great choice, even for shorter distances like around the house. The incremental cost is reasonably low considering what you get, and it comes with a top notch FSK radio similar to the RFM69 in case you want to run at higher bitrates. Because of the higher Tx time, though, for battery applications I tend to think of LoRa as an awesome fallback option in case the primary FSK communications aren't getting through.
I would say that is not true LOS what I have between TX and RX, maybe its lot of reflection on buildings this a picture of how my TX is installed, I put inside that plastic pipe to protect moteino from rain.
This is a new test while I drive to Miami I got signal 5.2 miles from home. I just couldn't guess how far the range maybe if I can place the antenna on the building roof.
terrain is pretty flat but there are a lot building and bridges in the LOS.
Quite amazing, many thanks for sharing this!
BTW I have reports from another user who has gotten a link of over 160km with RFM69 (not LORA!).
Yes that is one hundred sixty kilometers.
The catch and essential details is that he deployed a weather balloon, the bitrate was of course the lowest possible.
So at high elevation, the link can be over 200km even with FSK radios.
Maybe I will share the info and code in the blog or forum when I catch up with the backlog.
What you descrive is very impressive result. I just tested my rfm69 , no tweaking at all and range is very short. . I still want to do more test and see what is the magic to get longer ranges distances.
I see that the rfm69 library have lot of options for the radio mode need to explore which is the optimal to achieve longer ranges.
I know the lower the frequency ,then rf signal can easily go through walls and other objects in the Los , that's why I like the 433mhz but the problems that there is some restrictions using that frecuency in the US.
The photo below is my about my moteino with the rfm96 where ever I go I get that with me to see if I can catch the signal from the server. Love that little LoRa module
@Luisgcu
Is it possible for you to post your code for the settings you changed? I'm trying to increase the range of my Moteino LoRa, and I'm struggling to 1) decide what settings to use, and 2) how to change them.
Hopefully your code will be a stepping stone for me :)
Happy to share what I got, which is not much.I basically use the example under rf95 I tried with rfm95_client and server and also tried rf95_reliable_datagram_client and server, these 2 example work perfectly without any modification. If you want to get long range you need to change few parameter inside the Radio head library. I notice that lowpowerlab has the same radio head library with some updates but I am no using that library I have to investigate if it has some update or improvements for the RFM95.
By the way I am using the rfm96 LoRa 433mhz not the RFM95 which is 915mhz.
When I get home today I'll share more details.
Regards
Quote from: luisgcu on March 14, 2016, 08:41:25 AM
Happy to share what I got, which is not much.I basically use the example under rf95 I tried with rfm95_client and server and also tried rf95_reliable_datagram_client and server, these 2 example work perfectly without any modification. If you want to get long range you need to change few parameter inside the Radio head library. I notice that lowpowerlab has the same radio head library with some updates but I am no using that library I have to investigate if it has some update or improvements for the RFM95.
By the way I am using the rfm96 LoRa 433mhz not the RFM95 which is 915mhz.
When I get home today I'll share more details.
Regards
here is the example that I am using.. is a little messy but it works copy the the content of the zip file inside the radiohead library.
I added a GPS to one Moteino LoRa, that allow me to send the position from client to server, every time server get new position it is stored in a SD card for further analysis or upload to google earth.
I am trying to understand the result of the different possible combination of the RFM96 config registers.
Nice. Which GPS and GPS library do you like the best?
If you were to load and use Semtech's LoRa calculator, you can what-if different permutations of register settings and see what effect it has on the link budget. It's one way to develop a gut feel for what's possible.
Thanks Whitehare , the LoRa modem calculator seems to be interesting, I will play with it .
I am using (ardupilot Ublox gps) I bought that from ebay just for this test. The library I am using is the TinyGps++.
On the receiver side I am using an additional arduino connected to the moteino via I2C. This arduino have the SD card ,I was unable to get working properly the Rfm96 and sd card sharing the same SPI.
I will share all that project when I cleanup the messy code and put some comments on it.
Sounds reasonable. If you ever do decide to take another run at directly connecting the SD card, you may want to give Arduino IDE 1.0.6 a try. It may be a longshot, but at least on the Moteino R4 reverting to 1.0.6 resolved some bizarre SPI issues I was having wrt the Winbond SPI Flash memory.
that tip you mention related to the arduino ide is interesting... I read a lot a bout SPI problems in regard the RFM69 , I tried different things but none get the problem resolved.
I have another question and is related to the payload that I sending basically I am sending this :
struct Gpsdata{
double latitude;
double longitude;
//long data;
};
Gpsdata MyGpsdata;
uint8_t*GpsPayload;
void setup{
GpsPayload = (uint8_t*)(&MyGpsdata);
}
loop{
if.... condition{
if (manager.sendtoWait(GpsPayload, sizeof(MyGpsdata), SERVER_ADDRESS))
{
}
the doubt that I have now in regard to my program I am not sure if I am setting the message length therefore I tend to believe I am sending the RH_RF95_MAX_MESSAGE_LEN without need... in my struct i only have 16 byte, so I am not sure if I am sending only those 16 byte or the whole 255 octets -header.. the question is if I have to set the exact number of octets?
or automatically the Sendtowait do the calculation of how many bytes using the "sizeof(MyGpsdata) ??
Quote from: WhiteHare on March 22, 2016, 01:35:33 PM
Sounds reasonable. If you ever do decide to take another run at directly connecting the SD card, you may want to give Arduino IDE 1.0.6 a try. It may be a longshot, but at least on the Moteino R4 reverting to 1.0.6 resolved some bizarre SPI issues I was having wrt the Winbond SPI Flash memory.
finally I got moteino and RFM95/96 sharing the SPI, I tried different SD card library.
https://github.com/greiman/SdFat (https://github.com/greiman/SdFat)