Hack ma Prius !

Remplacer le système d'affichage par un truc plus moderne

L'auteur de ce sujet a trouvé une solution à son problème.
Staff
Auteur du sujet

Coucou les p'tits loups !

J'ai un petit défi pour vous qui me trotte dans la tête depuis un bon moment maintenant et j'aurais besoin de vos connaissances pour y arriver.

Il n'y a aucune garantie que ça fonctionne mais ça me semble réalisable (il faudra pas mal chercher par contre).

Voilà, j'ai acheté une magnifique Prius (version Linea Sol Pack, toutes options de l'époque en gros) de 2004 fin septembre. Mais avec le temps je me dis que l'ordinateur de bord mériterait un petit coup de neuf.

Même s'il permet de gérer pas mal de choses, je trouve que l'ergonomie est pas toujours au top et le design encore moins. Et puis il manque quelques options qui m'aiderait bien (genre la synchro des contacts du téléphone qui ne se fait pas ou les mises à jour du GPS qui coûtent un bras — 125 € le DVD chez Toyota).

Je suis tombé cette nuit sur cet article d'un gars qui a visiblement réussi à brancher un Mac Mini (et un Powerbook avant) sur l'écran, donc c'est qu'il est bien possible de s'insérer dans le machin.

Le seul problème c'est que son installation remplace le système existant (sans l'écraser heureusement) mais ne permet pas d'utiliser les fonctions de la voiture.

Hors j'aimerais bien garder une bonne partie des fonctionnalités, parce que l'écran (tactile) ainsi que les boutons autour (et les commandes au volant d'ailleurs) permettent de gérer pas mal de choses : Climatisation Téléphone (via Bluetooth) avec synchronisation des contacts (en théorie, parce qu'en pratique ça déconnecte le bluetooth sur mon Nexus 4) GPS (avec des DVD, donc à remplacer par un truc type Waze) Chargeur CD (changement de CD, changement de piste, égaliseur…) Lecteur cassette (changement de face, avance rapide, etc.) Consommation : aperçu en temps réel du moteur allumé (thermique et/ou électrique), de l'état de charge de la batterie, de la consommation (+ historique) instantanée

Sachant que je ne sais pas où sont gérées toutes ces choses. D'ailleurs il y a aussi une fonction de commande vocale activable au volant (que j'utilise peu vu qu'elle est en anglais et plutôt limitée quand on connait les boutons), elle est sans doute gérée au même endroit.

Du coup j'ai pensé à deux possibilités (ou solutions) : Brancher un système Android, qui me permettrait d'avoir plusieurs applications comme Spotify (que j'utilise en passant par mon Nexus 4 et le lecteur cassette) et Waze (j'ai installé un support sur le pare-brise) tout en limitant le nombre de câbles et d'objets installés un peu partout dans l'habitacle. Utiliser un Raspberry Pi, qui permettrait sans doute une installation plus rapide (d'après Eskimon), mais qui serait plus limité niveau applicatif (je pense surtout au GPS)

Dans tous les cas il faudra bien recréer certaines fonctions pour que l'écran tactile (et donc le nouveau système) puisse gérer certaines choses, sachant qu'officiellement il n'y a pas de doc donc je ne sais pas quelles infos il faut envoyer, sous quel format ni même ce qui est reçu…

Voilà voilà ! :)

Ah, et la (presque) bonne nouvelle (enfin, surtout côté pratique) c'est que quand la voiture est garée devant chez moi, je peux capter le wifi de ma box (du moins avec mon portable ça fonctionne) même si c'est juste.

Édité par viki53

Le reve : Installer "Android Auto" sur une raspberryPi (qui n'est pas assez muscle probablement) et balancer tout ca sur l'ecran avec le composite.

Ensuite, bricoler l'Android pour aller choper des infos sur la prise OBD de ta voiture (bus CAN) (c'est la prise qu'utilise les mecanos pour lire les infos de ta voiture au garage… tu sais le diagnostic qui coute un bras pour un hardware qui doit coûter 20 euros sur ebay)

ZdS, le best du Zeste ! Tuto Arduino, blog, etc

+0 -0
Staff
Auteur du sujet

Effectivement, ce serait hyper cool ! Sinon il y a des alternatives au RaspPi, peut-être que l'une d'elle est assez performante ?

Après il faut penser que l'écran est loin d'être haut de gamme : visiblement il est capacitif, un seul point et surtout n'envoie les coordonnée qu'une fois le doigt relevé (et sur une grille de 16x16 d'après l'article avec le Mac).

Concernant l'ODB je sais très bien où est la prise (sous le volant, juste au-dessus de la jambe droite quand je conduis) et j'ai le hardware pour lire (qui marche en bluetooth, avec Dash sur mon Android pour récupérer les infos même si j'y pense jamais) ;)

[EDIT] : En fait Android Auto fonctionne sur le portable, donc il y a peut-être pas besoin de beaucoup de puissance derrière, si ?

La seule contrainte sera de conserver l'interface avec les équipements de la voiture (surtout le suivi de la consommation et de la batterie, qui est affiché en permanence quand je conduis)

[Re-EDIT] : Bonne nouvelle, un mec a déjà réussi à faire tourner un Raspberry Pi dans sa voiture avec XBMC : http://www.engineering-diy.blogspot.ro/2013/08/car-pc-projectaugust-2013-update.html Par contre il a utilisé son propre écran et n'accède pas aux fonctions de la voiture…


Il y a aussi l'air d'y avoir pas mal de sujets sur le site priuschat.com mais il est down depuis hier soir au moins (je ne peux pas y accéder alors que j'ai souvent des résultats Google qui pointent dessus)

Édité par viki53

Staff
Auteur du sujet

Il faut voir quelles infos sont récupérables, et ça j'ai aucune idée de comment y accéder (j'ai le hardware mais j'ai pas cherché plus loin que de mettre Dash pour traiter certaines choses)…

Après il faut voir ce qu'il est possible de faire avec le Rpi, surtout qu'il y a peu de chances que je puisse faire tout ça en HTML/CSS/JS :euh: Va falloir que je me mette à Python je pense !

Édité par viki53

il faut se rappeler que ce que tu bricole, là: c'est une voiture.

  • ça a vite fait de devenir dangereux si tu te mets à toucher aux fonctions principales
  • ça va facilement couper ta garantie (qui doit être finie au bout de 10 ans, je te l'accorde)
  • si jamais t'as un accident, fais gaffe que ton assureur essaye pas de te la faire à l'envers

sur ce, après ce petit avertissement/topo sécurité, on peut entrer dans le vif du sujet:

comme langage, tu peux apprendre python ou autre chose de propre: Qt, Java, python, n'importe quel langage fonctionne… y'en a même qui programment avec node.js sur ces cartes là, mais j'ai des doutes sur la quantité et la qualité des éventuelles libs existantes, et de toute façon je connais pas assez bien ce langage pour dire mieux…

Oui. Non. Attends, je regarde mieux et je te dis.

+0 -0
Staff
Auteur du sujet

À mon avis il y a peu de chances de toucher aux fonctions principales, vu que l'écran ne gère que des trucs externes au moteur ou se contente d'afficher les infos. Par contre le coup de l'assurance j'y avais pas réfléchi, c'est pas bête !

Concernant les langages je serais bien parti sur du JS mais j'avais peur d'être vite d'être limité d'où mon intérêt pour Python (plus accessible en venant du PHP et du JS je pense, sauf Java que je connais mais supporte très mal). Par contre c'est vrai qu'avec Node.js il y a sûrement moyen de faire de l'I/O de base, mais je suis pas sûr de pouvoir accéder au bluetooth et autres (notamment pour l'ODB et le son)…

Par contre je viens de penser qu'il y a aussi la radio à gérer. Bien que si j'ai Spotify l'intérêt sera plus limité, mais quand même…


Eskimon : même si c'est que de la visu d'infos, toute modification non homologuée peut théoriquement être une cause de rétractation de l'assurance. Et au prix que je paie, ça me ferait mal qu'ils bougent pas en cas de problème. Je vais me renseigner là-dessus pour être sûr (je connais bien mon nouvel assureur donc ça devrait aller)…

Édité par viki53

Staff

Après rien ne t'empeche de faire un petit daemon en python qui se charge de la comunication bas niveau et qui te l'expose sous une forme adapté (genre API Rest) que tu pourra ainsi géré comme tu veux ensuite.

+0 -0
Staff
Auteur du sujet

Pas bête. Après faudrait voir quel langage me permet de faire un maximum de choses avec les meilleures performances.

Je pensais aussi à Python en me disant que ça permet de faire des interfaces facilement si je ne me trompe pas…

Sinon du côté de Node-Webkit peut-être, pour rester dans des technos que je connais bien

Staff

Oui, ce serait moi qui le ferait, je le ferais entièrement en Python. Mais comme ça ne semble pas être ton langage préféré, je te proposais une solution annexe : faire le minimum en python et l'exposer de façon à être pilotable par n'importe quels autre client/techno.

Si je voulais le faire, j'aurais probablement utilisé Kivy pour l'UI qui tourne sur le RPi et est dédié aux interfaces graphiques tactiles. En deuxième choix, probablement Qt ou PyGame en fonction du rendu que j'aurais voulu.

+0 -0
Staff
Auteur du sujet

Quitte à faire du Python, autant en faire jusqu'au bout et découvrir vraiment le langage (au pire c'est jamais perdu d'acquérir de nouveaux savoirs) ;)

Après le côté tactile est super basique : c'est du single touch qui correspond plus à du clic qu'autre chose (pas de mouvements, pas de gestures, réception des coordonnées qu'une fois le doigt levé)…


Ok pour le Beagle Bone, mais est-ce qu'il y a un réel intérêt à le prendre si c'est juste pour avoir des librairies pré-installées ? Elles existent peut-être pour le Rasp Pi, non ?

Édité par viki53

Staff
Auteur du sujet

Hello !

En allant chez Toyota la semaine dernière (pour un problème autre, normalement réglé je vous rassure) j'ai demandé à un technicien s'il était possible de changer le système (même si je connaissais déjà la réponse) et il m'a dit que les branchements étaient des standards japonais donc potentiellement faciles à trouver. Ça me rassure !

Il faut encore que je vois avec mon assureur pour être sûr que je ne risque rien en changeant le système, mais pour l'instant tout est sur la bonne voie. :D

Bref, en bonne feignasse pas motivée par le lundi juste avant Noël, j'ai commencé à bricoler une interface en CSS (facilement transposable à tout langage normalement car très simple) : http://www.corentin-hatte.eu/prius/ Le but étant d'avoir un truc joli mais aussi ergonomique et prenant en compte les contraintes de l'écran (grille tactile de 16×16, résolution de 640×480).

Je l'améliorerai progressivement (notamment en mettant des icônes), mais n'hésitez pas à me faire des retours si vous voyez des choses qui peuvent être améliorées ;)

Édité par viki53

Staff

Mais je me dis aussi que c'est une fonctionnalité externe, que ça ne touche pas au moteur ou autre donc bon…

Ouais mais ils s'en moquent que ce soit une fonctionnalité principale ou secondaire (c'est un peu une règle générale). Je suis presque certain (je suis pas spécialisé en assurance auto (surtout en France, j'ai assez avec la législation belge :p ) mais c'est la question que tu dois poser à ton assureur) qu'il y a une clause dans les conditions de vente à ce sujet… Pense à apporter tous les documents à ton assureur, il te répondra mieux que moi. Si c'est prévu dans les conditions de vente du véhicule, en le faisant, ta garantie saute.

Édité par Arius

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte