2012-09-01 15 views
5

Tengo que hacer una aplicación Android que lea el valor a través de Bluetooth desde un dispositivo Bluetooth conectado al puerto OBD-II de un automóvil.Cómo tener múltiples conexiones a un solo dispositivo Bluetooth Obd2 conectado al automóvil

Uso el UUID SPP UUID 00001101-0000-1000-8000-00805F9B34FB.

Si creo 4 hilos que desean conectarse al dispositivo OBD-II, 3 connect() s fallan y solo un hilo puede conectarse al dispositivo.

¿Hay alguna forma de conectar más hilos a un dispositivo OBD-II a través de Bluetooth?

No sé si el dispositivo elm-237 es capaz de comunicarse con más hilos.

+0

@Alice, por favor absténgase de agregar el 'formato de código' aleatorio', reduce la legibilidad. – Charles

Respuesta

7

No soy un experto en OBD/OBD-II, pero sé un poco en puertos serie.

En realidad, lo que ves no me sorprende en absoluto. Los dispositivos de puerto serie generalmente deben operar en modo exclusivo, por lo que solo un actor puede hablar con ellos en un único momento. No tiene sentido crear múltiples hilos para eso, esto no hará que su puerto serial "hable más rápido", ¡ni hará que el dispositivo externo (chip OBD) responda más rápido! Esto no es una red! Para hablar con varios dispositivos en paralelo, necesitaría tener varios cables reales y probablemente también varios chips.

ELM327 es el dispositivo en su cable OBD-2. Media la comunicación entre los chips en el automóvil y su puerto USB y expone un puerto serial virtual sobre el bus USB. Nunca escuché acerca de ningún clon ELM327 con Bluetooth, pero sé que hay adaptadores Bluetooth OBD-II. El último que vi costó aproximadamente $ 2000, ya que venía con un gran software de diagnóstico y base de datos de piezas de auto (huelga: ver comentarios) y por supuesto trabajó sin cables. Pero creo que todavía proporcionaría solo 1 puerto serial virtual para hablar con 1 dispositivo.

+0

por lo que la única forma es un solo hilo y solicitud/respuesta única por tiempo? – esoni

+0

Sí, creo que esta es la única manera. En http://en.wikipedia.org/wiki/Onboard_diagnostics no se menciona la multiplexación de la conexión, solo menciona la resolución de colisión multimaestro, lo que es muy diferente. Además, acabo de encontrar un ELM327 + Bluetooth sin paquete de software especializado, y es bastante barato: http://www.amazon.com/Soliport-Bluetooth-OBDII-Diagnostic-Scanner/dp/B004KL0I9I pero esto será como de costumbre tomar todo el puerto OBD y exponer 1 serie ... simplemente no hay cables. – quetzalcoatl

Cuestiones relacionadas