Howto get from RAW analyzis data to command (code, mode, header,...) --> Nissan Leaf

Hi,

I used the autopi analyzer to collect data on my Nissan Leaf (2016).
The anaylzer records the following row every couple of seconds:
5c5#40004bd7000c0000

This data contains the odometer value of my car. 4bd7 is exactly the value of the odometer. How can I create a command in the library to log this message? Whats the code, mode, header? I tried several different commands in the terminal?
e.g.
obd.query bitbullOdometer mode=5 pid=C5 header=7DF unit=km baudrate=500000 protocol=6 verify=false force=true

kind regards
Thomas

1 Like

Hi Thomas

Currently the Library only supports PID’s by request/response, so if you have a PID that you can use to query the information, that can be done from the library, but it does’t support broadcasted messaged on the bus right now.

We unfortunately had to push that feature to a later release due to time restrictions.
We are working on the next release that will support this.

Best regards
/Malte

Hi Ludi,
Have you been able to workout Autopi with Nissan Leaf ? Im still struggling and the CAN Analyzer dose not outputs any data in any protocol. wondering how it worked for you?

Hi @Pratik_Moitra,

I reconfigured the AutoPi to send all received messages to an test server. At the test server I stored the received messages in a database. As I can remember the odometer value is stored in the database. But I am not sure, its more than one year ago.

Maybe the new library is able to handle broadcasted messaged.

Kind regards
Ludi

Hi @Ludi
Thank for letting me know. Actually for some strange reason im unable to use any CAN bus protocol with any combination of Baudrate, hence unable to do sniffing as well. But it looks like you are able to receive CAN data through some protocol. if possible can you share a video with demonstrating the data ?
Thanks.

I had a once similar problem. I fixed the problem by creating a new vehicle (settings->vehicles) and use the auto-detect (CAN Buses) function.

@Ludi Tried That as well… no luck. This is what i did -
Created a New Vehical profile > Used this profile in the on Device Settings > Deleted the old Vehicle Profile > conneted (ssh) to Autopi and rebooted > Tried the sniffing again for all protocol. - No luck :disappointed_relieved: :tired_face:
I’m not sure if the OBD2 hat chipset is able to communicate properly with the vehicle OBD2 port. But at the same time Vicar OBD2 dongle works nicely with LeafSpyPro - So this is not an issue at the CAR end. - Can you post the protocol your Autopi is using from the settings > vehicle > Can Bus Field ? Also do you know the files in use inside the raspberrypi for the OBD2 Chipset ? i can anyway access the ssh remotely so might try out some OBD2 chipset tweakes and then try again.
AutoPi.io Cloud Terminal - Use with caution. Type β€˜help’ for help.

Use β€˜ctrl+r’ for reverse-i-search. Use β€˜ctrl+c’ to cancel a request.

pratik@AutopiPratik $ obd.dump protocol=A duration=1

_stamp: β€˜2020-09-01T09:10:42.982451’

data: []

pratik@AutopiPratik $ obd.dump protocol=1 duration=1

_stamp: β€˜2020-09-01T09:10:50.777823’

data: []

pratik@AutopiPratik $ obd.dump protocol=2 duration=1

_stamp: β€˜2020-09-01T09:10:57.005993’

data: []

pratik@AutopiPratik $ obd.dump protocol=3 duration=1

_stamp: β€˜2020-09-01T09:11:06.275105’

data: []

pratik@AutopiPratik $ obd.dump protocol=4 duration=1

_stamp: β€˜2020-09-01T09:11:16.700074’

data: []

pratik@AutopiPratik $ obd.dump protocol=5 duration=1

_stamp: β€˜2020-09-01T09:11:25.346676’

data: []

pratik@AutopiPratik $ obd.dump protocol=6 duration=1

_stamp: β€˜2020-09-01T09:11:36.387693’

data: []

pratik@AutopiPratik $ obd.dump protocol=7 duration=1

_stamp: β€˜2020-09-01T09:12:02.668362’

data: []

pratik@AutopiPratik $ obd.dump protocol=8 duration=1

_stamp: β€˜2020-09-01T09:12:09.965988’

data: []

pratik@AutopiPratik $ obd.dump protocol=9 duration=1

_stamp: β€˜2020-09-01T09:12:17.475533’

data: []

pratik@AutopiPratik $ obd.dump protocol=11 duration=1

_stamp: β€˜2020-09-01T09:12:24.456990’

data: []

pratik@AutopiPratik $ obd.dump protocol=12 duration=1

_stamp: β€˜2020-09-01T09:12:45.315223’

data: []

pratik@AutopiPratik $ obd.dump protocol=21 duration=1

_stamp: β€˜2020-09-01T09:12:51.983914’

data: []

pratik@AutopiPratik $ obd.dump protocol=22 duration=1

_stamp: β€˜2020-09-01T09:13:13.588036’

data: []

pratik@AutopiPratik $ obd.dump protocol=22 duration=1

_stamp: β€˜2020-09-01T09:13:18.782869’

data: []

pratik@AutopiPratik $ obd.dump protocol=23 duration=1

_stamp: β€˜2020-09-01T09:13:26.462476’

data: []

pratik@AutopiPratik $ obd.dump protocol=24 duration=1

_stamp: β€˜2020-09-01T09:13:33.681898’

data: []

pratik@AutopiPratik $ obd.dump protocol=25 duration=1

_stamp: β€˜2020-09-01T09:13:43.223486’

data: []

pratik@AutopiPratik $ obd.dump protocol=31 duration=1

_stamp: β€˜2020-09-01T09:14:03.848491’

data: []

pratik@AutopiPratik $ obd.dump protocol=32 duration=1

_stamp: β€˜2020-09-01T09:14:11.598223’

data: []

pratik@AutopiPratik $ obd.dump protocol=33 duration=1

_stamp: β€˜2020-09-01T09:14:19.157107’

data: []

pratik@AutopiPratik $ obd.dump protocol=34 duration=1

_stamp: β€˜2020-09-01T09:14:26.476224’

data: []

pratik@AutopiPratik $ obd.dump protocol=35 duration=1

_stamp: β€˜2020-09-01T09:15:49.592054’

data: []

pratik@AutopiPratik $ obd.dump protocol=36 duration=1

_stamp: β€˜2020-09-01T09:16:06.252735’

data: []

pratik@AutopiPratik $ obd.dump protocol=41 duration=1

_stamp: β€˜2020-09-01T09:16:25.229674’

data: []

pratik@AutopiPratik $ obd.dump protocol=42 duration=1

_stamp: β€˜2020-09-01T09:16:33.886570’

data: []

pratik@AutopiPratik $ obd.dump protocol=51 duration=1

_stamp: β€˜2020-09-01T09:16:44.379842’

data: []

pratik@AutopiPratik $ obd.dump protocol=52 duration=1

Operation interrupted by a received RS232 character

pratik@AutopiPratik $ obd.dump protocol=52 duration=1

_stamp: β€˜2020-09-01T09:18:08.206260’

data: []

pratik@AutopiPratik $ obd.dump protocol=53 duration=1

_stamp: β€˜2020-09-01T09:18:31.596092’

data: []

pratik@AutopiPratik $ obd.dump protocol=54 duration=1

_stamp: β€˜2020-09-01T09:19:03.340166’

data: []

pratik@AutopiPratik $ obd.dump protocol=55 duration=1

Unsupported protocol specified

pratik@AutopiPratik $ obd.dump protocol=61 duration=1

_stamp: β€˜2020-09-01T09:22:18.118336’

data: []

pratik@AutopiPratik $ obd.dump protocol=62 duration=1

_stamp: β€˜2020-09-01T09:22:25.916776’

data: []

pratik@AutopiPratik $ obd.dump protocol=63 duration=1

_stamp: β€˜2020-09-01T09:22:44.080688’

data: []

pratik@AutopiPratik $ obd.dump protocol=64 duration=1

_stamp: β€˜2020-09-01T09:22:52.561790’

data: []

pratik@AutopiPratik $ obd.dump protocol=A duration=1

_stamp: β€˜2020-09-01T09:23:14.412350’

data: []

pratik@AutopiPratik $ obd.dump protocol=1 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜1’

pratik@AutopiPratik $ obd.dump protocol=2 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜2’

pratik@AutopiPratik $ obd.dump protocol=3 verify=true duration=1

Unable to verify connectivity of protocol β€˜3’: Invalid non-hex response

: BUS

INIT: …

pratik@AutopiPratik $ obd.dump protocol=3 verify=true duration=1

Unable to verify connectivity of protocol β€˜3’: Invalid non-hex response

: BUS

INIT: …

pratik@AutopiPratik $ obd.dump protocol=4 verify=true duration=1

Unable to verify connectivity of protocol β€˜4’: Invalid non-hex response

: BUS

INIT: …

pratik@AutopiPratik $ obd.dump protocol=5 verify=true duration=1

'Unable to verify connectivity of protocol β€˜β€˜5’’: CAN sending or receivi

ng failed’

pratik@AutopiPratik $ obd.dump protocol=6 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜6’

pratik@AutopiPratik $ obd.dump protocol=7 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜7’

pratik@AutopiPratik $ obd.dump protocol=8 verify=true duration=1

'Unable to verify connectivity of protocol β€˜β€˜8’’: CAN sending or receivi

ng failed’

pratik@AutopiPratik $ obd.dump protocol=9 verify=true duration=1

'Unable to verify connectivity of protocol β€˜β€˜9’’: CAN sending or receivi

ng failed’

pratik@AutopiPratik $ obd.dump protocol=11 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜11’

pratik@AutopiPratik $ obd.dump protocol=12 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜12’

pratik@AutopiPratik $ obd.dump protocol=21 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜21’

pratik@AutopiPratik $ obd.dump protocol=22 verify=true duration=1

Unable to verify connectivity of protocol β€˜22’: Invalid non-hex respons

e: BUS

INIT: …

pratik@AutopiPratik $ obd.dump protocol=23 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜23’

pratik@AutopiPratik $ obd.dump protocol=24 verify=true duration=1

Unable to verify connectivity of protocol β€˜24’: Invalid non-hex respons

e: BUS

INIT: …

pratik@AutopiPratik $ obd.dump protocol=25 verify=true duration=1

Unable to verify connectivity of protocol β€˜25’: Invalid non-hex respons

e: BUS

INIT:

pratik@AutopiPratik $ obd.dump protocol=31 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜31’

pratik@AutopiPratik $ obd.dump protocol=32 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜32’

pratik@AutopiPratik $ obd.dump protocol=33 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜33’

pratik@AutopiPratik $ obd.dump protocol=34 verify=true duration=1

No data received when trying to verify connectivity of protocol β€˜34’

pratik@AutopiPratik $ obd.dump protocol=35 verify=true duration=1

Unable to verify connectivity of protocol β€˜35’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=36 verify=true duration=1

Timeout has occurred

To increase timeout from the default 30, to 60 seconds: $timeout=60

pratik@AutopiPratik $ obd.dump protocol=36 verify=true duration=1

Unable to verify connectivity of protocol β€˜36’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=41 verify=true duration=1

Unable to verify connectivity of protocol β€˜41’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=42 verify=true duration=1

Unable to verify connectivity of protocol β€˜42’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=51 verify=true duration=1

Unable to verify connectivity of protocol β€˜51’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=52 verify=true duration=1

Unable to verify connectivity of protocol β€˜52’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=53 verify=true duration=1

Unable to verify connectivity of protocol β€˜53’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=54 verify=true duration=1

Unable to verify connectivity of protocol β€˜54’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=61 verify=true duration=1

Timeout has occurred

To increase timeout from the default 30, to 60 seconds: $timeout=60

pratik@AutopiPratik $ obd.dump protocol=61 verify=true duration=1

Unable to verify connectivity of protocol β€˜61’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=62 verify=true duration=1

Unable to verify connectivity of protocol β€˜62’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=63 verify=true duration=1

Unable to verify connectivity of protocol β€˜63’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=64 verify=true duration=1

Unable to verify connectivity of protocol β€˜64’: CAN sending or receivin

g

failed

pratik@AutopiPratik $ obd.dump protocol=A verify=true duration=1

Timeout has occurred

To increase timeout from the default 30, to 60 seconds: $timeout=60

pratik@AutopiPratik $ obd.dump protocol=A verify=true duration=1

'Unable to verify connectivity of protocol β€˜β€˜A’’: CAN sending or receivi

ng failed’
BTW, I tried the dongle in a old Ford just for the sake of testing and it did’nt worked there as well … no connection to OBD2 ports

I just saw, that you tested this with a ford, not with the nissan leaf. I only tried this with the nissan leaf.

@Ludi
I meant i also tested this with Ford, as i could not manage to get this up via Nissan Leaf.
The log mentioned are from my Nissan Leaf 2018/40 KWH whereas the images are from the testing of Ford (ForScan application). Hope it helps. :slightly_smiling_face: