This document is aimed at those unfamiliar with CAN bus or the reverse engineering process, it will cover some very basic and advanced concepts.
It is assumed that the reader has moderate programming knowledge and basic electronics knowledge, however, links to resources will be provided in each section for those that need additional information.
In this tutorial you will cover:What is CAN bus? The basics of an Arduino microcontroller. Basic electronics knowledge. CAN bus electronics. How to retrieve data from a vehicles CAN bus network. How to interpret data from a CAN bus network. How to build a software or hardware interface to interpret the data. Required ElectronicsTo follow this tutorials content properly, you will need several key items which are listed below. Links to online sellers are included in the equipment sources section.
You will need:A Spark fun CAN bus shield A micro SD card. A DB9 to OBD connector, for connecting to the diagnostics port of the vehicle. Arduino UNO Arduino Pin headers for soldering to the CAN shield Arduino Male to Male, Male to Female and Female to Female jumper wires. Soldering Iron and solder.Please note that you do not need the exact hardware listed, you can still use this tutorial should you use alternative hardware such as a Seeduino CAN bus shield, however, the code provided will only work with the Sparkfun shield, but can be modified for other hardware.”

Link