Estoy usando un Arduino con MCP2515 y MCP2551 para leer datos de un bus CAN sobre el OBD-II puerto de mi auto, Honda Jazz 2012 . Por lo que he leído en otros foros y en el wiki OBD, puedo transmitir la consulta PID al motor a través de CAN ID 0x7DF y debería recibir los datos en 0x78E.
Estoy transmitiendo los datos en el formato descrito en la wiki:
Number of bytes|01|PID|0|0|0|0|0
Los datos que estoy recibiendo no contienen datos de CAN ID 0x78E o cualquier ID cercana. Además, incluso si no estoy enviando datos al bus CAN, sigo recibiendo los datos, por lo que al intentar eliminar el ruido, parece que todas las identificaciones de CAN se emiten todo el tiempo.
Entonces, probé algunos STN1110, intérprete OBD-a-UART, e intenté aprovechar la conexión entre STN y la ECU del automóvil. Parece que el STN tiene un ID CAN de 0x18DB33F1 y la ECU está transmitiendo los datos consultados a través de CAN ID 0x18DAF110. He puesto algunos de los datos aquí: enlace .
- ¿Debo asignar a mi circuito una identificación manualmente? Creo que se hace automáticamente, de lo contrario no obtendré ningún dato.
- ¿Cómo interpreto estos datos? ¿Hay alguna forma o simplemente tendré que leer más datos y darle sentido, eliminando el ruido poco a poco?
He leído que hay una puerta de enlace entre el puerto OBD y el bus CAN, por lo que para acceder a los datos desde el bus, necesitaré pasar la puerta de enlace. ¿Cómo?