Como leer todos los datos del puerto Can-bus

Hola,

Estoy trasteando con el puerto OBDII de mi coche, y he visto algunos vídeos en el que se obtiene otra información diferente a la comun que se suelen hablar en la mayorías de foros y web (temperatura motor, rpm, km/h, etc). En el video siguiente podeis ver como de un opel astra se saca la información de la emisora de radio que esta sonando:

He visto también otro vídeo de un ford en el que se suben las ventanillas mediante arduino. Por lo que he leído, el protocolo can-bus que usa mi coche es una red donde se envían los datos con una identificación para que dispositivo va destinado ese paquete. Mi pregunta es, ¿como puedo leer todos los paquetes? y de esa forma intentar descodificar lo que trasmiten. Estoy usando un adaptador OBDII ELM327, haber si alguno me puede dar algo de información...

He visto también otro vídeo de un ford en el que se suben las ventanillas mediante arduino

Tienes el enlace para verlo.?

Hola fjramiez,

Puedes mirar esta web http://secuduino.blogspot.com
Ahi puedes ver diferentes proyectos, entre ellos subir/bajar ventanillas de un vw golf, poner mensajes en la pantalla de un ibiza, meter info en un dashboard para un simulador de juegos, OBDII, etc. Todos ellos con bus CAN y Arduino.

Espero que te sirva para aclarar tus dudas.

Saludos

Igor

1 Like

flico:
Tienes el enlace para verlo.?

Si, aqui estan:

Hola Igor;
Muchas gracias por la info, ya la había visto, pero por lo que he leído eso depende cada coche y la librería Can.h que usa no la he encontrado par echarle una ojeada. Voy a ver si puedo trastear un poco, pero seria de gran ayuda vuestros conocimiento sobre este tema.

¿Alguno a probado los ejemplos que dice Igor en algún otro coche?

Saludos

Hola,

No es genérico, cada fabricante usa diferentes mensajes... Esto no lo hice mediante acceso al bus de diagnosis del coche (OBD), si no que me conecte directamente a la red en la que las diferentes centralitas se comunican entre ellas. En el caso del grupo Volkswagen y de mi coche (GOLF MK IV) , existen 3 redes CAN y 1 diagnosis (que no es CAN). Lo que hice primero es "escuchar" en la red que estan conectados los modulos de las puertas y ver que mensajes cambiaban cuando le daba a los mandos de subir/bajar.... Una vez que saque como iban los mensajes, lo que hice es enviarlos yo en dicha red mucho más rápido que lo hace el módulo que normalmente envia dichos mensajes y de esta forma "me hacia caso".

La librería no está descargable (se entrega con el HW), pero lo más díficil e importante, que es cómo lo hice (mensajes a enviar, ID, etc) está en el repositorio que puedes ver en dicha web.
Es decir, da igual que librería CAN para Arduino estas usando, sólo tienes que adaptar el código de las funciones de enviar, recibir, etc mensajes, pero toda la "miga" la tienes publicada allí, ya que lo más díficil es sacar como van los mensajes ,que se tiene que enviar y en que identificador vienen.
Por ejemplo: SECUduino/RemoteControlRollingWindow.pde at master · IgorReal/SECUduino · GitHub

Y también hice un video auto-explicativo de como son los mensajes en dicha red y precisamente con ejemplos de cuando subes/bajas las ventanillas:

Saludos

Igor

Igor, creo que eres el creador de SECUduino no? Enhorabuena por tu trabajo, y muchas gracias por tu ayuda.

Yo lo que quería hacer es un dispositivo de control y alarma para el coche. Estoy por la parte de control, y bueno quería poner algunas funciones a mi opel astra h que no tiene. Una de ellas es cerrar las ventanillas del coche al bloquear el coche, suelo dejarlas abierta jejeje soy muy despistado. En un principio pensé hacerlo de manera básica, con un rele que me cerrara el circuito de las ventanillas como si se pulsaran los botones. Pero trasteando por Internet vi esos vídeos. Pero según me comentas Igor, la cosa es complicada y especifica, y bueno ya que dedico tiempo a esto pues me gustaría compartirlo con los demás, creo que lo voy hacer de la manera sencilla.

Pero ya por curiosidad, según dices Igor, por el puerto OBDII no podría tener el control de los dispositivos? A las lineas que te has conectado son independientes y usa el típico protocolo CAN no?

Si te das cuenta, el primer vídeo que he puesto, los datos de la radio los esta sacando del puerto de diagnosis OBDII.

Igor, ¿podrías decirme cual es el programa que has usado para ver los mensajes?

Para ver los mensajes CAN que se ven en ese video he usado un sniffer con un conversor USB<--> CAN. Esto lo podrías hacer con un Arduino + mcp2515-mcp2551, pero como dispongo de uno, pues me es más cómodo y rápido para según que cosas.

Saludos

Igor

Oye el problema para mi siempre ha sido no perder tramas ya que segun la velocidad del bus que en ford si mal no recuerdo es de 500 se hace muy dificil no perder tramas ya que la velocidad maxima que podemos manejar por puerto serial es 115 cosa que nos dificulta poder capturar todas las tramas de can bus y poder ir monitorandola serialmente.

Saludos y danos el truco estimado igor.

Hola a todos,

Estoy muy interesado en este tema, ya que ando un poco perdido con el CAN-BUS.

Estoy haciendo un proyecto que trata de obtener la información de la velocidad del CAN-BUS de un coche con Arduino, y que éste lo mande a una pantalla TFT para que la muestre.

Será algo parecido a este: Arduino CAN-Bus OBDII demo - YouTube

Pero tomando los datos directamente del CAN-BUS(sin utilizar OBD2) y utilizando una pantalla TFT-LCD de 5" con un bonito diseño

¿Que Arduino me recomendáis?. No se si con Arduino Uno o Leonardo seria suficiente o tendría que comprar Arduino Mega para el tema de la velocidad de procesamiento de datos.

¿como conectar el CAN-BUS a Arduino y sacar la información de la velocidad (solo la velocidad), del CAN-BUS a Arduino para que vaya mandando la información a la pantalla?

¿Y si quisiera sacar mas datos como la temperatura, rpm, etc. ?

Un Saludo

Hola a todos, me presento ya que soy nuevo nuevo nuevo en esto y aprovecho para saludaros.

Me ha llamado la atención el POST ya que yo voy buscando algo similar, no se si más sencillo, ya que yo no quiero interactuar con el coche (en mi caso audi), solo poder visionar la pantalla original (que quiero quitar para instalar un iPad) y hay ciertos menos de configuración que necesitaría ver de vez en cuando para el uso del coche.

Veo que este tema tiene multinivel y se puede complicar todo lo que se quiera.
Ire siguiendo el hilo ya que se ha vuelto a despertar gracias a ZMduino. Aunque si alguien me puede echar un cable estaría muy agradecido. A la vez si quereis conocer el proyecto encantado de contarlo.

Un saludo.