obd2/README.md
Nicholas Orlowsky c1cea1e488
Serialport Support
- allow communication to elm327 device via a serialport
- allow creation of elm327 device without requiring unwrap()
- added some extra documentation
- expose reset() functionality of device
- serial_comm and ftdi_comm abstractions added
2025-05-23 20:40:30 -04:00

916 B

obd2

This library provides a user-friendly interface to automatically configure an ELM327 OBD-II to UART interface through an FTDI UART to USB interface (the entire setup is easily available online as an OBD-II to USB interface), and then send commands and receive data from a vehicle.

Usage

use obd2::{commands::Obd2DataRetrieval, device::{Elm327, FTDIDevice}, Obd2};

fn main() -> Result<(), obd2::Error> {
    let mut device = Obd2::new(Elm327::new(FTDIDevice::new()?)?)?;
    println!("VIN: {}", device.get_vin()?);
    Ok(())
}

alternatively, you could use a serial port provided by your operating system such as /dev/ttyUSB0 on unix-like systems

let mut device = Obd2::new(Elm327::new(SerialPort::new("/dev/ttyUSB0")?)?)?;

See the docs for more: https://docs.rs/obd2/