can bus per auto

ciao a tutti, ho comprato questa scheda, per leggere i vari dati che escono dalla presa obd della mia macchina

https://learn.sparkfun.com/tutorials/can-bus-shield-hookup-guide/all

ora vi chiedo dove posso trovare qualche guida su come creare un programma da riuscire a leggere le varie informazioni che ci sono.
per poi scriverle su un lcd 2x 16
per scrivere non ho problemi
grazie in anticipo

Dalla pagina che hai linkato si recuperano diversi esempi.
Questo ad esempio fa tutto quello che ti serve e anche di più, quindi nel caso direi che è un ottima base per prendere spunto.
Magari per fare quello che hai in mente ti basta solo zappare via la parte del joystick e del gps.

grazie della informazione,
nel link trovo questo testo

 Canbus.ecu_req(ENGINE_RPM,buffer); //Request engine RPM	 
EngineRPM = buffer;	 
 Serial.print("Engine RPM: "); //Uncomment for Serial debugging      
Serial.println(buffer);      
delay(100);

che visualizza i giri, per avere le altre info , dove posso trovare qualche info?

Beh intanto diciamo che le auto in genere utilizzano il protocollo OBD2 quindi temo che gestire solo i messaggi del CAN-bus (ISO 15765) potrebbe non bastare. Poi le informazioni che escono da una porta OBD2 sono quasi sempre abbastanza "specifiche" ossia possono differire anche notevolmente da marca a marca e a volte anche da modello a modello, quindi devi verificare se per la tua auto sono state rilasciate le specifiche dei messaggi del bus, ed intercettarli per poterli utilizzare/mostrare.

Io ad esempio ho una Renault Zoe ZE50 e sulla porta OBD i dati sono in formato talmente diverso da quello della ZE40 e precedenti che tutti i programmi per monitorare i parametri delle Zoe (ovviamente essendo un motore elettrico i parametrisono totalmente diversi da quelli dei veicoli termici...) non vanno bene per le ZE50.

Detto questo, capisco che magari farsi da soli le cose sia divertente e/o stimolante, però non ti basterebbe prendere un normale dongle OBD2-Bluetooth in commercio e caricando sul tuo cellulare uno dei tanti programmini gratuiti per OBD2?

grazie anche a te doc doc per le tue info,
volevo evitare di usare il cellulare , ma di usare un sistema con un semplice display ed un pulsante per cambiare la visualizzazione, poi se usando un OBD2-Bluetooth vi e' la possibilita di semplificare le cose accetto consigli

Ok, capisco che sia sempre più divertente cercare di fare da sé le cose. :wink:

Però temo che per fare ciò che chiedi tu debba prima informarti almeno un poco sul CAN-bus ed il protocollo OBD2, e cercare le specifiche dei messaggi OBD2 della tua auto, tutte cose che penso qui non si possano fare.

Posso dirti che ho anche io una schedina CAN come quella, ma il mio obiettivo è più semplice in quanto volevo interfacciarmi con il mio scooter, anche quello elettrico, che non ha OBD2. Per fare questo (ma non l’ho ancora realizzato…), dato che il produttore non ha mai rilasciato i formati dei messaggi presenti sul CANbus mi sono per ora basato su un forum dove qualcuno si è preso la briga di loggare i messaggi e cercare di capire come fossero le codifiche.

In ogni caso ti posso solo consigliare di lasciar stare il semplice CANbus e vedere se QUESTA libreria OBD2 (che usa comunque la libreria CAN ovviamente) possa esserti più utile, visto che anche se in versione 0.0.0 quindi direi che sia meno che una beta, è sicuramente più specifica e forse ti evita di stare a fare reverse-engineering dei messaggi, almeno per le cose essenziali.

Io ti consiglio uno dei tanti lettori OBD BT e cellulare. Vi sono molteplici app con schermate più o meno complete che tirano fuori davvero molti dati. La pagina delle tua scheda riporta la possibilità hackerare l'auto. Per quanto ne sappia è impossibile modificare dati/settaggi con questi dispositivi che sono adatti alla sola lettura. Di solito ogni marca ha un software specifico e spesso mirato per modificare i parametri delle diverse centraline. La BMW ad esempio ha E-Sys per modificare alcuni settaggi delle ECU ma per modiche di altro genere serve altro. La FIAT/lancia/alfa molto si può fare con MES (MultiEcuScan) ma se vuoi modificare le mappe servono altri software molto più specifici e più complessi. Sottintesa la capacità di fare quanto predetto.
Spero di essere stato utile.

vince59:
Io ti consiglio uno dei tanti lettori OBD BT e cellulare.

Vedi il mio post #3:wink:

grazie a tutti delle vostre risposte, volevo evitare di usare un cellulare, e lasciare l arrocco in macchina fisso usando un lcd 2x20 o 4x20
la mia idea non e' quella di andare a scrivere ma solo leggere i dati, conosco fiat ecu scan l ho uso con il pc .
se fosse in commercio potrei anche comprare un aggeggio da interfacciare ad arduino che legge i dati , ma non credo che esiste qualcosa di gia fatto...

daniele999:
grazie a tutti delle vostre risposte, volevo evitare di usare un cellulare, e lasciare l arrocco in macchina fisso usando un lcd 2x20 o 4x20

Ma a che ti serve? Quando l'auto è spenta non esce mica nulla dalla porta OBD2, neanche l'alimentazione...

potrei anche comprare un aggeggio da interfacciare ad arduino che legge i dati , ma non credo che esiste qualcosa di gia fatto...

Bah se vuoi comunque giocare con Arduino, al posto tuo per maggiore semplicità proverei ad usare un dongle Bluetooth OBD2 e quindi su Arduino usare un normale HC-05 per Arduino invece dello shield (che poi diventa difficile da connettere alla porta OBD), tanto sempre di seriale si tratta...

In effetti non si comprende bene il tuo scopo. Comunque di lettori dati da OBD (via cavo) con display ce ne sono quanti ne vuoi a prezzi accessibili.

la mia idea e ' leggere alcuni dati e scriverli su lcd solamente quello,

ciao a tutti, ho trovato questa libreria che ha tutti i comandi di lettura che usa il hc 05 come da vostro consiglio
che vi sembra

Non l'ho mai usata, ma come ti dicevo, usare un OBD2 dongle BT credo che sia la cosa più pratica che tu possa fare per evitare di stare ad impazzire troppo!