User requires an OBD2 adapter that works reliably on Linux, offers programmatic interface (Python/Ruby) for raw data access, covers maximum OBD2 capabilities (PIDs, live data, freeze frame, DTCs), and ideally supports extended/manufacturer-specific protocols (CAN, KWP2000, ISO 9141) for building an AI diagnostic assistant.
Hey everyone, I'm building a Linux-based AI diagnostic assistant for automotive electricians. The idea is: connect an OBD2 adapter, read live data and DTCs, pipe everything into an LLM (locally or via API) to get intelligent diagnosis suggestions. I'm struggling to choose the right adapter. My requirements: - Works reliably on Linux (no proprietary drivers hell) - Covers maximum OBD2 capabilities: standard PIDs, live sensor data, freeze frame, DTC read/clear - Bonus: supports extended/manufacturer-specific protocols (CAN, KWP2000, ISO 9141) - Easy to interface programmatically — I want to read raw data in Python or Ruby, not rely on a GUI app I've looked at ELM327-based adapters (cheap clones vs quality ones like OBDLink), but I'm not sure which ones actually behave well over USB or Bluetooth on Linux without issues. **Questions:** 1. Which adapter do you recommend for serious Linux + programmatic use? (USB preferred, Bluetooth ok) 2. Are there quality differences between ELM327 clones that matter for raw data access? 3. Does anyone have experience with **python-OBD**, **pyOBD**, or **SocketCAN** for this kind of pipeline? 4. Any open-source projects that already do something like OBD2 → structured data → LLM prompt? Target hardware: standard passenger cars, mix of Japanese/Korean/European brands common in Central Asia. Thanks!