P1 CAN Vehicle Data
Use P1 to read vehicle data and export it to a CSV file.
- 1x Car with OBD-II port
After connecting to P1 via SSH, run the command below to download the python program and save it to ~/scripts. (If using putty to SSH, just right click to paste!)
wget -P ~/scripts https://gist.githubusercontent.com/kenny-macchina/cf47daf663f9091460fc3454f5e38de9/raw/676f2a36f300fa8e5c9c43c05a7bc18af2479b5c/p1_data.py

Downloading the python program
Run the commands below to install the "Pip" package manager and reboot.
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
sudo reboot now

Installing Pip, curl and reboot not shown.
Run the commands below to install the python-can library and reboot.
pip install python-can
sudo reboot now

Installing python-can, reboot not shown.
First, start your car, then plug P1 into the OBD-II port and run the data collection program using the command below. (Make sure you're in the home directory beforehand by running the command "cd".) P1 will prompt for a password as the program sets up the CAN0 bus. After entering the password data collection will begin until the program is halted by pressing CTRL-C.
python scripts/p1_data.py

Terminal while data collection is running
To download the CSV file from P1, the command below can be used to host an HTTP server on the port specified, this can then be visited in a web browser (from a computer on the same LAN) and the file(s) downloaded.
python3 -m http.server 1337

Hosting the HTTP server

Retrieving the file from a browser

Vehicle and engine speed for a short drive around the block

Coolant temperature from the same test drive
Last modified 3yr ago