Coder Social home page Coder Social logo

hoke-t / obdlive Goto Github PK

View Code? Open in Web Editor NEW
11.0 3.0 1.0 2.91 MB

Django app that visualizes OBD-II diagnostic data and DTCs communicated through a PICAN2 board on a Raspberry Pi.

License: MIT License

Python 3.00% JavaScript 87.55% CSS 4.56% HTML 3.62% Shell 0.01% C 1.26%
obd-ii can django raspberry-pi

obdlive's Introduction

OBDLive

OBDLive is a tool that uses a Raspberry Pi, PICAN2 board, and OBD-II cable to interface with a vehicle's CAN bus and visualize diagnostic data in real time. The tool can visualize data such as vehicle speed, RPM, and mass air flow rate, as well as read and reset diagnostic trouble codes (DTCs).

About the Project

This repository is the culmination of my research and final product in the Independent Study Mentorship (ISM) class that I took my senior year of high school. In short, I spent the first semester researching security in general, honing in on automobile security, and ultimately learning about CAN and the OBD-II diagnostic system on modern vehicles, and I spent the second semester developing the code which is hosted in this repo along with a presentation I gave at the local school district administration building.

OBDLive Dashboard OBDLive DTCs

There are two sections to the project: the code that runs on the Raspberry Pi itself, and the client/visualizer Django app that runs on another device (a personal computer). These are located in the pi and obdlive directiories respectively.

pi

The code that runs on the Raspberry Pi is rather simple: its sole purpose is to receive OBD-II PIDs from a client and respond with the data on the vehicle's CAN bus. In order to do this, you need:

Make sure to set the expected baud rate in canup.sh. Then, simply ssh into the pi and run ./canup.sh && ./server after connecting the PICAN2 board to the OBD-II port in a vehicle.

obdlive

Once everything on the Pi is up and running, the Django app should start up with python manage.py runserver. Be sure that the device on which the Django app is running is on the same network as the Raspberry Pi. Change the IP address in obdlive/obd/obdport.py to that of the Raspberry Pi on the local network.

Dependencies

  • Django (2.0.2)
  • Django Channels (2.0.2)

obdlive's People

Contributors

hoke-t avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

aheesh29

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.