Skip to content

sonole/Vehicle-Telemetry-and-Diagnosis-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Vehicle Telemetry and Diagnosis System

Arduino Nano with CANBUS, GPS, GSM modules which send data at VPS with Telematic Web Application.
This project implements getting CAN-BUS data from vehicle and combing them with GPS location.
TCP/IP takes controls of the remote packets transmission and sends via GSM packets to Remote Server.

Device for telemtry and diagnosis



The Idea

Project idea

  • The implemented system is based on wireless telemetry.
  • On the left we see the transmission system while on the right the receiving system.
  • Once the Server accepts the TCP connection, the device sends data in string format via GSM network.
  • It supports connections to GSM, CANBUS with a speed of 500kbps as well as the ability to receive GPS data.




What you need to build this project

  • for Client
    1. Arduino IDE + libraries installed
    2. Arduino Nano ATmega328
    3. GSM/GPRS Shield SIM900
    4. Ublox NEO-7M GPS Module
    5. CAN Bus Module - MCP2515
    6. Step-Down Voltage Regulator 7V 1A
    7. Step-Down Voltage Regulator 5V 3A
    8. OBD-II 16 pin male
  • for Server
    1. Docker
  • Good to have when developing
    1. Termite 2.6
    2. SocketTest3
    3. CAN Hacker 2
    4. OBD Simulator
Note: you can use Socket Test 3 to send and receive packets via GSM. For that you will need to add a port forwarind rule at your router and then create a rule at Windows Firewall to accept the packets at your port/IP.



Wiring and executing

Wiring diagram

Wire components as the diagram above.
Edit IP and Port info at line 125 of the code (remember to also inlcude libraries).
Upload code to device and then connect obd II at vehicle.

Important Notes:

In order to successfull get CAN BUS packets from vehicle you need to understand how OBD-II PIDs work and edit accordingly at code. Simple example is shown below PIDs supported
After finding what PIDs your vehicle supports, then you can start to parse packets based on PID number. Finally the packet is ready to send to remote IP (packet example below) Packet generated