obdgpslogger(1) General Commands Manual obdgpslogger(1)NAME
obdgpslogger - Log OBD and GPS data to sqlite
SYNOPSIS
obdgpslogger [ options ]
DESCRIPTION
This is a tool to log OBDII and GPS data to an sqlite database
OPTIONS
-s|--serial <serialport>
Open this serial port device to connect to the elm327 device.
-c|--count <count>
Take this many samples at most. Leaving this option out defaults to incessant sampling.
-u|--output-log <filename>
Redirect stdout and stderr to this file
-l|--serial-log <filename>
Log all serial comms into this file.
-a|--samplerate <samples-per-second>
Sample at most this many times a second. The software will sleep temporarily at the end of each loop if appropriate. Keep in mind
there is an upper limit to samplerate, typically capped by I/O on your serial port. Set this to zero to sample as fast as possible.
BE WARNED. Values greater than ten here are forbidden for cars predating April 2002. If you think your car postdates early 2002, and
you'd like to sample as fast as possible, the -o option may help
-o|--enable-optimisations
Enable certain elm327 optimisations. This will [usually] make sampling faster [not a noticeable amount if you're only sampling once
a second], but makes it much easier to accidentally disobey the standard if you're sampling as fast as possible.
-p|--capabilities
Dump the commands your OBD device claims to support to stdout, then exit.
-m|--daemonise
Convert the program to a background daemon after successfully initialising.
-B|--modifybaud [rate]
Attempt to upgrade baudrate to rate. If rate isn't specified, we'll just take a few guesses and go with what works.
-b|--baud <rate>
Attempt to set serial port baudrate to this after launching. Passing zero tells it to try and guess, or -1 to not try changing at
all.
-d|--db <database>
Open this database to log data to. The software will create the database if it does not exist, and create the tables it needs.
-i|--log-columns <column names>
Comma-separated list of column names. These are the short names listed when you use "-p" to get your car's capabilities
-v|--version
Print out version number and exit.
-h|--help
Print out help and exit.
NOT OPTIONS
These options are not intended to be used by end users using the command line, they are support options for the GUI component. Use or rely
on them at your own peril.
-t|--spam-stdout
Write all readings to stdout. The format is unlikely to change in practice, but if you choose to try to parse this yourself, I don't
want to hear about it when it does change.
SEE ALSO obd2kml(1), obd2csv(1), obd2gpx(1), obdsim(1), obdgui(1), obdlogrepair(1), obdftdipty(1), dot-obdgpslogger(5)AUTHORS
Gary "Chunky Ks" Briggs <chunky@icculus.org>
obdgpslogger(1)
Check Out this Related Man Page
GPSCTL(1) GPSD Documentation GPSCTL(1)NAME
gpsctl - control the modes of a GPS
SYNOPSIS
gpsctl [-h] [-b | -n] [-x control] [-e] [-f] [-l] [-s speed] [-t devicetype] [-D debuglevel] [-V] [serial-port]
DESCRIPTION
gpsctl can switch a dual-mode GPS between NMEA and vendor-binary modes. It can also be used to set the device baudrate. Note: Not all
devices have these capabilities.
If you have only one GPS attached to your machine, and gpsd is running, it is not necessary to specify the device; gpsctl does its work
through gpsd, which will locate it for you.
When gpsd is not running, the device specification is required, and you will almost certainly need to be running as root in order to have
write access to the device.
The program accepts the following options:
-b
Put the GPS into binary mode. After the GPS resets itself, autobaud to the new speed.
-c
Change the GPS's cycle time. Units are seconds. Note, most GPSes have a fixed cycle time of 1 second.
-e
Generate the packet from any other arguments specified and ship it to standard output instead of the device. This switch can be used
with the -t option without specifying a device. Note: the packet data for a binary prototype will be raw, not ASCII-ized in any way.
-f
Force low-level access (not through the daemon).
-l
List a table showing which option switches can be applied to which device types, and exit.
-n
Put GPS into NMEA mode. After the GPS resets itself autobaud to its new speed.
-s
Set the baud rate at which the GPS emits packets.
Use this option with caution. On USB and Bluetooth GPSes it is also possible for serial mode setting to fail either because the serial
adaptor chip does not support non-8N1 modes or because the device firmware does not properly synchronize the serial adaptor chip with
the UART on the GPS chipset when the speed changes. These failures can hang your device, possibly requiring a GPS power cycle or (in
extreme cases) physically disconnecting the NVRAM backup battery.
-t
Force the device type.
-x
Send a specified control string to the GPS; gpsctl will provide packet headers and trailers and checksum as appropriate for binary
packet types, and whatever checksum and trailer is required for text packet types. (You must include the leading $ for NMEA packets.)
When sending to a UBX device, the first two bytes of the string supplied will become the message class and type, and the remainder the
payload. When sending to a Navcom NCT or Trimble TSIP device, the first byte is interpreted as the command ID and the rest as payload.
When sending to a Zodiac device, the first two bytes are used as a message ID of type little-endian short, and the remainder as payload
in byte pairs interpreted as little-endian short. For all other supported binary GPSes (notably including SiRF) the string is taken as
the entire message payload and wrapped with appropriate header, trailer and checksum bytes. C-style backslash escapes in the string,
notably xNN for hex, will be interpreted; additionally, e will be replaced with ESC. This switch implies -f.
-T
Change the sampling timeout. Defaults to 4 seconds, which should always be sufficient to get a packet from a device emitting at the
normal rate of 1 per second.
-h
Display program usage and exit.
-D
Set level of debug messages.
-V
Display program version and exit.
The argument of the forcing option. -t, should be a string which should be contained in exactly one of the known driver names; for a list,
do gpsctl -l.
Forcing the device type behaves somewhat differently depending on whether this tool is going through the daemon or not. In high-level mode,
if the device that daemon selects for you doesn't match the driver you specified, gpsctl exits with a warning. (This may be useful in
scripts.)
In low-level mode, if the device identifies as a Generic NMEA, use the selected driver instead. This will be useful if you have a GPS
device of known type that is in NMEA mode and not responding to probes. (This option was originally implemented for talking to SiRFStar I
chips, which don't respond to the normal SiRF ID probe.)
If no options are given, the program will display a message identifying the GPS type of the selected device and exit.
Reset (-r) operations must stand alone; others can be combined. Multiple options will be executed in tis order: mode changes (-b and -n)
first, speed changes (-s) second, and control-string sends (-c) last.
EXAMPLES
gpsctl /dev/ttyUSB0
Attempt to identify the device on USB serial device 0. Time out after the default number of seconds. Adding the -f will force low-level
access and suppress the normal complaint when this tool can't find a GPSD to work through.
gpsctl -f -n -s 9600 /dev/ttyUSB0
Use low-level operations (not going through a gpsd instance) to switch a GPS to NMEA mode at 9600bps. The tool will identify the GPS
type itself.
BUGS
SiRF GPSes can only be identified by the success of an attempt to flip them into SiRF binary mode. Thus, the process of probing one of
these running in NMEA will change its behavior.
SEE ALSO gpsd(8), gpsdctl(8), gps(1), libgps(3), libgpsd(3), gpsprof(1), gpsfake(1).
AUTHOR
Eric S. Raymond esr@thyrsus.com.
The GPSD Project 29 Oct 2006 GPSCTL(1)