OBD GPS Logger for Linux and OSX
Last updated
Last updated
[ Modules | Screenshots | Log Output | Supported OSs | Download | Contact ]
It does exactly what it says on the tin. It logs OBDII and GPS data on Linux, OSX and others.
It can then take that logged data, and write useful output formats
If you find obdgpslogger useful, please don't hesitate to drop me an email at chunky@icculus.org and let me know of any success, failures, or questions you might have!
OBD GPS Logger comes as a bunch of small tools, each intended to complete a single task. I list these modules on a page of their own.
Of specific mention is an OBD II Simulator, which has been given its own page to explore some of its features.
Each module intended for end users has a manpage in the distribution. A simple text version of the manpages can be found here:
This is what the output looks like when loaded in Google Earth
Click each screenshot below to take you to a page with higher resolution images, the logs, and the final output files.
Cross-country road trip | Bit of Coast | ||
There and Back Again | Testing Trips | ||
Vegas trip for CES 2010 |
obdgpslogger is actually a small group of command-line applications, and a UI that can be used to launch them. The UI is entirely optional, and the full capabilities of obdgpslogger are available without any graphical systems even running.
Here are some screenshots of it.
When you first start the UI... | While Driving... | ||
Click "Convert log to..." | While converting the log... |
Your car has lots of interesting things it can tell you from its on-board computer while it's running. Things like how fast you're going, how fast the engine's going, the air flow into the engine, the throttle position... everything. If you want to know more, google obdII, and enjoy the rabbit hole.
As with so many open-source projects, this is scratching an itch: There's a severe lack of applications that run on OSX or Linux that can log OBDII data.
My gem-of-an-idea from the outset was to be able to log this stuff as I was driving, along with GPS position, and later on plot an overlay on a map of where you drove, and how efficiently the car was running at each instant
The core interest in this application is OBDII. To log from OBDII, you'll need an elm327-compatible device [ie, "all of them"] plugged into your laptop and presenting itself as a serial port device. Just about anything you can find on the internet that says "elm327" and has a plug that fits a hole on your laptop should work.
I have all these three devices. I use the OBDLink the most [it's the fastest at sampling, and has the most powerful set of power-saving settings], followed by the OBDPros. I rarely use the OBDKey anymore:
If you want to use the GPS logging part, you'll need a GPS receiver compatible with gpsd, and gpsd. For bluetooth, I'm using one of these: Globalsat BT-359 and am very happy with it. In general, though, I prefer the BU-353 since you don't have to deal with batteries or turning on and enabling gpsd. [yay hotplug]
No.
OBDII is purely a way to get diagnostic information from the car. The only thing that could be classed as "writing" to the car's computer through the OBDII port is clearing diagnostic codes - which the engine dutifully sets again if whatever-was-wrong is still wrong.
Included in the distribution is a program called obd2kml. This reads the database generated by obdlogger and exports to a Google Earth .kml file
Included in the distribution is a program called obd2csv. This reads the database generated by obdogger and exports it to a CSV file with a couple extra useful columns pre-calculated.
Then open obdlogger.csv in your favorite spreadsheet to use as you please.
GPX is a standard format for GPS data. You can upload it to openstreetmap among others, and many tools recognise it.
Short Version: OSX, Linux, cygwin on Windows
Long Version: I'm doing most development and testing on OSX, but it's fully POSIX-compliant. Which means it works on OSX, Linux, Solaris. If you use windows, it works with cygwin [see below]
Longer, opaque version: I have run it on ARM Linux, x86 Linux, x86_64 Linux, PPC Linux, PPC OSX 10.4, Intel OSX 10.4 and 10.5, various flavors of Cygwin. Most modules work under MSYS, except the logger itself.
Some links to typical documents [direct links to svn versions]:
COPYING. The license is GPLv2+.
Packaging stuff for various distros is in svn://svn.icculus.org/obdgpslogger/branches/packaging
At time of writing, packages are available through your distribution if you're running Debian Sid or Testing [will be in Wheezy], Ubuntu Oneiric, or Arch AUR.
OpenSolaris spec files are in the svn packaging, but Oracle have killed Jucr so I no longer have an easy install path for end users.
Packaging is in progress, but not yet official, for Fedora, OpenSuSE, and Meego. That may have changed by the time you read this.
This is probably more recent than the numbered tarball above, but may have issues
You can browse the svn repo here: http://svn.icculus.org/obdgpslogger/
I strongly suggest installing gpsd first.
Build it using cmake:
Binaries are placed in the "bin" dir of your top level source directory. If you want to install to a different prefix, change CMAKE_INSTALL_PREFIX when you run ccmake
On Windows, the software works with cygwin. [obdsim also works with msys/mingw]
You need the following packages [install them through cygwin's setup.exe, selecting some of them may select others automatically, you should leave those ones on]:
devel/cmake
devel/gcc
devel/make
devel/subversion
Open Cygwin from the desktop or start menu entry, and then run the same commands as "building" above
OBD GPS Logger has a mailing list. Subscribe to it by visiting the icculus.org mailman page for it: http://icculus.org/mailman/listinfo/obdgpslogger
mp3car have provided me some forum space for this project here: http://www.mp3car.com/vbulletin/obdii-gps-logger/
The current version is downloadable as source here:
There's a macintel bundle, with included gpsd, here: