Tuesday, 22 April 2014

arduino - Long Range RF communication


After playing with Arduino and different kind of sensors for my garden, now I'm starting a new project for my free time.



I want to work with RF communications because I need a long range device for my application, about 2 Km distance.


The idea is to make only an identification of which unit is, as a long range RFID but without RFID.


I mean some devices/units are placed somewhere, and after a time, someone could move them to another place, so I want to know where they are, only reading information send by them via RF. I don't mind their real position (GPS) because I going to be able to see them where they are from my top window. I only want to know which of them are.



  1. I'm reading about 315/434 MHz, but it seems not be able to get this distance without a high power consumption.


  2. What about a lower frequency (150 MHz)? It is above the license frequency band for AM/FM radios.



    • I live in a village - I have a lot of terrain to play with my experiments and a line of sight over 2 Km.





EDIT:


The @Hoppo idea is just what I'm trying to do. Also it lets me to get "energy harvesting" because the idea is transmitters go with a small battery.


Also the transmitters have to be small enough and without antennas for not disturbing and avoid dogs play with them.


In receiver side, it doesn't matter if I need a larger antenna or more power. It will go connected directly to a PC or power source.


Moreover as @Hoppo says, I only want to send a 'ping', a message with an identifier and maybe battery level, so data rates could be lower than 9600bps.



Answer



If you are able to see the devices, then we can only assume line of sight, 2km distance 433Mhz (70cm) should be fine with quite a low power solution. If you can't see them then that drastically reduces the transmit range at 70cm without increasing power consumption. As with all radio communication it can be power hungry. I have created similar projects with the arduino using a radiometrix NTX2 transmitter at 434.650Mhz. My solution to save power was to turn the transmitter on, send a location 'ping' and then turn off the transmitter again rather than constantly transmitting. Easily done with an arduino.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...