OBDLink LX

From BITPlan can4eve Wiki
Revision as of 07:49, 6 September 2019 by Wf (talk | contribs) (→‎Testing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

OBDLinkLX .jpg

Connection: Bluetooth /WireLess

This device is in principle fast and supports AT STM commands. Due to the bluetooth connection the handling may get somewhat unreliable in comparison to the OBDLink SX USB cable variant

Status

indirectly supported e.g. via rfcomm or ip forwarding on linux

Identification

>AT I
ELM327 v1.3a

>AT @1
SCANTOOL.NET LLC

>STDI
OBDLink LX BT r1.2

>STI
STN1155 v4.0.0
>AT RV
13.4V

Where to Buy

As of 2017-02 the device was available via Amazon for some EUR 60 - as of 2017-08 the price is almost 100 EUR.

As of 2017-06 it is advertised for some US50 at: https://www.scantool.net/obdlink-lxbt/

Usage

Connecting to an OBDLink LX from Linux

the following was tested on a Raspberry PI

see https://www.raspberrypi.org/forums/viewtopic.php?t=214373

check connection

Bluetooth services

service bluetooth status
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset
   Active: active (running) since Thu 2019-01-24 08:51:05 CET; 3min 2s ago
     Docs: man:bluetoothd(8)
 Main PID: 849 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─849 /usr/lib/bluetooth/bluetoothd

Pairing

Pair the device using the Graphical User Interface Bluetooth button in the top right. You will not be able to connect the message is "Connection failed - No usabel services on this device". We'll work around this with some python helper software Check result with commmand line:

bluetoothctl
[NEW] Controller B8:27:EB:2E:AB:2B pito [default]
[NEW] Device 00:04:3E:9F:A3:C0 OBDLink LX
quit

Bluetooth pairing with bluetoothctl

bluetoothctl
agent on
scan on
Discovery started
...
[NEW] Device 00:04:3E:9F:A3:C0 OBDLink LX
pair 00:04:3E:9F:A3:C0
Attempting to pair with 00:04:3E:9F:A3:C0
[CHG] Device 00:04:3E:9F:A3:C0 Class: 0x020300
[CHG] Device 00:04:3E:9F:A3:C0 Icon: network-wireless
[CHG] Device 00:04:3E:9F:A3:C0 Connected: yes
Request confirmation
[agent] Confirm passkey 559460 (yes/no): yes
[CHG] Device 00:04:3E:9F:A3:C0 UUIDs:
	00001101-0000-1000-8000-00805f9b34fb
[CHG] Device 00:04:3E:9F:A3:C0 Paired: yes
Pairing successful
[CHG] Device 00:04:3E:9F:A3:C0 Trusted: yes
Changing 00:04:3E:9F:A3:C0 trust succeeded
quit

Setting up an rfcomm device

sudo rfcomm bind rfcomm0 00:04:3E:9F:A3:C0
ls -l /dev/rfcomm0
crw-rw---- 1 root dialout 216, 0 Jun 21 21:41 /dev/rfcomm0

Testing

minicom -D /dev/rfcomm0 -b 115200

Testing with a python script

python3 source/java/can4eve/scripts/obdtest.py 
>K
>LM327 v1.3a
>KE0
OK

>
ELM327 v1.3a

>
OK

>
ISO 15765-4 (CAN 11/500)

>
OK

>
OK

>
OK

>

Forwarding the OBDII Adapter via TCP/IP

There is a helper script obdii_blue available that you can use to redirect the bluetooth device to tcip/ip.

Example script call

#!/bin/bash
# WF 2019-01-24
cd $HOME/source/java/can4eve/scripts
./obdii_blue 00:04:3E:9F:A3:C0

redirect script

You can also try out the redirect directly as shown below

python source/java/can4eve/scripts/tcp_serial_redirect.py --debug -P 7000 /dev/rfcomm0 115200
--- TCP/IP to Serial redirect on /dev/rfcomm0  115200,8,N,1 ---
--- type Ctrl-C / BREAK to quit
Waiting for connection on 7000...

At this point your OBDLink LX is available via LAN - you can simply do a telnet host 7000 to the server where you ran the commands. The can4eve software can now use the bluetooth device as if it was a Wifi/LAN device

What links here

Picture

File:OBDLinkLX .jpg