Llevo con este tema en la cabeza bastante tiempo y no consigo encontrar nada por ahí.
Estoy desarrollando un software que básicamente son las pantallas de los coches estas que están en el medio pero me la estoy haciendo a gusto(Soy estudiante de programación).
En la pantalla quiero que se pueda ver la velocidad, las revoluciones, etc.
Mi GRAN problemas es que no encuentro la manera de sacar esa información del coche. He visto que la gente lo hace con un arduino pero claro su coche tiene un OBD2 que es mucho mas sencillo.
Si alguien me puede ayudar aunque sea con algo pequeño es de una enorme enorme ayuda.
Si hay otra manera que no sea con arduino me vale igualmente pero necesito los datos y poder tratarlos.
Me gustaría que este fuera mi proyecto de fin de grado y quiero que salga bien.
Tengo un Toyota Celica t20 1995 de 116 CV que se me olvidó decirlo
Estoy un poco en las mismas (acabo de acabar CFGS DAM), mi coche es OBD1 (Honda crx del sol) tambien , la diferencia es que mi ECU lleva un modulo Hondavert S300 instalado el cual es el que me da la info.
Lo que haria yo sería buscar en internet si ya hay alguien que haya conseguido extraer esos datos de tu misma ECU.
Te adjunto varios links de algunos hilos que tenia yo guardados respecto al dataloging de una P28 (centralita honda) sin usar ninguno modulo extra:
Te recomiendo leerlos por que hablan de manera general y no solo centrandose en honda.
Una vez tengas el flujo de datos, deberas de hacer un programa el cual sea capaz de leerlos, identificarlos y mostrarlos por pantalla en tiempo real. Ojo que aqui tendras que trabajar en un entorno de bajo nivel y quizas se te atragante.
Te dejo por aqui el proyecto de Hondash que es basicamente lo que tu has descrito, en este caso es especifico para centralitas Hondas con el modulo Hondata instalado, pero te puedes hacer una idea o incluso pedir ayuda a Pablo (su creador).
Muchas gracias por el curro de escribir. Había visto lo de hondash y por eso me apeteció haber el proyecto.
A ver si consigo hablar con el creador y que me eche una mano.
Los links bastante buenos eh muchas gracias. Me los voy a leer bien a ver si saco algo en conclusión.
Cómprate un conversor obd1 a obd2 y a través de los pines le sacas la info. Sé que con un arduino se puede hacer, pero yo soy programador industrial y no sé mucho de cosas “domésticas”. En yankeelandia de seguro que lo han hecho, busca por foros de honda de EEUU que al final es todo lo mismo.
Yo hice algo similar para mi Sunny. Sin OBD ni historias. Y lo mejor de todo, es open source.
Empezó siendo una centralita para controlar los solenoides del VVL pero al final metí mucho más. Esto es lo que hace:
Para eso utilicé dos Arduinos, un Mega y un Due, el segundo mucho más potente, para manejar el TFT. El código publicado es el del Mega, pero realmente el Due lo único que hacía es recibir los datos del Mega y formatearlos en la pantalla, así como guardar un histórico para el tema de los datalogs. La parte interesante es la que está publicada, la del Mega.
El código está bastante comentado, y se explican muchas cositas. Los sensores (temperaturas, presiones y eso) tendríais que ponerlos, aunque si vais a quitar el cuadro original, se podrían usar algunos de los de serie.
Las RPM las saco de la señal de encendido de la bobina de la ECU. Muchos coches japoneses de los 90 utilizaban este sistema, al cuadro va un cable desde la ECU que cada vez que se activa la bobina, se pone a masa. Si calculas el tiempo entre disparos, puedes saber las RPM. Esta todo en el código de arriba. Desconozco si tu ECU hace eso pero es posible, y si no siempre puedes buscar cual es el pin que pone a masa la bobina de verdad (no la señal que va al cuadro) y sacar la señal de ahí.
En fin, que con algo de tiempo y ganas es perfectamente plausible programarse una mini-ecu para monitorear el motor.
Es importante tener en cuenta que todas estas señales hay que filtrarlas y proteger al Arduino con hardware, el sistema eléctrico de un coche es muy hostil y puedes freír el Arduino rápidamente.
Intuyo que es un coche pre obd, en caso de tener un conector de diagnostico, algunos coches no tienen datos en tiempo real con un bus, el sunny de @Ankso por ejemplo si tiene un bus de datos con la ecu si no recuerdo mal, mientras que mi Mx3 se basa en puentear cosas para obtener datos y con el motor parado en muchos casos. Es un poco lo primero que yo indagaría, como trabaja el coche, en general todas las marcas con el manual de taller original, suelen explicar un poco que hace cada pin y cada zona de diagnostico.
Una vez tengas claro esto, atacas, si tienes un bus de datos, intenta esnifarlo antes de hacer algún interfaz, si consigues analizar los paquetes que manda ya puedes a partir de ahi recoger los datos y empaquetarlos para mandarlos de la forma que más te guste (protocolo).
Si es como el Mx3 me iría a pinchar de forma totalmente analógica a los sensores y luego a partir de ahi, el mismo sistema, empaquetar y mandar a la pi.
He conseguido el manual de taller y he estado mirando un poco pero no se exactamente detectar si tiene bus de datos en tiempo real.
Sabes de algo que pueda mirar así mas específico para saber si lo tiene?
Si es el que ha pasado @Kullman tienes k-line/l-line, con eso tendrías un bus de datos disponible para (supuestamente) información en tiempo real, depende un poco de la implememtación de Toyota y de los parámetros que pasa por ahi.
Como decía el Mx3 mío es parecido al de ese que ha pasado, pero solamente tiene los pines de diagnostico para cada cosa, que es lo que decia de que no hay bus del que puedas obtener nada.
Hay que tener en cuenta que muchas veces, estos protocolos antiguos son bastante lentos. Si solicitas un dato, la cosa no va mal, pero a veces si te pones a demandar varios al mismo tiempo, puede ir a saltos.
Ese problema lo había pensado pero como por ahora no se mi solicitaré datos es un problema de mi yo del futuro.
También esa es la cosa que no encuentro nada de cómo funciona el protocolo para pedir y sacar datos.
Alguien sabe más o menos como funciona?