BirchJD / PiOBDII

ODBII graphic interface on a Raspberry Pi computer, using an ELM327 Bluetooth/USB device. Read and display engine data, OBDII Trouble Codes & Descriptions Using Python. YouTube video: https://www.youtube.com/watch?v=yTRAhubZhsU
259 stars 71 forks source link

Hi i am the guys that asking you for help on youtube. #4

Open engineer00127 opened 6 years ago

engineer00127 commented 6 years ago

this is my ELM327.py code

...

THANKS A LOT !!!

BirchJD commented 6 years ago

Why did you post a page of source code here? Turn debug on and post the exact output of the debug, then I may be able to help.

engineer00127 commented 6 years ago

oops i'm so sorry that misunderstood you. Here is the output of the debug. DEBUG SENDING [5] b'AT Z\r' DEBUG RECEIVED [13] ELM327 v2.1

DEBUG SENDING [6] b'AT E0\r' DEBUG RECEIVED [9] AT E0 OK

DEBUG SENDING [6] b'AT L0\r' DEBUG RECEIVED [3] OK

DEBUG SENDING [6] b'AT R1\r' DEBUG RECEIVED [3] OK

DEBUG SENDING [6] b'AT H0\r' DEBUG RECEIVED [3] OK

DEBUG SENDING [6] b'AT S0\r' DEBUG RECEIVED [3] OK

DEBUG SENDING [8] b'AT SP 6\r' DEBUG RECEIVED [3] OK

DEBUG SENDING [9] b'AT IB 10\r' DEBUG RECEIVED [3] OK

DEBUG SENDING [5] b'0101\r' DEBUG RECEIVED [26] 410100040000 410100000000

DEBUG SENDING [5] b'0100\r' DEBUG RECEIVED [26] 410098180013 4100983B0013

DEBUG SENDING [5] b'0120\r' DEBUG RECEIVED [26] 412080018001 4120A011A001

DEBUG SENDING [5] b'0140\r' DEBUG RECEIVED [26] 414040000000 414044C00001

DEBUG SENDING [5] b'0160\r' DEBUG RECEIVED [13] 416000000001

DEBUG SENDING [5] b'0180\r' DEBUG RECEIVED [13] 418000000001

DEBUG SENDING [5] b'01A0\r' DEBUG RECEIVED [13] 41A000000001

DEBUG SENDING [5] b'01C0\r' DEBUG RECEIVED [13] 41C000000001

DEBUG SENDING [7] b'050100\r' DEBUG RECEIVED [7] 7F0512

invalid literal for int() with base 16: '' {'BUTTON': 'EXIT', 'EVENT': 1} {'GADGIT': 'CONFIRM_EXIT', 'BUTTON': 'YES', 'EVENT': 1}

And the communication screen just show :
CONNECTING TO CAN BUS FOR OBDii COMMUNICATION ............... i try to click on the outlet to reconnect , but it just flashed several times and then stopped ! thank you !

engineer00127 commented 6 years ago

thanh sơn thái 19 giây trước More information, whilst the connection screen keep showing CONNECTING TO CAN BUS FOR OBDII COMMUNICATION... i try turning into the other function screen, let say, monitor display screen, then i pressed "GO" the RPM can increase up as well as the other monitor gauge, and when i look at the LED from ELM327, it's flashed !, both red and green led flashed. thereout, i can not do anything else.

BirchJD commented 6 years ago

For the commands that work like this: DEBUG SENDING [5] b'01C0\r' DEBUG RECEIVED [13] 41C000000001 The first part of data 01 matches the first part of the response 41, because the response should be 01 + 40 = 41.

For the command that failed: DEBUG SENDING [7] b'050100\r' DEBUG RECEIVED [7] 7F0512 The response should be 05 + 40 = 45, but you are getting 7F. The ELM device is sending back invalid data.

Does it always respond in exactly the same way in the debug data if you do it several times? If it does, then the ELM device probably has an issue. I will think if there is a way around this.

BirchJD commented 6 years ago

OK, the 050100 command, I can put in a check and resolve this issue if not enough data is returned. I will do this later today.

engineer00127 commented 6 years ago

I really don't know what to say, sorry for disturbing you all the time !

UpDownSide commented 5 years ago

my elm device crashes on: DEBUG SENDING [5] b'0101\r' any clue? i can't connect to it using minicom or screen! advice needed! :)

EddieRadarHughes commented 4 years ago

I know it's been almost 2 years since the original post, but I found these errors are still present. Maybe this will help those still experiencing the issue.

The issue I found is that many of the OBD II adapters are now returning the phrase "SEARCHING..." before supplying a valid pair of numbers for the 0101 message. I fixed this by adding the following before line 396 (which is the line that tries to use the int() function) of ELM327.py: if Response[:8]=="CHING...": Response=Response[9:]

I have 2 different bluetooth OBD II units and I tried them in two different vehicles. Although I can use a terminal program (like screen) and use AT commands to access information from each of these units, neither of them will work with Python-OBD, or with PyOBDII. Both OBD II units issue the "SEARCHING..." phrase. Fortunately the DEBUG mode of PyOBDII and a few extra print commands helped find this issue.

I now have two cars working with two different OBD II bluetooth adapters and PyOBDII.

erikdkosberg commented 3 years ago

This worked wonders for me, cheers!