Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README.md #7

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ pyobd

<pre>OBD-Pi: Raspberry Pi Displaying Car Diagnostics (OBD-II) Data On An Aftermarket Head Unit

In this tutorial you will learn how to connect your Raspberry Pi to a Bluetooth OBD-II adapter and display realtime engine data to your cars aftermarket head unit.
In this tutorial you will learn how to connect your Raspberry Pi to a Bluetooth OBD-II adapter and display
realtime engine data to your cars aftermarket head unit.

Hardware Required:
1. Raspberry Pi
Expand All @@ -15,22 +16,34 @@ Hardware Required:
7. Keyboard (*optional)

What is OBD-II?
OBD stands for On-Board Diagnostics, and this standard connector has been mandated in the US since 1996. Now you can think of OBD-II as an on-board computer system that is responsible for monitoring your vehicle’s engine, transmission, and emissions control components.
OBD stands for On-Board Diagnostics, and this standard connector has been mandated in the US since 1996.
Now you can think of OBD-II as an on-board computer system that is responsible for monitoring your vehicle’s
engine, transmission, and emissions control components.

Vehicles that comply with the OBD-II standards will have a data connector within about 2 feet of the steering wheel. The OBD connector is officially called a SAE J1962 Diagnostic Connector, but is also known by DLC, OBD Port, or OBD connector. It has positions for 16 pins.
Vehicles that comply with the OBD-II standards will have a data connector within about 2 feet of the steering
wheel. The OBD connector is officially called a SAE J1962 Diagnostic Connector, but is also known by DLC, OBD
Port, or OBD connector. It has positions for 16 pins.

pyOBD?
pyOBD (aka pyOBD-II or pyOBD2) is an open source OBD-II (SAE-J1979) compliant scantool software written entirely in Python. It is designed to interface with low-cost ELM 32x OBD-II diagnostic interfaces such as ELM-USB. It will basically allow you to talk to your car's ECU, display fault codes, display measured values, read status tests, etc.
pyOBD (aka pyOBD-II or pyOBD2) is an open source OBD-II (SAE-J1979) compliant scantool software written
entirely in Python. It is designed to interface with low-cost ELM 32x OBD-II diagnostic interfaces such
as ELM-USB. It will basically allow you to talk to your car's ECU, display fault codes, display measured
values, read status tests, etc.

I took a fork of pyOBD’s software from their GitHub repository, https://github.com/peterh/pyobd, and used this as the basis for my program.
I took a fork of pyOBD’s software from their GitHub repository, https://github.com/peterh/pyobd, and used
this as the basis for my program.

The program will connect through the OBD-II interface, display the gauges available dependent on the
particular vehicle and display realtime engine data to the cars aftermarket head unit in an interactive GUI.

The program will connect through the OBD-II interface, display the gauges available dependent on the particular vehicle and display realtime engine data to the cars aftermarket head unit in an interactive GUI.
Software Installation
Before you start you will need a working install of Raspbian with network access.

We'll be doing this from a console cable connection, but you can just as easily do it from the direct HDMI/TV console or by SSH'ing in. Whatever gets you to a shell will work!
We'll be doing this from a console cable connection, but you can just as easily do it from the direct
HDMI/TV console or by SSH-ing in. Whatever gets you to a shell will work!

Note: For the following command line instructions, do not type the '#', that is only to indicate that it is a command to enter.
Note: For the following command line instructions, do not type the '#', that is only to indicate that it
is a command to enter.

Before proceeding, run:
# sudo apt-get update
Expand Down Expand Up @@ -58,7 +71,8 @@ The vehicle installation is quite simple.

2. Insert the OBD-II Bluetooth adapter into the SAE J196216 (OBD Port) connector.

3. Connect you RCA cable to the back of your aftermarket head unit and plug the other end into your Raspberry Pi.
3. Connect you RCA cable to the back of your aftermarket head unit and plug the other end into your
Raspberry Pi.

4. Install your 2A Car Supply / Switch or Micro USB Car Charger.

Expand All @@ -67,9 +81,11 @@ The vehicle installation is quite simple.
6. Enter your login credentials and run:
# startx

7. Launch BlueZ, the Bluetooth stack for Linux. Pair + Trust your ELM327 Bluetooth Adapter and Connect To: SPP Dev. You should see the Notification "Serial port connected to /dev/rfcomm0"
7. Launch BlueZ, the Bluetooth stack for Linux. Pair + Trust your ELM327 Bluetooth Adapter and
Connect To: SPP Dev. You should see the Notification "Serial port connected to /dev/rfcomm0"

Note: Click the Bluetooth icon, bottom right (Desktop) to configure your device. Right click on your Bluetooth device to bring up Connect To: SPP Dev.
Note: Click the Bluetooth icon, bottom right (Desktop) to configure your device. Right click
on your Bluetooth device to bring up Connect To: SPP Dev.

8. Open up Terminal and run:
# cd pyobd-pi
Expand Down