¿Cómo hacen los softwares OBD-ll?

Descargo de responsabilidad: soy el desarrollador principal detrás del popular software OBD2 llamado OBD Auto Doctor.

SAE es la organización que especifica cómo funcionan los sistemas OBD. El estándar SAE J1979 especifica la comunicación entre el sistema OBD del vehículo y el equipo de prueba. Los fabricantes de automóviles siguen el estándar J1979 cuando implementan la funcionalidad relacionada con las emisiones en los automóviles. Por lo tanto, puede esperar que cada automóvil compatible con OBD-II siga este estándar.

Como desarrollador de aplicaciones OBD2, necesita el mismo estándar J1979 para saber cómo comunicarse con los automóviles. El documento define los mensajes de solicitud y respuesta junto con otra información. Envía una solicitud al automóvil y recibe una respuesta. Ambos mensajes son solo datos simples, pero con el J1979 puede definir el significado del contenido.

Si desarrolla una aplicación OBD2, debe usar un adaptador por separado. No puede conectarse directamente al bus del vehículo. Los adaptadores más populares contienen el chip ELM327. Estos adaptadores actúan como un puente entre el software OBD y el bus del vehículo. Los adaptadores tienen diferentes opciones de conectividad: puerto serie, USB, Bluetooth, WiFi. El software OBD se conecta primero al adaptador. Luego, el software envía mensajes al adaptador que los entrega al automóvil. Después de que el automóvil envía un mensaje de respuesta, el adaptador devuelve la respuesta al software OBD. Después de interpretar el mensaje, el software puede mostrar los resultados para el usuario final.

El chip ELM327 tiene una API bien documentada para la comunicación. La API tiene varios defectos en mi opinión. No está diseñado para una comunicación robusta de máquina a máquina, sino para la interacción humana. Como desarrollador de software, debe superar estos problemas.

El desarrollo de software OBD es una tarea exigente y compleja. Requiere una comprensión profunda de cómo funcionan los sistemas. He visto muchas aplicaciones gratuitas que simplemente te dan información incorrecta. Creo que es porque los desarrolladores no tienen acceso a los últimos estándares o no entienden completamente los sistemas.

More Interesting

¿Qué es la pérdida de confrontación en el aprendizaje automático?

¿Las bases de datos noSQL o relacionales (SQL) son mejores para las startups de finTech?

¿Por qué todas las distribuciones de Linux tienen Python preinstalado y no C / C ++?

¿Cómo deberíamos pensar en el aprendizaje automático y la IA? ¿Qué tan útil es la prueba de Turing?

Cómo pedirle a un desarrollador senior que aprenda Git correctamente, ya que siempre confirma el código directamente en la rama maestra

He desarrollado mucho interés orientado a la investigación en física cuántica y ciencias de la computación / ciencia computacional, pero estoy buscando un BE en CSE de alguna universidad baja. No lo he intentado para IISC / IIST / IIT. Ahora me arrepiento de mi decisión. ¿Puedo hacer algo de justicia con mis intereses en este momento?

¿Cuáles son los beneficios de Cloud9?

La inteligencia artificial y la robótica están progresando a un ritmo cada vez mayor. ¿Qué debe hacerse para la fuerza laboral desplazada?

¿Qué algoritmo de agrupamiento es capaz de satisfacer las 3 V de Big Data?

¿Cuáles serán los efectos de la inteligencia artificial en los mercados de valores?

¿Cómo aprender sobre aprendizaje automático versus ciencia de datos versus inteligencia artificial versus redes neuronales versus procesamiento de lenguaje natural? ¿Cómo difieren y qué conjunto de habilidades necesito para dominarlos?

¿Cuáles son algunas tecnologías similares similares a los solucionadores de satélites?

Cómo deshabilitar el ping a un enrutador

¿Qué algoritmos se utilizan para hacer herramientas bioinformáticas?

¿Qué pasa si usando una máquina del tiempo, dejo un teléfono inteligente nuevo el 1 de enero de cada año a partir de 1950? ¿Cuál es el primer año en que ese teléfono puede ser diseñado con ingeniería inversa antes del 31 de diciembre?