Erm...I've been working strictly with gpsd to build a php web page that extracts and sends the velocity from the gps to a web page. It seemed simpler than schlepping the whole setup out to the car and trying to get it to recognize the OBDII connector. I don't have a net connect to the Sheeva in the car yet, so this was the easiest thing to do for now.
I'm going to get on the WiFi proximity thing here in a bit so I can ssh into the Sheeva while it's in the car with the OBDII plugged in and on the WiFi network. As soon as I get frustrated with php programming.
BTW - you can check out the Sheeva test gateway at http://18.104.22.168/gpsd.php to see it. I'm modding that code to get it to output velocity.
You know, I saw it in the html but it doesn't blink on Safari. I should take it out.
Okay, I've got my test script working. It's just a little, itty, bitty success from modifying existing code, but it is working. Just click the link below. (Go now -I don't guarantee these links will work for long!)
For more complete info from the gps, look at the gpsd script that came with it by typing the following into the web browser: http://22.214.171.124/gpsd.php
What's happening here? You are accessing my Sheeva plug and asking it to run a php script that will read the GPS velocity from it. (Of course it will be zero or no fix since the GPS isn't moving). To see where I'm headed with this idea, type the same address into your smart phone's web browser. Either script (the gpsd.php or the gpsd2.php) will work.
Now, imagine that better and more user friendly web page - or actually a whole web site, is served up to the browser from the Sheeva while you drive. It will refresh the speed, read information from the OBDII and so forth.
Now, imagine that the web site on the Sheeva plug isn't on the plug at all. Instead, it is on a server out on the internet. Using your smart phone, you access that server on the internet and it can control the Sheeva, among other things. Why get it from an internet server? Because, you would be able to configure your front end web site online from a web browser, moving buttons around, adding controls or plug-ins on the web and instantly having the changes reflected on your smart device. Ultimately, you could configure it to work one way in the car and another way at home or in other locations.
That's a really long way from my velocity script, but hey, I can dream.
New stuff that's specifically useful to obdgpslogger on the sheeva:
~/.obdgpslogger now has a "log_file" parameter, that can be an absolute path... such as
/media/usbthumbdrive/obdgpslogger.db. Just plug in your thumb drive, then plug in your OBDII dongle, and you're good to go.
obdftdipty can now modify a run-time device config file [/var/run/obdftdipty.device] so that the path to the obddevice points to the pty it created.
ie, now you should be able to use just a rules.udev file so that when you plug in the obdII device, you can launch obdftdipty and the obdgpslogger, and it'll magically do what you want. [if you haven't flashed your plug].
Or you if you have flashed your plug, you can edit ~/.obdgpslogger and with a udev rule to set up the obdII device to always have the same path, auto launch just obdgpslogger
Very cool! I've just had a long week of travel and full weekend but I'll be taking a look at how to use this as I get back on track (i.e. get some free time to myself)!
SheevaPlug installer, 1.0. Installs a UBIFS filesystem on the internal flash, an up to date kernel, and a whole bunch of kernel modules including pl2303 and ftdi_sio.
I'm doing it right now. If only I could find a f**king usb thumb drive [why don't I have, like, a stack of the stupid things around?] I could finish the job.