It’s been awhile since I last posted, but I have a new idea. I’m always fascinated with data, and I feel like just a small portion of available data in a car is actually accessible through the dashboard. Therefore, I am going to start working on a project to collect car sensor data using a Raspberry Pi.
I bought a OBDII reader several years ago, and I’d check out “Check Engine” light codes and other stuff with a laptop. However with advancing technology, I don’t see any reason why I can’t use that same reader with a Raspberry Pi and send that data to my phone for displaying. Or even to send that data into my home WiFi network to be saved for later analysis. I’ll worry about extra add-ons later.
Here’s how I’m breaking this project down (I’ll update as I complete):
- Get the reader communicating with the RPi. I currently have a Elm Scan 5 OBD scan tool, a RPi version B+, and a 2006 Toyota Highlander that I’m planning to use for this. Ideally, all of these parts will be interchangeable if you are playing along at home, but this is what I have.
- Start pulling some data off the OBDII system.
- Set up data sharing protocol. Not sure yet if this will be WiFi or Bluetooth. WiFi is probably overkill, but I could probably get it to connect directly with my home network for data collection. Bluetooth would likely be simpler for just a smartphone interface.
- Graph the data into something nice to look at. Hopefully this will be done on my smartphone (Nexus 5x).
If I get all the way through this, I think it will shower me in engine data as I drive along.
UPDATE: I have started preparing a RPi B+ with a clean Raspbian Jessie Lite image and things are going well. I did already learn a critical lesson: the Elm Scan 5 has to be plugged into the OBD port to communicate, even though the red power LED turns on with just USB. I spent an hour wondering why I couldn’t get any serial comms going in my office, only to get some data action when I took the unit outside and plugged it into the car.
My plan is to combine all these tricks I learn along the way into a new, finished post.