[Smartphone] --> [Cloud Server] --> [Raspberry Pi with DS150E] --> [Car OBD] The Pi runs a Python Flask server that maps HTTP endpoints to diagnostic commands:
return 0;
// 4. Connect to CAN (500kbps) config.ProtocolID = CAN_500KBPS; config.Flags = CAN_ID_11_BIT; pConnect(deviceId, config, &channelId);
// 3. Open device pOpen(NULL, &deviceId);
// 2. Get functions PT_OPEN pOpen = (PT_OPEN)GetProcAddress(hDll, "PassThruOpen"); PT_CONNECT pConnect = (PT_CONNECT)GetProcAddress(hDll, "PassThruConnect");
@app.route('/api/read/<pid>') def read_pid(pid): ser = serial.Serial('/dev/ttyUSB0', 115200) ser.write(b'\x68\x6A\x02\x01' + bytes([int(pid, 16)])) response = ser.read(20) return 'value': response.hex() This is the foundation of commercial telematics solutions, achievable with a $40 DS150E clone and open-source tools. Programming the Delphi DS150E goes far beyond clicking buttons in its GUI. Whether you are writing C++ J2534 applications, automating with Python serial scripts, or extending the built-in VBScript engine, the DS150E offers a surprisingly flexible platform for vehicle diagnostics.
// 1. Load J2534 DLL from DS150E installation folder HINSTANCE hDll = LoadLibrary(L"C:\\Delphi_DS150E\\CDP_J2534.dll");