182

GitHub - limiter121/esp32-obd2-emulator: Open-source OBD-II emulator based on an...

 6 years ago
source link: https://github.com/limiter121/esp32-obd2-emulator
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

ESP32 OBD-II Emulator

Open-source OBD-II emulator based on an ESP32 + CAN transceiver IC, controllable via WiFi through a simple web UI (or via API).

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

Supported protocols

  • ISO 15765-4 CAN (11 bit, 500 Kbps)

Supported modes & PIDs

Mode PID Description 0x01 0x0C RPM 0x01 0x0D Vehicle speed 0x01 0x11 Throttle position 0x09 0x02 Vehicle Identification Number (VIN)

Usage

  1. Connect to the WiFi network ESP32-OBD2 (with password 88888888)
  2. Navigate to 192.168.4.1
  3. Enjoy :)

Hardware

  • ESP32-WROOM-32
  • SN65HVD230 (or any other CAN transceiver IC)
  • Serial->USB adapter
  • Power supply (3.3V)

ESP32-WROOM-32 SN65HVD230 Schematic

Connections

  • IO 4 -> CAN RX
  • IO 5 -> CAN TX

Flash / Install (via esptool)

  1. Download the latest release binaries
  2. Flash (app, bootloader, FAT filesystem): esptool.py write_flash --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader.bin 0x10000 obd2-emu.bin 0x8000 partitions.bin 0x110000 fatfs_image.img

Build

  1. Install the Espressif IoT Development Framework
  2. Clone this repo: git clone ...
  3. (Optional) Configure: make menuconfig
  4. Build: make all
  5. Flash: make flash
  6. Build & flash FAT image: make flashfatfs

Note: You might want to change some config values, for example: serial flasher, baud rate, pins, etc.

API

PATCH /api/vehicle

  • Content-Type: x-www-form-urlencoded
  • Data:
    • name
      • speed
      • rpm
      • throttle
      • vin
    • value
  • Example (CURL): curl -XPATCH -H 'Content-Type: application/x-www-form-urlencoded' -d 'name=speed&value=50' '/api/vehicle'

Acknowledgements


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK