2011-03-22 35 views
8

Me gustaría comenzar a codificar contra un ELM327 automotriz basado en el adaptador Bluetooth OBD-II en iOS/Objective-C. ¿Hay alguna guía/introducción sobre cómo comenzar?¿Hay una guía de programación Objective-C del adaptador OBD-II ELM327/obdkey?

Me imagino que el adaptador ELM327 es un dispositivo en serie ... Probablemente pueda averiguar cómo establecer una conexión Bluetooth con el teléfono, pero no tengo ni idea de por dónde empezar enviando/recibiendo mensajes OBD-II a/de él.

¿Hay una API preexistente para este dispositivo?

+1

Sé que han pasado más de 3 años desde que hizo esta pregunta, pero ¿llegó a algún lado con esto? Me gustaría desarrollar una aplicación de iOS que hable con un dispositivo basado en ELM327 a través de wifi y espero evitar reinventar la rueda en las comunicaciones OBD-II. – CharlesA

+1

Tengo una configuración básica de comunicación basada en wifi que funciona en este proyecto aquí, que podría servir como un punto de partida decente para cualquiera que quiera hacer esto: https://github.com/jeffmcfadden/CarDash – Jeff

Respuesta

6

Si necesita algunos comandos específicos de OBDKey, hágamelo saber. A modo de ejemplo, para acceder a los datos de RPM, emita los siguientes comandos

ATZ\r 
ATSP0\r 
0100\r 
010C\r 

Estas instrucciones se inicializar la interfaz OBDKey, establecer el protocolo de búsqueda en automático, inicializar Communcations con la gerencia del motor ECU y enviar el modo 1 PID Comando 0C para solicitar datos de velocidad del motor (RPM). El valor devuelto en respuesta al comando 010C es en realidad cuatro veces el valor real de la velocidad del motor.

El uso de sockets y transmisiones en iOS/Objective-C es la mejor manera de configurar las comunicaciones a la WLAN OBDKey (la dirección IP predeterminada es 192.168.0.74, puerto 23).

3

El dispositivo elm327 odb2 usa AT y ODB comandos.
Los comandos AT son los mismos que los que usa en los módems, siempre comienzan con AT.

Cuando los dispositivos inicializa envía

ELM327 v2.1 
> 

Si envía

ATZ

este restablecerá dispositivo y que emitirá "ELM327 v2.1" y > solicitud de nuevo.

Los comandos AT se utilizan para administrar el dispositivo elm327.

ODB comandos están en hex ascas tales como el ejemplo anterior

01 0c

para obtener el número de revoluciones o

para obtener la temperatura del refrigerante

En http://www.elmelectronics.com/obdic.html hay archivos pdf de la hoja de datos con más detalles.
También puede buscar itunes para "elm327" y obtener 2 libros gratis sobre el tema.

Estoy empezando el mismo proyecto para mi dispositivo elm327 wifi genérico, así que todavía no tengo ningún detalle.
Agregaré comentarios tan pronto como sepa algo útil.

Cuestiones relacionadas