Based on this documentation (Getting Reach coordinates on Android via BT | RTK Modules), I installed Lefebure NTRIP Client in my Android phone to allows my Android app to use accurate coordinates from Reach RS2 receiver. I have a few questions:
My Reach RS2 receiver doesn’t have SIM card, and it is connnected to NTRIP provider via mobile hotspot. Does it receive NTRIP correction signal directly from NTRIP provider without going through Lefebure NTRIP Client on my phone?
Is there documentation on how to modify my Android app so it can read GNSS coordinates directly from Reach RS2 without Lefebure NTRIP Client in the middle? It seems to me that the only role of Lefebure NTRIP Client app is to translate NEMA data into a format that other GIS app can understand. It would be more convenient to use my Android app without Lefebure NTRIP Client app as a middle man.
We recommend using the Lefebure app to work with the Android mock location feature mostly. This feature substitutes your Android position on the position from Reach. So after setting a connection, all apps on your phone will use Reach’s position without additional configuration.
It’s possible to output position to some apps directly from Reach RS2 via Bluetooth, Serial, or TCP. However, the details and quality of such a connection depend on the app.
Mock location feature simplifies Reach integration with Android GIS apps via Bluetooth. At the same time, the Lefebure app is free, easy to use, and provides a stable connection. That’s why we recommend it.
In case you haven’t used Lefebure, install it on your phone/tablet, tap the gear for settings, in receiver settings select your RS2 as the BT device (you had to have paired it previously), BT connection method is Secure via Reflection, toward the bottom put a check mark in the GPS Mock Locations box. Tap the back button and go to NTRIP settings, network protocol is None.
On your Android device you have to have enter developer option (do a search to enable it for your device, normally settings/about phone(tablet) and tap the build number 7 times or more). While in developer options there is a something like Select mock location app, tap on that and make Lefebure your mock app
Thanks for the info. I’ve used Lefebure NTRIP Android app before and it works as expected. My 2nd question is more about how to build app that can read GPS directly from Reach RS2 without using Lefebure NTRIP Client app? so I never need to switch between my app and Lefebure NTRIP app for troubleshooting. I wonder if everyone has more knowledge or documentation on that?
The most popular format to transmit position from the receiver to 3rd-party apps is NMEA. Reach supports it and its different message types. In the meantime, if this format is not suitable for you, LLH, XYZ, and ENU formats are also available.
I’ve been finding when trying to setup a connection using this exactly this method that the NMEA sentences are not being passed to the android app (Apglos) When I check the Position Streaming tab in Reach itis reporting a ‘write error’.
Any idea what conditions would cause this?
I’m keen not to have to use Lefebure, just to keep things simple.
In general, this message appears when you stream the position from Reach, but your Android app didn’t receive it. Have you configured the input of the NMEA message in the Apglos app?
Also, if I remember it right, such a message appears in the Reach Panel app only. Do you use it to operate Reach? If yes, I’d recommend you to try ReachView 3 mobile app instead, as it contains all the latest features and improvements.
Thanks for getting back to me. I was under the impression that NMEA is a broadcast ad connectionless protocol? So the receiver wouldn’t be handshaking or expecting an acknoledgement from the Android app, and hence woudn’t know if the sentence had been received or not to be able to generate a write error message.
Is there something I’ve missed?
I’ve opened a support call with Apglos, who are also under the impression that its connectionless too.
Oh, most likely, it is so indeed. I am not too familiar with such details.
However, the “Write error” note is related not to the NMEA directly but to the Bluetooth connection in general. It appears when there isn’t Bluetooth reception on the Android device.
Just want to add that I’ve reproduced your workflow as well. I’ve paired the devices via Bluetooth and set position output from Reach. Once I set the Android app to receive the position, the note “Write error” has changed to “Connected”.
Thanks @julia.shestakova for spending the time to clarify this.
Now that the NMEA stream and the app are eliminated I can now concentrate on diagnosing the Bluetooth. I’ll post an update when I get a chance to take a look.