I've installed an OpenGTS server and successfully linked it with the GPS2OpenGTS_Pro application for android.

The buses I'm tracking offer 3G with a wireless AP, however whenever the bus stops, the AP is shut down to save battery. The android device has trouble reconnecting all the time, so I've opted for a Raspberry Pi that can connect to the AP through ethernet.

I've got gpsd to read the NMEA output from a BU-353, but I'm stuck trying to figure out how to stream the GPRMC information to my OpenGTS server. I haven't been able to find an application that uploads GPRMC data, and couldn't find a tutorial for how to write a script to do the same (possible using "cat /dev/ttyUSB0" and filtering for just GRRMC lines?). Is there an easy way to do this in python or PHP?

Example HTTP POST:


1 Answer 1


We are developing our own application to do exactly this, but we decided to adopt the approach of using the android as the wirless access point and the device to transmit the data to the servers.

If you have access and influence with the bus companies, this may be a worthwhile approach

Note: our solution is untested and in early days of the development cycle but we were forced to consider this option because of network connectivity issues, loss of signal, etc; plus the android has an added benefit of having its own battery for operation when the vehicle is powered down. Our application will turn off the wifi and go into hibernate when the bus is powered down and then fire up again enable the wifi and start transmitting when power is reapplied to the android.

The final benefit is that there is only one device to monitor and maintain, which can be preconfigured in the depot and deployed very easily, in the case of long hauls, spare devices can be easily dropped in place by the driver

The only downside is that the device has to be positioned where its GPS aerial has a good view of the sky.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.