182
GitHub - limiter121/esp32-obd2-emulator: Open-source OBD-II emulator based on an...
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).
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
- Connect to the WiFi network
ESP32-OBD2
(with password88888888
) - Navigate to
192.168.4.1
- Enjoy :)
Hardware
- ESP32-WROOM-32
- SN65HVD230 (or any other CAN transceiver IC)
- Serial->USB adapter
- Power supply (3.3V)
Connections
- IO 4 -> CAN RX
- IO 5 -> CAN TX
Flash / Install (via esptool)
- Download the latest release binaries
- 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
- Install the Espressif IoT Development Framework
- Clone this repo:
git clone ...
- (Optional) Configure:
make menuconfig
- Build:
make all
- Flash:
make flash
- 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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK