Studying my car's sensor data with Open Torque Viewer
ryancompton.net
ryancompton.net
GPS speed is calculated by distance travelled between 2 positions in a given time. The problem is that GPS positions aren't completely accurate. Rounding errors, atmospheric effects and signal reflection can all affect the accuracy of the position. At low speeds, these errors can be as big as the distance travelled between measurements. The GPS speed may not take into account altitude (which is considerably less accurate on consumer GPS receivers), and so would under-report speed going up or down hills. It will also assume perfectly straight lines between points, while your car may in fact be travelling a less straight path. There's also likely to be a degree of averaging involved in the calculation, which would filter out small speed changes reflected in your speedometer data.
Your plot shows times when the GPS speed was as high as 20 mph when the car speedometer was reporting 0 mph. No car with a functioning speedometer will report 0 mph when it's actually moving at over 20 mph.
The convergence at higher speeds is probably more to do with the accuracy of GPS speed measurements at high speed than it is to do with the accuracy of a car speedometer at high speeds.
Best / Quickest source : http://www.popularmechanics.com/cars/how-to/a3127/4260708/
Plotting was done with seaborn - the code is available as an ipython notebook : http://ryancompton.net/assets/torque/mpg_plots.py.html
I can't find the article but I think this was in the news lately.
For the cars I developed for, usually actuators had some preconditions that had to be met before they could go off. For example you shouldn't be able to tell the car to brake via OBD if the car is not still.
At the moment, I can't think of something 'dangerous' that could be done via ODB.
At least officially there is no publicly known database of license plate pix and sniffed MAC addresses. Obviously being blindingly obvious idea, there probably is a secret one. So you only need enough optical data gathering to match MACs to plates with excellent lines of sight and OCR and so forth, then you can get away with deploying simple RF sniffers all over the place that don't need LOS and can be much cheaper.
Note that you can track cops this way, not just victims ^H^H err consumers I mean. And obviously the "smarter" the car the easier this tracking works, you're not going to track a restored 1972 Gran Torino off its bluetooth.
Via a standard Bluetooth<-> CAN interface plugged into the OBD port?
Lots can be done, because generally the OBD port will expose the main CAN network and once you reverse engineer whatever inter-module messaging the manufacturer is using, you can act as a real module (for example, the throttle pedal) and all sorts of Bad Things are possible.
Here's a great write-up, which is also a good primer on automotive control reversing techniques for the uninitiated:
The reason is to reduce emissions. An ex-GM guy once told me that you'll produce more NOx and CO starting your car than the entire trip. The catalyst need to be hot to clean the stuff up. They probably run it rich to get more fuel into the catalytic converter to heat it.
The stuff coming out the tailpipe is orders of magnitude worse than after it's warmed up.
Its interesting to watch the other readouts like coolant temperature. How long does it REALLY take a car to warm up in the winter vs the summer and stuff like that.
I believe I have the same no-name adapter the author has, and it works well. One common discussion topic for torque users is finding a BT adapter that auto powers off when the car shuts off, so you can leave the device plugged in all the time if you want without killing the car battery.
And a final additional commentary is the community is always discussing / trading map files. So on my wife's prius if you download the special prius map file you can do deeper diagnosis and see the voltage across battery #11 or whatever which is moderately interesting, but without the map file it doesn't know how to map the additional telemetry packets into individual cell voltages or whatever. Google will help. Not all cars have enhanced mapping data of course.
How does that work? I had to Google it, and came up with this example status: http://www.obd-codes.com/p0452. It seems to be based off a fuel-tank pressure sensor. Neat.
And that's just the basic setup. Higher-end cars monitor even more.
And I downloaded EngineLink from the appstore. You connect to the sensor via Wifi (dont need to be on a wifi network, the sensor creates one that you connect to), then start up the app and you are good to go. There are many apps that will work with the sensor though, so check out a few and see which works best for your needs.
Make more sense to create your own and shoot that data to a box in the cloud for analysis? Or this already exists in some open source form?
It's my creation. :)