0% found this document useful (0 votes)
136 views12 pages

Connected OBD2 Tool

An OBD 2 tool was connected to a Raspberry Pi 3 to gather vehicle data. Python modules were used to communicate with the OBD 2 port, save the data to a CSV file, and display a user interface. The data was sent to AWS and a remote user interface was created to access the updated data files and display statistics and graphs. Potential improvements include supporting more vehicles, additional error scanning, and adjusting the interface based on screen size.

Uploaded by

Stacy Willson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
136 views12 pages

Connected OBD2 Tool

An OBD 2 tool was connected to a Raspberry Pi 3 to gather vehicle data. Python modules were used to communicate with the OBD 2 port, save the data to a CSV file, and display a user interface. The data was sent to AWS and a remote user interface was created to access the updated data files and display statistics and graphs. Potential improvements include supporting more vehicles, additional error scanning, and adjusting the interface based on screen size.

Uploaded by

Stacy Willson
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

OBD 2 Raspberry pi 3

CONNECTED OBD 2 TOOL


STACY ALEXANDER
OVERVIEW

▪ Hardware
▪ OBD 2
Communication
▪ Mediator Module
▪ Device User
Interface
▪ AWS Connection
▪ Desktop User
Interface
OBD 2 COMMUNICATION CODE
Existing Python
Modules Used: • Scan Serial Ports and save to list
• obd Connect • Connect to first Serial Port in the list.
• csv
• time

• Connected – Create/Append a
Create Data CSV file
File • Not Connected – Create Error
File and Exit.

Start Update • Start Query


Cycle for Data
Get
Manufacturer
OBD 2
Check for
misfires
Get Year
COMMUNICATION
CODE

Get Throttle Get Current


Position Speed

Get Current
Get Airflow
RPMs

Get Current
Get Time
Temperature

Get Fuel Level


OBD 2 COMMUNICATION CODE

World Manufacturer Identifier (WMI)


Subaru (US) 4S3 4S4
Ford (US) 1ZV 1F
MEDIATOR MODULE CODE

UI
MEDIATOR
OBD

SIM
DEVICE USER INTERFACE CODE EXISTING PYTHON MODULES USED:
guizero
datetime
matplotlib
numpy
os

0 1 2 34 5 6 78 9 10

4
DEVICE USER INTERFACE CODE - GRAPHING
AMAZON WEB SERVICES CODE

Existing Python
Modules Used:
▪ boto
Get Screen Size
REMOTE ACCESS USER INTERFACE CODE
Existing Python
• Connect to AWS and
Modules Used:
csv requests
Update download updated files.
• Get Screen Resolution. Set User Interface Size
PIL
pandas
guizero
time
Data • Process csv file to get
current statistics.

Size based on screen Set Image Size


resolution:
Setup • Text
Objects • Buttons
• Graphs

• INFO – Display max and


averages for selected data. Set Button Size
Start • UPDATE – Connect to AWS
and download most recent
App files (png and csv).
• EXIT – Close the app without
getting an exception.
REMOTE ACCESS USER INTERFACE CODE
▪ Add additional vehicle support –
currently only gets logo for Ford and
Subaru.
▪ Add additional scans for errors.
▪ Add additional graphing options like
Speed vs. RPM or Throttle vs. Speed.
▪ Separate the data for each individual
trip and an accumulation of all data.
▪ Automatically change
screen/button/text based on screen
resolution for device app.
▪ Additional checks for data integrity.
▪ Brightness adjustment

IMPROVEMENTS
FUTURE WORK

You might also like