GPS data send through nRF24L01?

Hi all,
I'm a beginner in this board and I wanna have an Adafruit ultimate GPS breakeout with my arduino and nRF24L01
and I would like to ask if it is possible for me to do these things:

*Is it possible to send out NMEA sentences through nRF24L01?

*I have a plan of sending raw NMEA sentences and just parsed them to the receiving board, is it possible?

*well if it isn't, is it still possible to send parsed datas like latitude longitude and altitude?

  • how would I send it I mean "radio.write(????, sizeof(????));" I'm actually a beginner, so can I ask what ask what data types am I sending?

Have a look at the examples in this Simple nRF24L01+ Tutorial. If you just want one-way communication the first example should be sufficient.

Keep in mind that the maximum nRF24 message size is 32 bytes. if you need to send more data you will need to break it up into a series of messages.

...R

With a limitation of 32 bytes you wont be able to send most NMEA sentences, they are too long.

You can send the Lat,Lon and Alt as 3 float variables in a packet, that takes 12 bytes.

srnet:
With a limitation of 32 bytes you wont be able to send most NMEA sentences, they are too long.

What would be wrong with sending them in parts?

However I don't disagree with your suggestion that parsing the data before sending might make more sense.

...R

Robin2:
What would be wrong with sending them in parts?

Nothing really, although if all you wanted to do was send GPS NMEA to some remote location you can do it directly with a pair of HC-12s, no Arduino needed.

hi, thanks for the reply.

srnet:
With a limitation of 32 bytes you wont be able to send most NMEA sentences, they are too long.

You can send the Lat,Lon and Alt as 3 float variables in a packet, that takes 12 bytes.

do you mean that when I read and parsed the data I'll store them into three float data types.

is this it
"float longitude;"
"float latitude;"
"float altitude;"

and send them one by one

something like that

jhave_21:
hi, thanks for the reply.

do you mean that when I read and parsed the data I'll store them into three float data types.

is this it
"float longitude;"
"float latitude;"
"float altitude;"

and send them one by one

something like that

Or put them in an array and send it in one go.

What you have asked is possible, but you did not say why you want to do it, so our advice might be wrong. .

well if I send it as an array,

won't it overload the 32 bytes your saying?

I got another question;
let's make a scenario, I got a tx board and rx board, both using nRF24L01 module, they have a bi-directional communication.

say i am transmitting one array in my tx board and receiving 3 different datas that was sent by my rx board in a different function ( let's say I had sent the other one using a different "radio.write()" function and sent the other one by another "radio.write" function ).

how do I receive it.

shall I make three radio.read() functionat my tx board to read the incoming datas?

please I know this is confusing and I know I'm not in the position to tell you that "read it again if you don't understand" but please do. sorry

jhave_21:
well if I send it as an array,

won't it overload the 32 bytes your saying?

Dont see why, if the array is only 12 bytes long.

I got another question;
let's make a scenario, I got a tx board and rx board, both using nRF24L01 module, they have a bi-directional communication.

And I dont understand what you are trying to do you do need to explain better.

Rather than think you have the solution to a problem and ask questions about inplementing that solution, why dont you say what the original problem or project actually is ?