Python Forum
ecu CAN frame vin number
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ecu CAN frame vin number
#1
Hello,

I try to get my VIN number from my ECU of my car with my MKS Canable v1.0 (Candlelight firmware)

I get theses traces, i get only bytearray(b'\x10\x14I\x02\x01W0L'), it missed all other characters

Message1 sent on socketcan channel 'can0'
Message2 sent on socketcan channel 'can0'
Message1 sent on socketcan channel 'can0'
Message2 sent on socketcan channel 'can0'
bytearray(b'\x10\x14I\x02\x01W0L')
Message1 sent on socketcan channel 'can0'
Message2 sent on socketcan channel 'can0'
bytearray(b'\x10\x14I\x02\x01W0L')
My python code:
import usb
import can
import time

dev = usb.core.find(idVendor=0x1D50, idProduct=0x606F)

filters = [
{"can_id": 0x7E8, "can_mask": 0x1FFFFFFF, "extended": False},


]
bus = can.Bus(channel="can0", interface="socketcan", can_filters=filters,bitrate=125000)

def send_one():
	msg1 = can.Message(arbitration_id=0x7DF, data=[0x02, 0x09, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], is_extended_id=False)
	


	try:
		bus.send(msg1)

		print(f"Message1 sent on {bus.channel_info}")
		time.sleep(0.5)
		msg2 = can.Message(arbitration_id=0x7DF, data=[0x30, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], is_extended_id=False)
		bus.send(msg2)
		print(f"Message2 sent on {bus.channel_info}")
	except can.CanError:

		print("Message NOT sent")






send_one()
while True:
	send_one()
	#time.sleep(2)
	try:		
		response = bus.recv(timeout=2)
		print(response.data)
	except can.CanError:
		print("CAN error")
	
Do you know how can i resolve my problem?
My final goal is display all informations of HW from ECU.

Thank you.
Reply


Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020