OptimalSystem USB-dongle with u-blox NEO-6P PPP Chip Review
OptimalSystem USB-dongle with u-blox NEO-6P PPP Chip Review
In late 2011 u-blox announced a variant of its 6 series GPS modules that support Precise Point Positioning (PPP) with a precision of less then 1 metre, the NEO-6P. OptimalSystem sells a USB dongle that is based on this chip that they have developed together with OneTalent GNSS.
While the module supports classical DGPS and RTK with a raw data output that can be processed by e.g. RTKLIB, for usage in OSM it is more interesting that it supports accurate measurements standalone without external (and potentially expensive) data.
Usage in Linux
It is not necessary to install additional drivers to connect the u-blox NEO-6P PPP to Linux. u-block provides some notes about its usage in Linux.
After connecting the device, check dmesg output, to see which device was created to talk with the GPS.
$ dmesg | grep tty [ 0.000000] console [tty0] enabled [ 84.050316] cdc_acm 3-2:1.0: ttyACM0: USB ACM device
The device reported is ttyACM0. To confirm that the GPS is connected, read the data come in with:
$ cat /dev/ttyACM0 $GPRMC,203034.00,A,4132.87463,N,00824.18492,W,0.177,,020613,,,D*64 $GPVTG,,T,,M,0.177,N,0.327,K,D*21 $GPGGA,203034.00,4132.87463,N,00824.18492,W,2,08,1.31,208.5,M,50.3,M,,0120*48 $GPGSA,A,3,16,06,03,21,18,19,22,07,,,,,2.04,1.31,1.56*02 $GPGSV,4,1,13,03,55,301,47,06,72,336,47,07,14,319,46,11,03,239,17*7C (...)
Sharing GPS data with gpsd
gpsd can be used to read the GPS data and broadcast it to other applications.
To start gpsd, use:
$ gpsd -N -n -D 2 /dev/ttyACM0 gpsd:INFO: launching (Version 3.4) gpsd:INFO: listening on port gpsd gpsd:INFO: NTPD ntpd_link_activate: 1 gpsd:INFO: stashing device /dev/ttyACM0 at slot 0 gpsd:INFO: opening GPS data source type 2 at '/dev/ttyACM0' gpsd:INFO: speed 115200, 8N1 gpsd:INFO: speed 9600, 8O1 gpsd:INFO: speed 115200, 8N1 gpsd:INFO: gpsd_activate(): activated GPS (fd 6) gpsd:INFO: device /dev/ttyACM0 activated gpsd:INFO: running with effective group ID 1000 gpsd:INFO: running with effective user ID 1000 gpsd:INFO: startup at 2013-06-02T20:33:06.000Z (1370205186) gpsd:INFO: /dev/ttyACM0 identified as type Generic NMEA (0.000608 sec @ 115200bps) (...)
Applications
After starting gpsd, applications should be configured to read data from gpsd.
gpsprof
gpsprof performs accuracy and latency profiling on a GPS. It can be installed with:
$ sudo apt-get install python-gps
Use gpsprof to plot the accuracy of NEO 6P PPP, with:
$ gpsprof | gnuplot -persist
After collecting the samples, a graph is produced.