Skip to content

Commit ded573e

Browse files
committed
Update README.md
1 parent ca98fbe commit ded573e

1 file changed

Lines changed: 98 additions & 1 deletion

File tree

README.md

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,101 @@
11
pyobd
22
=====
33

4-
Fixes to pyobd for modern hardware interfaces
4+
OBD-Pi:A Raspberry Pi Displaying Car Diagnostics (OBD-II) Data On An Aftermarket Head Unit
5+
6+
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.
7+
Hardware Required:
8+
9+
1. Raspberry Pi
10+
2. Aftermarket head unit (Note: Must support Auxiliary input)
11+
3. Plugable USB Bluetooth 4.0 Low Energy Micro Adapter
12+
4. 2A Car Supply / Switch or Micro USB Car Charger
13+
5. ELM327 Bluetooth Adapter or ELM327 USB Cable
14+
6. RCA cable
15+
7. Keyboard (*optional)
16+
17+
What is OBD-II?
18+
19+
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.
20+
21+
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 an SAE J1962 Diagnostic Connector, but is also known by DLC, OBD Port, or OBD connector. It has positions for 16 pins.
22+
23+
pyOBD?
24+
25+
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.
26+
27+
I took a fork of pyOBD’s software from there GitHub repository, https://github.com/peterh/pyobd, and used this as the basis for my program.
28+
29+
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 a interactive GUI.
30+
31+
Software Installation
32+
33+
Before you start you will need a working install of Raspbian with network access.
34+
35+
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!
36+
37+
Before proceeding, run:
38+
39+
sudo apt-get update
40+
41+
sudo apt-get upgrade
42+
43+
sudo apt-get autoremove
44+
45+
sudo reboot
46+
47+
Install these components using the command:
48+
49+
sudo apt-get install python-serial
50+
51+
sudo apt-get install bluetooth bluez-utils blueman
52+
53+
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev
54+
55+
sudo apt-get install git-core
56+
57+
sudo reboot
58+
59+
Next, download the OBD-Pi Software direct from GitHub (https://github.com/Pbartek/pyobd.git)
60+
61+
Or using the command:
62+
63+
cd ~
64+
65+
git clone https://github.com/Pbartek/pyobd.git
66+
67+
Vechicle Installation
68+
69+
The vehicle installation is quite simple.
70+
71+
1. Insert the USB Bluetooth dongle into the Raspberry Pi along with the SD card.
72+
73+
2. Insert the OBD-II Bluetooth adapter into the SAE J196216 (OBD Port) connector.
74+
75+
3. Connect you RCA cable to the back of your aftermarket head unit and plug the other end into your Raspberry Pi.
76+
77+
4. Install your 2A Car Supply / Switch or Micro USB Car Charger.
78+
79+
5. Finally turn your key to the ON position and navigate your head unit to Auxiliary input.
80+
81+
6. Enter your login credentials and run:
82+
startx
83+
84+
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"
85+
86+
(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.)
87+
88+
8. Open up Terminal and run:
89+
90+
cd pyobd
91+
92+
sudo su
93+
94+
python obd_gui.py
95+
96+
Use the Left and Right arrow key to cycle through the gauge display.
97+
(Note: Left and Right mouse click will also work)
98+
99+
To exit the program just press Control and C or Alt and Esc.
100+
101+
Enjoy and drive safe!

0 commit comments

Comments
 (0)