Skip to content

openOBD protocol

This page explains protocol implementation of openOBD. The aim is to help developers implement the openOBD protocol in their desired language. Currently, Jifeline supports the openOBD protocol implementation only in Python but the possibility exists to implement openOBD clients in a wide range of languages (1). openOBD relies on sessions as its core interaction model. This page elaborates on the implementation steps that are required to create, run and finish a session.

  1. C#/.NET,C++, Dart, Go, Java, Kotlin, Node,Objective-C, PHP, and Ruby.

openOBD setup

Session Handling
fig 1. Jifeline Networks passthrough setup

openOBD session

An openOBD session always exists in the context of a connection. By the term 'connection' we mean a connection on a server that routes OBD2 traffic to and from a remote connector (J-ReX). Figure 1 shows how an openOBD session relates to a connection, First, we would like to introduce some terminology. Figure 2 shows a timeline that visualizes how an openOBD session relates to a connection and ticket on the Jifeline infrastructure.

Session Handling
fig 2. openOBD session