ConveyOS is a project idea I had with a few focus points:
- A “computer in the car” solution that didnt have to come from a dealership with all their “lockdowns”.
- Bring “intelligence” to a vehicle
- A chance for me to learn Python and expand the uses for my Raspberry Pi.
Whats Parts Did I Use?
The First part was of course a raspberry Pi. For this project I needed a device capable of both Bluetooth and WIFI. The new Raspberry Pi 3 comes with onboard chips for both protocols which is great as I wont have to use a USB dongle for them! You can find more and purchase a Raspberry Pi 3 here: https://www.adafruit.com/products/3055
Next I wanted to incorporate the data from the Vehicles Computer into the mix. This meant I needed access to the data. Luckily all american vehicles since 1996 support a connector to their computer called OBDII. So I found a device which can connect my Pi to the Cars Computer. The OBDII Scanner comes in two forms, USB and Bluetooth. Initially for testing and reliabiliity I went with the USB, but the bluetooth will definitely be cleaner in a finished project!
To make them talk, someone has written a very handy python library! Check out the awesome code base for pyOBDII! You can find the git page here: https://github.com/peterh/pyobd
Next I wanted a nice display, I could have gone with a small touch screen but I wanted something that is easy to read and alittle more familiar to the automotive world. Luckily I found a great 7-inch LCD Touchscreen! This thing is pretty great! Not only is it able to be a touch interface for the Pi, but in the proper configuration you can actually power the Raspberry Pi from the power for the Touchscreen. (This works great but for this project I had already planned on powering them both independently). Take a look here: https://www.raspberrypi.org/blog/the-eagerly-awaited-raspberry-pi-display/
As you can see, an added bonus is that the touchscreen has a mounting set for the PI to mount directly to it!!! This means it’s all neat and contained, no hanging parts! Very Slick! You may also noticed the screen is not using the HDMI out, but rather the on board display connector! This leaves HDMI Available for a secondary display or other purpose!
Next I wanted to make sure the devices could “gracefully” shutdown so I needed a battery backup solution that would allow that. I went with a mobile device charger. This would supply 2 USB hookups with the needed juice! Check it out (You can find these all over at any electronics store)
So let’s talk about the setup and config. Firstly I downloaded and updated all the needed repository libraries for the components (See their pages for packages). Next I wanted to add some “Fun” for the passengers so I install the “KODI” software. This would easily play music and video from the PI, so now I had the entertainment pieces out of the way, I got to work on the vehicle interaction. This involved getting the python pyOBDII Library running. This was pretty handy, they really make it easy! With a simple symlink I was up and running with a handy icon right on the desktop! They provide a tool for configuring the library and displaying “bulk” data. However they also supply a script to get started on the graphical display if you want to get fancy (more on this later!)
Here are some screen shots of the ConveyOS in Action!!!