Autore Topic: APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI  (Letto 4097 volte)

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« il: 18 Giugno 2012, 17:30:37 CEST »
0
ciao ragazzi per la mia tesi devo implementare uno appl per android di diagnosi per automobili, solo che non so da dove partire.
la mia appl deve "parlare" via bluetooth con una chiavetta che usa il protocollo OBD2. Quindi per prima cosa devo riuscire a capire come la mia appl possa comunicare con la chiavetta e come funziona il protocollo OBD2. Accetto qualsiasi consiglio e link che mi possa aiutare :(

Offline Cromir

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    CromEth
  • Sistema operativo:
    Windows 7 / Windows 8
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #1 il: 18 Giugno 2012, 17:49:14 CEST »
0
Ciao,

devo fare la stessa identica tesi...ho comprato l'apparecchio che via bluetooth spedisce i dati, il problema è che non sono ancora riuscito a trovare una specifica del protocollo...ed ovviamente l'app Torque non è open source.. :D

Magari mandami un messaggio in pvt con la tua mail che ci teniamo in contatto su eventuali sviluppi.. :)

Offline Defkon1

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #2 il: 18 Giugno 2012, 18:01:56 CEST »
0
OBD2 è una serie di regole che stabiliscono una standardizzazione per eventuali protocolli che vogliono essere compatibili:

Citazione
An OBD2 compliant vehicle can use any of the five communication protocols: SAE J1850 PWM, SAE J1850 VPW, ISO9141-2, ISO14230-4 (KWP2000), and since 2003 also ISO 15765-4/SAE J2480. ELM-USB and OBDTester support all of them.

nella vostra tesi dovrete quindi partire decidendo quale/i protocollo/i volete supportare, in base anche alla marca di auto/camion che volete gestire e alla piedinatura della chiave in vostro possesso...

qualche riferimento:
- OBD2 protocols
- http://www.e-ope.ee/_download/euni_repository/file/2907/OBD2_protocols.pdf
-
        Scanning OBD2 or OBD II Protocols
      - YouTube
 


ovviamente ogni produttore (GM, Fiat,...) punta ad avere propri sistemi diagnostici con propri sistemi, in modo da lucrare anche lì (vedi Fiat ECU Scanner o il Bosch Esi[tronic]) e poter definire funzionalità anche fuori specifiche standard... il tutto ovviamente senza pubblicare uno straccio di documentazione per sviluppatori...

buona fortuna!

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #4 il: 18 Giugno 2012, 18:13:14 CEST »
0
grazie undead! quello che mi hai linkato è una libreria che implementa le api per obd2 ! favoloso... sec te posso usarla per l amia tesi o devo implementare tutto da solo ?

Offline Cromir

  • Nuovo arrivato
  • *
  • Post: 12
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    CromEth
  • Sistema operativo:
    Windows 7 / Windows 8
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #5 il: 18 Giugno 2012, 18:20:19 CEST »
0

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #6 il: 18 Giugno 2012, 18:21:39 CEST »
0
Eh è una domanda non facile.  Dipende che dice il professore. ;-)

Nel senso che sicuramente anhe usando una libreria devi farti la tua app con tanto di interfaccia e tutto il resto. In più devi comunque fare dei test, magari adattare qualcosa, etc. Bisognerebbe capire se lo scopo principale è fare una app android o implementare una specifica.

Secondo me visto che si tratta di specifiche non è che varino più di tanto! Quella è e quella rimane.

La cosa migliore è utilizzare la libreria come riferimento, magari prendendo i pezzi che ti servono e modificandoli secondo i tuoi bisogni.  ;-)


Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #7 il: 18 Giugno 2012, 18:25:49 CEST »
0
io credo il fine sia l applicazione per android.
mi preoccupava dover implementare da 0 le api di OBD2.. credo che utilizzero queste librerie magari personalizzandole .
un altra cosa che mi fa paura della mia tesi è dover implementare i widget da usare ( tachimetro, ecc vedi figura http://www.androidiani.com/applicazioni/android-come-cruscotto-obd2-83898 ) ... sarà un casino ...  puoi darmi qualche consiglioa riguiardo ?

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #8 il: 18 Giugno 2012, 18:26:13 CEST »
0

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #9 il: 18 Giugno 2012, 18:33:38 CEST »
0
io credo il fine sia l applicazione per android.
mi preoccupava dover implementare da 0 le api di OBD2.. credo che utilizzero queste librerie magari personalizzandole .
un altra cosa che mi fa paura della mia tesi è dover implementare i widget da usare ( tachimetro, ecc vedi figura http://www.androidiani.com/applicazioni/android-come-cruscotto-obd2-83898 ) ... sarà un casino ...  puoi darmi qualche consiglioa riguiardo ?
Siamo OT, ci sono decine e decine di thread sugli widget.

Per non appesantire la discussione finendo a parlare degli widget ti do giusto qualche diritta:
- se hai bisogno di leggere dati in background anche col telefono in standby (ma potrebbe non servirti) occhio a due cose: wake lock e alarmmanager.
- il wake lock tiene "sveglio" il device, l'alarm manager permette di lanciare operazioni anche a telefono spento.
- in linea di principio crei un servizio in background, richiami il servizio con l'alarm manager attraverso un broadcast e poi da lì fai quello che vuoi
- occhio che in ICS connessione e accesso al filesystem non sono permessi nel thread della UI, quindi devi usare per esempio un asynctask. L'asynctask gira su un altro thread quindi in quello puoi fare le tue operazioni
- nella funzione dell'asynctask chiamata dopo che l'asynctask ha finito il proprio task sei nel thread della UI e da lì puoi aggiornarti il widget.

Purtroppo di default gli widget si aggiornano con intervalli di tempo "lunghissimi".

 :-)

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #10 il: 19 Giugno 2012, 10:25:54 CEST »
0
sto studiandomi le api del bluetooth ... e diciamo c è sempre un lato client e un lato server nella comunicazione... io devo implementare solo il lato client ? ovvero la chiavetta obd2 funge da lato server ?

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #11 il: 19 Giugno 2012, 10:36:53 CEST »
0
Credo, ma non vorrei sbagliarmi, che quando si parla esplicitamente di server/client bluetooth si faccia riferimento alla connessione via bluetooth tra DUE device android.

Nel caso di un device bluetooth come un auricolare da documentazione sembra che tu debba utilizzare la classe BluetoothDevice e chiamare  la funzione BluetoothDevice.createRfcommSocketToServiceRecord per creare un socket.

Ad occhio e croce il concetto è che un device bluetooth mette a disposizione dei servizi ai quali tu accedi attraverso un socket.

Quindi la risposta alla tua domanda è che nel caso di una chiavetta tu sei il client e il device è il server che ti mette a disposizione un servizio.

Almeno questo è quello che ho capito io.  :-P

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #12 il: 19 Giugno 2012, 10:47:36 CEST »
0
pero le api parlano di Bluetooth devices e non di android ... quindi in teoria dovrei riuscire a comunicare anche con un qualsiasi device bluetooth.

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #13 il: 19 Giugno 2012, 11:03:43 CEST »
0
La documentazione dice questo.

Citazione
The interface for Bluetooth Sockets is similar to that of TCP sockets: Socket and ServerSocket. On the server side, use a BluetoothServerSocket to create a listening server socket. When a connection is accepted by the BluetoothServerSocket, it will return a new BluetoothSocket to manage the connection. On the client side, use a single BluetoothSocket to both initiate an outgoing connection and to manage the connection.


Io ci leggo questo: se tu vuoi connettere due device android uno fa da server e ascolta tramite un serversocket che poi ti genera un socket mentre l'altro fa da client e usa semplicemente un socket per far "partire" e in seguito gestire la connessione al server.

Offline esoni

  • Utente junior
  • **
  • Post: 102
  • Respect: 0
    • Mostra profilo
Re:APPL CHE PARLA CON LA CHIAVE BLUETOOTH OBD2 PER AUTOMOBILI
« Risposta #14 il: 19 Giugno 2012, 11:05:48 CEST »
0
ok ma nel mio caso e in tutti i casi che bisogna connettersi cn un device via bluetooth dove non gira codice scritto da noi come si fa ?!"?"?
HELP