BPV3M : un player mp3 de voiture fait maison!

Michel Buffa (buffa@unice.fr)

Click here for a kind of English version (altavista automatic translation huh !)!

Dernière modification : le 14/12/99

Dernières News : le système marche dans ma voiture !

On distingue le boitier de télécommande, le convertisseur 12v/220
situé sous la boîte à gants, branché sur l'allume-cigare (fils rouges et noir),
et le fil amenant le son sur la prise CD de mon autoradio

Vue rapprochée du boitier de télécommande.
A l'intérieur, pas beaucoup de vide.

La boite Linux sous le siège passager, avec l'alim de PC (beuh).
J'ai tiré le tout pour qu'on y voit quelque chose, normalement
le boitier linux est entièrement caché et seule l'alim dépasse.
Le long câble gris est celui de la télécommande. J'avais prévu 4m
au cas où j'installe le tout dans le coffre!

Mon système fonctionne dans ma voiture, sans parasites, moteur arrêté, moteur allumé, le son est d'enfer et je suis le plus heureux du monde ! Même si je compte le plus rapidement possible changer pour une alimentation DC/DC 12v beaucoup plus compacte que le convertisseur 12/220 et l'alim de PC que j'utilise actuellement. Info principale je répète : pas un pet de parasites sur ma Golf CL. J'ai juste tout branché, je n'ai fait aucune isolation particulière du circuit électrique. En cas de calage et lorsque le démarreur fonctionne voici le comportement du système : si le démarreur ne broute pas plus de 3 secondes, il ne se passe rien, le PC ne bronche pas (l'autoradio coupe le son pendant le temps où le démarreur tourne et le rétablit dès que le moteur a démarré). Si le démarreur broute plus de trois secondes, le convertisseur 12/220 disjoncte. Faut refaire on/off avec son interrupteur et le PC reboote et repart sans dégâts, car tout est en Read Only. Lire le paragraphe suivant à ce sujet.

J'ai également trouvé une solution idéale pour booter le plus rapidement possible -15 secondes montre en main, record à battre! -linux en Read Only, sans swap, avec un minuscule nombre de processus (6 processus pour être exact). Astuce : lancer directement le soft du player mp3 à la place de la commande linux 'init'. Voir la section 'booter rapidement Linux" dans la section concernant le logiciel pour des explications détaillées. Du coup je peux juste faire on/off sans risques. Néanmoins mon système peut sauvegarder des infos sur le disque, comme les playslists, la playlist courante, le morceau courant, etc... Comment ? Il suffit juste de remonter une partition en Read Write, de sauver, puis de la remonter en Read Only. Ca dure 3 secondes et la musique ne s'arrête même pas !

Transfert des morceaux mp3 depuis un PC windows : pour changer de mode de fonctionnement sans rebooter et sans avoir à brancher clavier, écran ou souris sur le boitier linux j'ai hacké le soft (Cajun pour le moment) pour qu'il lance la commande linux 'telinit'. En appuyant sur une touche de mon clavier, je remonte la partition "/" en Read Write, je lance la commande 'telinit 3' et hop! Automatiquement je passe en runlevel 3 avec le support réseau, samba, etc... Du coup, lorsque ma boîte Linux est à la maison, je boote en mode autoradio, je switche alors de ce mode minimal en runlevel 3 complet et je peux voir mes partitions linux depuis mon PC sous Win98. Attention, avec Samba et Win98, faut bidouiller légèrement la base de registres de Win98 pour ne pas qu'il encode les passwords. Voir les FAQ Samba.

Table des matières

Introduction : BPV3M c'est quoi ?

Un autoradio mp3, un player mp3 de salon, un lecteur de films DVD, un ordinateur Linux, etc... c'est surtout mon occupation de l'été 1999 !

Un peu d'histoire : on aurait pas dû me voler mon autoradio !

On m'a volé mon autoradio laser en Décembre 1998. Sitôt que l'assurance m'a (mal) remboursé je n'ai cessé de penser à me fabriquer un player mp3 de voiture sous la forme d'un PC simplifié, embarqué dans la voiture, avec un écran LCD ou un mini écran vidéo de camescope, avec un mini clavier ou une télécommande infra-rouge, avec une alimentation 12 volts, etc... Puis, chemin faisant, je me suis dirigé vers un système hybride pouvant aussi bien fonctionner dans une voiture que dans un salon : player mp3 dans la voiture, player mp3 dans mon salon, et en y ajoutant un lecteur de DVD externe ou en rack, player de DVD. Le tout fonctionnant aussi bien sur le +12v (voiture), le 220v (maison), ou pourquoi pas sur batterie 12 volts (regarder des DVDs au lit ?)

Mince, d'autres y ont déjà pensé !

En recherchant sur le net, je me suis aperçu que plusieurs personnes avaient eu la même idée, le site regroupant tous les bidouillages de hobbyistes et de projets industriels similaires étant http://www.mp3.com (aller dans la section 'mp3 car player'). En parcourant l'ensemble des réalisations de hobbyistes, on trouve des trucs intéressants. Incontournable : le site de Cajun (Car Automobile Jukebox based on UNix) qui propose tout ce qu'il faut (soft, aides, recommandations, etc...) pour faire tourner un autoradio mp3 avec Linux.

En france, j'ai rencontré un groupe de personnes regroupées autours du projet MP3sb (MP3 Server Box, archives de la mailing liste sur http://club.voila.fr/group/ltt_mp3/info.html ). La MP3sb est une "boîte" pouvant aussi bien servir de jukebox, d'élément de chaîne hi-fi, d'autoradio mp3, etc... Patrice (tisserpa@club-internet.fr), un pro de l'éléctronique s'occupe pour le moment (entre autres) de l'alimentation DC/DC 12v vers +12v, +5v, -12v, -5v qui permettra d'alimenter un ordinateur embarqué dans une voiture, et SoaF (jkx@club-internet.fr) de LTT (Linux Tips and Tricks) s'occupe du logiciel. Ce groupe m'a filé un bon coup de main et m'a remonté le moral : je n'étais pas tout seul à galérer avec des problèmes d'alimentation, d'écran LCD, de boitier, de carte mère, etc...

J'ai pas trop de sous !

Une autre contrainte forte est de ne pas se ruiner dans le projet, un coût total inférieur à 2700 francs -somme remboursée par mon assurance pour le vol de mon autoradio- étant obligatoire. Cette somme doit inclure le player mp3 décrit ici, et un système d'amplification (autoradio ou ampli de puissance) et deux haut-parleurs de bonne qualité. Si je dépasse, ma femme divorce, c'est ça une contrainte forte non ?

Linux dans ma voiture ?

Une autre contrainte que je me suis imposée est si possible d'utiliser des solutions qui marchent, déjà validées par des hackers sur le net, avant de me lancer dans des montages trop hétéroclytes. Je suis en effet un électronicien non reconnu par les composants electroniques. C'est d'ailleurs réciproque, je ne les reconnais pas non plus !

Pour le soft, après avoir rapidement bidouillé avec Windows98 et Winamp pour booter en moins de 15 secondes et testé un premier proto avec un pavé numérique et le plugin qui va bien, j'ai décidé de m'orienter vers une solution tout Linux.

Pourquoi ? Tout d'abord parceque je pratique ce système d'exploitation quotidiennement (je suis maître de conférence en informatique à l'Université de Nice), parceque je suis sûr de pouvoir configurer le système pour monter le disque dur en lecture seule, parcequ'il est globalement plus fiable que Windows, parceque je sais pouvoir utiliser un minimum de ressources et râcler le truc jusqu'à la moëlle, parceque je sais qu'il existe un projet de player mp3 assez abouti en Open Source : Cajun, parce que la communauté des hackers super bien développée, etc... Le premier player mp3 de voiture industiel, le fameux Empeg Car Player, tourne effectivement sous Linux.

L'écran

Quel écran, où l'acheter ?

Avant toute chose, il a fallu que je fasse pas mal de reherche sur le net au sujet du périphérique de visualisation. Grosso-modo, il existe trois types de solutions :

1 - Pas d'écran du tout !

Ne rigolez pas ! Y'a pas mal de bidouilleurs qui ont juste posé un PC entier dans le coffre de leur voiture, qui ont branché un mini pavé numérique de caissière à la place du vrai clavier, avec une rallonge, qui lancent Windows et Winamp avec le plugin pour clavier numérique, et qui commande le tout en avaugle. Certains ont un listing avec le numéro de tous les morceaux à bord et se débrouillent très bien avec !

2 - Les écran vidéo LCD type camescope

C'est la solution qui m'a le plus tenté car ces écrans ne coûtent pas si cher aux USA : 99$ chez EIO pour un LCD sharp 6 pouces, résolution 240 par 720 points, utilisé par le player mp3/linux visible sur ???. Il faut rajouter environs 30 US$ pour l'alimentation et les câbles. On trouve également un modèle en 4 pouces, plus cher que le 6 pouces aux USA, mais dispo en France, environs 1000 francs TTC le modèle sans boîtier (distribué dans toutes les boutiques d'éléctronique sous forme de kit, marque ???) ou tout monté en boîtier plastique avec sortie son, réglages intensité, contraste, couleur, etc... pour 1290 francs TTC (chez Megamos par exemple).

3 - Les écrans LCD

On trouve ici plusieurs catégories d'écrans LCD. Les plus courants sont alphanumériques et possèdent 2 ou 4 lignes de 20 colonnes. On trouve aussi des écrans graphiques plus chers.

L'écran que j'ai choisi !


L'écran LCD Matrix Orbital en action,
ici le menu Equaliseur de Cajun

L'écran LCD que j'ai choisi pour mon application est un Matrix Orbital référence LK204-25v, capable d'afficher 20 caractères sur 4 lignes. Il possède deux tailles de caractères prédéfinis et offre la possibilité d'envoyer ses propres caractères (icônes) et d'afficher des bar-graphs verticaux ou horizontaux (cool...voir la photo !). Il se branche sur un port série DB9 en plug and play, et permet de brancher un clavier directement sur sa carte.

Sur le connecteur clavier (10 pines à l'arrière), on peut brancher des boutons faits maison ou bien un clavier possèdant un adressage ligne/colonne. On trouve en effet 5 pines pour les lignes et 5 pines pour les colonnes à l'arrière de l'écran, donc on peut utiliser jusqu'à 25 touches. J'ai acheté cet écran chez http://www.linuxcentral.com pour 101US$ + les frais de port. On paye en carte bleue sur le site et je l'ai reçu chez moi 4 jours plus tard ! Il s'agit de l'écran utilisé par le player MP3 Cajun.

J'ai choisi cet écran car Cajun l'utilise, ce qui est une sécurité. Par la suite j'ai rejoint les gens de la mailing liste ltt_mp3 (http://www.igalaxie.com/ltt/mp3) qui m'ont conforté dans l'idée que ce choix est le bon!

Le câble pour brancher cet écran

On peut utiliser un câble série droit standard, ou bien se le fabriquer. Dans ce dernier cas, il suffit de relier les pines 3 et 5 du connecteur DB9/série. Pour l'alimentation j'ai tiré du +12v depuis l'alimentation du PC et je l'ai branché sur le connecteur ad-hoc à droite du conencteur série, sur la plaque arrière de l'écran. Il suffit d'un petit connecteur de type alimentation de lecteur de disquette. On trouve ces mêmes connecteurs sur le petit câble qui relie le lecteur cd CD aux cartes sons. La prise d'alimentation possède un régulateur si bien qu'on peut mettre une tension allant de +8v à +15v. Mais attantion, avec du +12v ça chauffe un peu. J'ai laissé l'écran plusieurs jours allumé et ça tient le choc, donc pas de soucis même si ça chauffe !

On peut aussi tirer du +5v sur la pine 9 du connecteur DB9 mais si jamais la tension est mal régulée l'écran grille ! A déconseiller si on est pas sûr d'avoir du +5v bien stable.

Aller voir sur le site de Cajun pour des photos et des schémas de cablage détaillés.

Quel boitier pour cet écran ?

Voici quelques photos de l'écran, installé dans un boitier ISO acheté 29 francs dans un magasin d'éléctronique. Il s'agit d'un boitier plastique s'ouvrant en deux (4 vis), dans lequel j'ai fait une découpe. La technique utilisée pour faire la découpe est la suivante : tout d'abord, percer à la chignole à main 4 trous aux angles de la zone rectangulaire que l'on doit découper, légèrement en retrait, ensuite, découpage à l'aide d'un gros cutter du rectangle, puis ajuster et araser les bords à l'aide d'une lime. Ensuite, une fois l'écran inséré dans la découpe, l'enlever puis retirer les vis qui servent à fixer les deux PCBs de l'écran. Le remettre en place, repèrer en enfilant de l'intérieur la chignole dans les trous correspondants aux vis retirées les endroits à percer en faisant une petite marque. Enlever l'écran, percer, araser les 4 trous, remettre les vis. Ca y est, l'écran est fixé !

Vue de face

Vue de l'intérieur

Dernière nouvelles (cf les news en haut de la page) : j'ai changé ce boitier assez vilain pour un boitier acheté chez Radiospares, contenant pile poil cet écran + un clavier ligne/colonne de type alarme. J'ai payé le mien 39 francs et on devrait le trouver dans toutes les boutiques d'électronique. Vous gourrez pas, demandez le mode d'adressage ligne/colonne et non pas le mode 'point commun', pour vérifier, le nombre de pines à l'arrière doit être égal au nombre de lignes + nombre de colonnes de votre clavier. Par exemple 7 pines pour 4 lignes et 3 colonnes. Pour que l'écran entre dans ce boitier, j'ai dû remplacer la prise db9 située à l'arrière par une prise coudée.

Un coude DB9 à 90 degrés ?

Seul défaut : le connecteur série DB9 est droit et ne permet pas aisément de brancher un fil vers le bas. J'ai donc acheté un coude DB9 pour le fixer en lieu et place du connecteur de série. Il ne s'agit pas d'une opération simple à réaliser. En effet, les deux plaques electroniques sont soudées entre elles par un connecteur 20 broches en haut, je croyais que ce connecteur était juste enfiché mais non ! Il est soudé ! Il faut donc le couper, puis le dessouder avec de la tresse à dessouder, séparer les deux PCBs, déssouder la prise DB9 d'origine, la remplacer, puis remettre un connecteur entre les deux plaques et ressouder le tout ! Compter au moins une heure de travail.

Attention, lorsque j'ai réalisé cette opération, l'écran n'affichait plus rien ! Ma bêtise venait du fait que au pied de la DB9, sur la plaque dans laquelle elle est enfichée, il y a deux pistes très fines qui partent, juste au-dessus de la prise. Elles ont leur source sur deux des pines de la DB9, en dessous de la DB9, là où ce n'est pas très accessible. J'ai dû remettre deux petits points de soudure pour que l'écran fonctionne.

Le coude DB9
Les pines à souder sont vers le bas

Le coude est posé au-dessus du connecteur
standard, dans le quel sur cette photo,
un connecteur mâle est branché,
pour bien mettre en évidence l'épaisseur
de la solution standard, qui n'est pas acceptable.

Le clavier


Les claviers : y'a le choix !

Solution la plus simple : le clavier plug and play.

Par exemple, ce clavier plat, de marque C&K Components, part number 4244A1 chez Digikey (PN. CKN6011-ND $21.52 USD), souple, auto-collant (il suffit d'enlever la bande de protection à l'arrière pour le coller), équipé d'une nappe et d'un connecteur se branchant directement sur le connecteur clavier de l'écran LCD. Coût avec frais de livraison : environ 150 francs, deux semaines de délai pour être livré en France. Paiement direct avec confirmation par mail ensuite. Principal défaut : sa taille. Il est à mon goût un peu trop gros. Testé avec le soft de Cajun, fonctionne parfaitement. On peut l'auto-coller directement sur le tableau de bord de la voiture, il suffit d'enlever la bande adhésive à l'arrière.

Les sérigraphies sont interchangeables L'écran est livré avec une nappe L'écran branché sur le LCD


L'écran LCD avec le clavier plat,
Sur l'écran le menu principal de Cajun

Le clavier industriel de type alarme, existe en 12 et en 16 touches

Très solide, assez laid. Celui que j'ai est le même que celui utilisé par Cajun (voir les photos sur leur site). Acheté 39 francs dans une boutique d'électronique. On peut en trouver de semblables très facilement un peu partout. A l'arrière de l'écran, 7 pines sur lesquelle on branche un connecteur permettant de faire une nappe. Il en faut deux (3 francs pièce) en tout. Je n'ai pas encore fait le cablage mais j'ai testé quelques touches avec le soft de Cajun, en reliant juste deux pines de l'écran sur deux pines du LCD, ça fonctionne bien. Les photos sont un peu floues, dommage...

Clavier + deux pièces permettant
de brancher une nappe de fils sur
les connecteurs
Clavier + écran, avec les connecteurs
enfichés, mais non cablés.

Le clavier malabar à 20 francs !

Je suis tombé dessus par hasard. J'ai flashé dessus car les touches sont sérigraphiées comme sur les téléphones portables, avec sur chaque touche un chiffre et trois lettres. Très utile si on veut par la suite pouvoir faire des recherches alphanumériques sur les noms des morceaux mp3 par exemple. Une fois démonté, on s'aperçoit que l'adressage n'est pas un vrai ligne/colonne mais un truc un peu naze ou les trois premières colonnes envoient le même code. En revanche, les touches sont ok, et il semble facile de faire un typon pour un vrai adressage ligne/colonne. Je travaille dessus...

Super non ? Un portable à 20 francs!

La nappe platique avec les touches

A l'arrière juste une petite plaque ronde
métallique noire, assurant le contact
lorsqu'on enfonce la touche

Une télécommande infra-rouge ?

Patrice a réalisé un bricolage pour pouvoir utiliser uen télécommande programmable à la place d'un clavier. Plus d'infos bientôt ! Ce que je sais : le récepteur IR ne peut pas utiliser le même port série que l'écran LCD.

Ici, un récepteur infra-rouge fait maison par Patrice,
Sur le même câble que celui du LCD.

Gros plan sur le récepteur

L'alimentation

Introduction

Le player est un ordinateur embarqué dans une voiture. Deux solutions sont envisageables pour l'alimenter dans une voiture.

  1. La première solution consiste à utiliser un convertisseur 12v vers 220v et brancher le 220v sur la prise d'alimentation d'un PC standard. Un tel inverseur coûte assez cher : 680 francs chez Feu Vert, mais j'en ai trouvé sur Lyon, à l'adresse suivante -retrouver l'adresse !-, pour 380 francs, frais de port inclus, et prend un peu de place. Les bons convertisseurs ont un excellent rendement (90/95%) et ne doivent pas surconsommer trop. Défaut de cette solution : ça prend de la place un convertisseur + une alim de PC !!!
  2. Utiliser un convertisseur DC/DC 12v vers +12v, +5v, -12v et -5v. La difficulté, ce sont les ampérages (au moins 5A en 5v). Il existe de tels convertisseurs tout faits, dispo au magasin "Les mille et une piles", Paris, tel -retrouver le téléphone-, pour environs 1000 francs, tout petits!. Mais comme on a pas envie de mettre mille francs là-dedans, on peut se les fabriquer ! On trouve sur Internet plusieurs schémas de montage pour de telles alimentations.

Comment ils ont fait, les autres ?

La plupart des gens qui ont bricolé un lecteur mp3 de voiture ont utilisé un convertisseur 12v vers 220v ou 110v (voir http://www.mp3.com,suivre le lien "car mp3 players").

On trouve cependant quelques schémas de convertisseurs DC/DC qui prennent du +12v en entrée. Les alims 12v qui sont bien documentées à l'heure actuelle sont les alims DC/DC du player mp3 InMotion et de Cajun. La première coûte assez cher et la dernière propose un schéma plus complexe mais possède des alims séparées pour l'écran, pour un HD et un CD-Rom en plus de l'alim de la carte mère. En outre, elle comprend un retardateur qui garde la tension de sortie 24 secondes après que la tension d'entrée soit coupée (utile quand on arrête le moteur) et lève un signal sur le port série, ce qui permet, avec le soft adéquat, de faire un shutdown propre de l'ordinateur.

Combien ça consomme une carte mère ? Un Disque dur ?

Et bien, Grace à l'aide de Patrice, un pote qui participe au projet MP3sb, nous avons mesuré quelques éléments : Carte Mères et Disques Durs. Nous les avons alimentés avec l'alimentation DC/DC que Patrice a déja bricolée (voir plus loin).


Mesure des consommations de carte mère et de HD

Type de HD

Consommation +5v

Consommation +12v

Quantum Fireball 1Go, 3.5 pouces

0.4A

0.4A, crête à 1A au démarrage

Quantum Fireball 2 Go, 3.5 pouces

0.4A

0.4A, crête à 1A au démarrage

Caviar 3.5 pouces

0.4A

Ne démarrait pas avec notre alim

Pour les cartes mères, les résultats dépendent de la carte elle-même, mais aussi du processeur utilisé, du ventilateur, des cartes additionelles. Les Cyrix sont à éviter à tout prix car ils consomment énormément. Un ventilateur de CPU pompe environ 0.4A en +12v.

Type de carte mère Consommation +5v Consommation +12v
ASUS P5-A-B baby AT avec Pentium 100Mhz 2.4A 0.4A
ASUS patrice Ne démarre pas avec l'alim de Patrice 0.4A

L'alimentation de Patrice

Patrice a assez fidèlement reproduit l'alimentation de Cajun. Il manque le circuit retardateur et d'autres bricoles. Nous l'avons testée sur mes cartes mèrse (ASUS P5-A-B, puis PCCHips L748LMRT) et mon HD, elle fonctionne bien. Comme vous pouvez le constater, il a créé un typon si bien que lorsque ce prototype sera jugé satisfaisant, 'une fabrication en série sera envisageable. Pour le moment cette alimentation fonctionne bien mais Patrice compte y rajouter des filtres pour éviter des parasites sonores, ainsi qu'un système retardateur permettant de faire un shutdown propre de l'ordinateur lorsque le système n'est plus alimenté (comme dans celle de Cajun).

 

Notez l'oscillo sur la gauche ! Patrice est sacrément équipé!

Patrice a acheté des pièces pour les membres de ltt_mp3

 

Vue de dessus (désolé pour la photo)

Vue de dessous

Mon alim DC/DC

L'alimentation que je comptais faire au départ était une version modifiée de celle du player mp3 InMotion. Elle revient assez cher à cause des circuits de régulation MAXIM (150 francs pièce en France, il en faut au moins deux), mais on peut les obtenir gratuitement à l'adresse suivante ???, en indiquant surtout que l'on fait une profession sérieuse (ingénieur, professeur, pas étudiant !). Voici la photo du kit avant montage. La pièce de deux francs indique l'échelle. Ca ne devrait pas prendre beaucoup de place au final. Par rapport au plan de InMotion, Patrice compte rajouter deux circuits d'alim +5v et un +12V en plus pour alimenter un HD ou un lecteur de CD séparément de la carte mère, et des filtres antiparasites. Plus d'infos bientôt, Patrice doit me l'assembler en fin de semaine prochaine !


Une vue des éléments nécessaires à la fabrication d'une alimentation type InMotion

Dernière nouvelle en date

Je suis en train de réaliser au laboratoire d'électronique de l'ESSI, avec l'aide de Maurice Buet (buet@essi.fr), un clone de l'alimentation réalisée par Robert Holstrom pour Cajun. Notre clone devrait prendre moins de place et résoudre les problèmes d'alimentation 12v lorsque le moteur est arrêté.

Dernière news : j'ai commandé deux exemplaires de cette alim à 14$95 :

Elle est vraiment petite à côté d'un HD 3,5"

...elle fait 45 Watts, ce qui devrait suffir à alimenter la carte mère + un HD. Allez donc voir ce site qui montre un player mp3 linux alimenté par cette alim.

En attendant de terminer mon alim et/ou de tester celles que j'ai commandées aux USA, j'utilise un convertisseur 12v/220 acheté chez Feu Vert 559 francs, et une vieille alim de PC. Ca fait l'affaire même si ça prend un peu de place. J'ai la musique dans la voiture et tout le temps de trouver l'alim DC/DC qui va bien.

Les connecteurs

Le plus simple pour trouver des connecteurs mâles de carte mère est encore de mettre la main sur une vieille alimentation de PC qui a grillé (on en trouve assez facilement dans les magasins d'informatique) et à la piller !


Vielle alim de PC désossée

La carte mère, le boitier

Recherche de la meilleure solution

J'ai passé pas mal de temps sur le net, à chercher des cartes mères avec tout intégré, y compris une sortie TV PAL/NTSC (pour les DVDs) et les seules que j'ai trouvées sont les cartes mères à base de CPU MediaGXm de Cyrix. L'une d'entre elles, fabriquée par Advantech, est une carte biscuit PC de 10cm par 8cm, distribuée en France pour 3068 francs HT, sans mémoire ni alim ni HD. Elle s'alimente en +5v et possède déjà le contrôleur LCD. Trop cher !

D'autres cartes industrielles existent mais elles sont bien trop chères (à base de Strong ARM comme celle de l'Empeg Car Player). J'ai donc laissé tomber ce type de cartes.

Il reste les cartes standards, les plus petites étant les cartes au format baby AT et les cartes au format micro ATX. En regardant ce projet d'ordinateur embarqué ??? cela m'a convaincu. J'ai passé pas mal de temps à chercher une Carte Mère équipée du Cyrix MediaGXm, mais apparemment ces cartes sont difficiles à trouver et ceux qui les ont utilisées les trouvent vraiment juste en puissance CPU et au niveau du processeur graphique.

Récemment, j'ai trouvé que les cartes de la marque PCCHIPS fournissent des solutions intégrées vraiment intéressantes (700 francs TTC environs, distribués en France par D.I.T Computer à Paris). La MBR 748 LMRT par exemple est une carte au format baby AT (20x20 centimètres). Elle intègre sur la carte un chipset SIS 620 reconnu par Linux. Ce chipset fournit le son AUREAL 3D avec 4 sorties HP, la vidéo 2D/3D en partageant 8Mo de la mémoire centrale, un support ethernet 10/100 Mbits et un modem 56600 bauds. Elle possède un slot1 et un slot 370 pour PII ou Celeron. Le PII n'est pas une bonne solution car il occupe trop de place verticalement, mais les Celerons sont Ok. On trouve des 300Mhz pour moins de 400 francs. D'après des utilisateurs sur le net, sans carte additionelle ça décode des DVDs en soft avec un Celeron 333 (dernière minute : j'ai testé avec un Celeron 400Mhz : impeccable!). Il existe un autre modèle sensiblement équivalent en super socket 7 pour brancher des Pentiums ou des K6. Cette carte marche parfaitement avec Linux. Voir plus loin...

Autre solution : Gilles Nollet (VIRTUAL BOUTIC, http://pro.wanadoo.fr/gilles.nollet/), un revendeur Français sur le net, m'a communiqué ces derniers temps pas mal d'infos. Ce serait cool d'acheter des trucs chez lui car il m'a bien aidé ! Il m'a en particulier fait parvenir la description d'un boitier + carte mère de marque MSI, dispo en France pour 1990 francs TTC. Regardez un peu : Barebone LPX MSI6207, carte mère MSI 6165: chipset IntelZX 100 Mhz Socket 370 Vidéo 8Mo SDRAM intégrée Audio PCI Creative intégré 2 slots PCI, 2 DIMM + Boîtier LPX (85x315x369 mm) 1 emplacement FDD, 1 emplacement HDD, 1 emplacement CD Ports USB, interface IR, récepteur sur face avant, audio, VGA, MIDI, sortie TV.

Le premier prototype

La carte mère que j'utilisais au début pour mes essais est une ASUS baby AT P5-A-B d'il y a deux ans avec un Pentium 100. Le HD est un 3.5 pouces Quantum Bigfoot de récup. Le boitier me permet juste de poser le tout sur une table ou sur le siège de la voiture lorsque je faisais mes essais : il s'agit d'un bac à légumes acheté 16 francs à Carefour! Malgré tout, et bien que le boitier soit bien trop grand, ça permet de se faire une idée des premiers essais.

 

Carte mère ASUS + HD dans le boitier à légumes

4 centimètres d'épaisseur

Le matos qui va bien !

J'utilise maintenant une carte mère PCCHIPS M748LMRT avec vidéo + son + ethernet 10/100 + modem intégré (700 francs TTC, la M748 LMRT) équipée d'un CELERON 400. J'ai choisi un 400Mhz pour m'assurer que je puisse un jour décoder les DVDs en soft. J'ai testé sous WIN98 et ça fonctionne. La carte son est d'excellente qualité pour jouer des .waw ou des .mp3 Oubliez cette carte si vous voulez jouer des fichiers midi, elle ne possède pas de ROM d'échantillons intégrés et fait appel à un émulateur midi software de mauvaise qualité (que j'ai remplacé avantageusement par wingroove). La carte vidéo sous WIN98 s'en sort très bien. A peu près du niveau d'une intel i740 en 2D et pas terrible en 3D (10 frames/s avec Midtown Madness, détails sur low), mais elle monte plus haut en résolution 2D car elle squatte 8Mo de la mémoire centrale et autorise du 1600x1200 en 24 bits.

 

Sous Linux : Le chipset graphique SIS620 est reconnu par les versions de XFree3.3.4 ou supérieures. Le chip sonore CI8738 est reconnu par les noyaux 2.2.* mais il faut rajouter le driver soi-même à la distrib source et recompiler le noyau (les télécharger sur http://www.cmedia.com.tw/e_dload1.htm), la carte réseau devrait être reconnue (il faut encore que je teste) puisque sur le CD d'installation des drivers il y a un répertoire Linux. Je n'ai pas testé le modem intégré pour voir s'il fonctionnait correctement.

Compiler un noyau avec le driver son sous Linux

Bon, je me suis battu mais ça y est, ça fonctionne ! Si jamais vous achetez une CM comme la mienne, il faut savoir que le driver son n'est pas inclu dans les noyaux 2.2.*, en tout cas, même dans la dernière release, la 2.2.12 il n'y figure pas. En revanche il est dans les noyaux (instables) 3.3.*. J'en ai essayé quelques un et le son marchait... mais le reste cafouillait dur : impossible par exemple de voir les noms longs des partitions w95, même en les montant en vfat, erreurs de lectures sur CDrom bizarres, etc...

Voici comment intègrer le driver du CI8738 dans les sources d'un noyau 2.2.* :

Règler le gain et le volume de sortie

Lorsque le son s'est mis à fonctionner, j'ai dû règler le volume et le gain de sortie. J'ai simplement rajouté la ligne suivante dans le fichier /etc/rc.d/rc.local :

aumix -v 100 -w 100

Faire marcher le contrôleur ethernet Davicom 9102 10/100Mb

Le CD d'install de la carte mère contient dans le répertoire LAN/Davicom9102/Linux un driver pour Linux. Il s'agit de la version 1.0 béta du driver, et ne compile qu'avec des noyaux 2.0.*. La version 1.26 du driver compile néanmoins sans aucune modifications. Vous pouvez la récupèrer ici : dmfe.c ou sur le site de Davicom.

Le boitier métal que j'utilise maintenant

Acheté 50 francs chez Continent au rayon bricolage, il s'agit d'une bête boîte à outils vide ! Ce boitier est en tôle et se travaille ok avec une meule équipée de disques pour couper et abraser le métal + limes. Bien sûr il faut une perceuse pour les trous. Ne pas oublier une découpe pour la ventilation du Céléron et la dispersion de l'air sur la carte mère.

L'atelier

Tout le monde met une photo de son atelier, alors moi aussi ! Ouch ! Quand vous regardez les photos de l'atelier de Patrice, le mien est vraiment un atelier de rigolo !

Mon labo d'éléctronique !

 

Une partie de celui de Patrice

L'engin de Patrice pour fabriquer des typons et des PCB

 

Le logiciel

Pour le moment j'utilise le logiciel Cajun, qui est remarquable. Il est en Open Source, écrit en perl, et le développement est actif (une nouvelle version sort toutes les 4 ou 5 semaines). La dernière version (la 3.0.8, version de développement) gère les hotlist, playlist, la radio FM, l'écran LCD, plusieurs types de clavier, les télécommandes infra-rouges, les radios mp3 (serveurs shoutcast mp3 streaming...), etc... Vous pouvez le télécharger sur le site de Cajun. Il vous faudra aussi le player xaudio ou le player mpg123 qui est en Open Source et qui supporte les radios mp3 (mp3 streaming).

J'ai 948 morceaux mp3 sur mon HD (il reste encore 500Ko de libres !) et lorsque depuis Cajun je monte un CD, la mise à jour de la base de données de morceaux est instantanée ! Donc même avec 300 CDs sur le HD, je pourrai en changer 15 au vol depuis le lecteur de CD-ROM, et cajun supporte aussi les CDs audio normaux. Top cool Raoul !

Mon boitier écran/clavier avec Cajun !

Quelques écrans de Cajun, empruntés sur le site http://neon.mp3car.com/

Ceci est le menu principal...

Le menu des fonctions utilitaires. On peut monter/démonter un CD-Rom depuis ce menu...

Le menu de l'équaliseur. On peut modifier le volume à tout moment, même lorsqu'on est pas sur ce menu

Le menu de choix des morceaux. Il s'agit d'une structure arborescente. Ici, les groupes...

Pour AC/DC; voyons voir ce que contient l'album 'Back in Black'...

Ah, voilà les morceaux. Si on décide de jouer un morceaux, tout l'album va y passer de manière séquentielle.

L'écran qui apparait pendant la lecture. Ici on peut passer au morceau suivant/précédent, faire pause, repeat, règler le volume, stopper, ajouter ce morceau dans la hotliste, etc... Sans arrêter le morceau on peut passer sur les autres menus...

Booter rapidement sous linux

J'ai viré un maximum de daemons inutiles (simplement déplacer dans un autre répertoire les fichiers se trouvant dans /etc/rc.d/rc3.d, rc4.d, etc...). Il faut également que je regarde ce que propose Chris Pinkham (cpinkham@infi.net), un des développeurs de Cajun pour booter à partir d'un RamDisk minimal en montant tout en ReadOnly. Aller sur le site le site Cajun de Chris Pinkham, et là, aller dans la section Files et regarder dans le répertoire ReadOnly.

Pour le moment, juste en virant les scripts de lancement de daemons au boot, Cajun démarre en 27 secondes.

Dernières nouvelles : j'ai trouvé la solution idéale

Le truc consiste à lancer directement Cajun ou n'importe quel autre soft à vous directement dès que le noyau est chargé. Ceci revient à remplacer la commande unix 'ini' par votre programme. Avec cette solution je boote en 15 secondes montre en main !

On peut faire ça avec LILO en tapant des paramètres complémentaires, par exemple, au prompt lilo, tapez :

LILO : linux init=/bin/sh

Ca va vous faire booter en read only, et vous donner la main sous bash. A ce niveau là, essayez de lancer à la main les commandes nécessaires pour que votre application tourne correctement. Par exemple monter les partitions qui manquent, charger les modules de son, lancer votre appli... Une fois que ça fonctionne, en faire un script et le rendre exécutable. Mon script pour lancer Cajun est dans /usr/share/cajun/fast_cajun et contient ceci :

-------
#!/bin/sh 

# main partition shoud be already mounted read-only by lilo 

# mount read-only only the other partitions you need, for example : 
/bin/mount /dev/hdc1 /mnt/mp3_1 -o ro 
/bin/mount /dev/hdc5 /mnt/mp3_2 -o ro 

# load the modules you need. On my PCChips motherboard, and on my config, I only need a module for sound insmod cmpci 
#Then run cajun, you need the two 'bash' commands otherwise cajun locks 
bash /etc/rc.d/init.d/cajun    
start & bash 
----------- 

J'ai d'abord testé si ça fonctionnait en entrant le paramètre init=/usr/share/cajun/fast_cajun au prompt de lilo. Lorsque ça a fonctionné, j'ai juste rajouté une entrée dans /etc/lilo.conf, au début. J'ai recopié l'ancienne entrée par défaut, j'ai mis la copie au début, j'ai appelé le label 'cajun' et j'ai rajouté parmi les options de cette entrée la ligne :

append="init=/usr/share/cajun/fast_cajun"

Avec ce système je n'ai que 5 processus, je tourne entièrement en read only, sans swap, sans rien. Et je peux toujours remonter interactivement des partitions en read write avec la commande

mount /dev/hdc1 / -o remount,rw

... par exemple...

Ceci permet avec un système read only de faire des sauvegardes : il suffit de remonter une partition en read write d'écrire et de la remettre en read only. Ca prend trois secondes ! Et on peut toujours booter en mode complet en utilisant une autre entrée de lilo. Même mieux : on peut changer de runlevel sans rebooter avec la commande 'telinit 3' par exemple, qui vous fait passer en runlevel 3 (penser à mettre la partition qui contient /var en read write avant de lancer telinit).

Voir la séquence de boot et la séquence de shutdown sur l'écran LCD

Sur le site de Chris Pinkham (encore), il y a un script qui modifie tous les fichiers de lancement pour afficher sur l'écran LCD toutes les étapes du boot et toutes les étapes de la séquence d'arrêt. On peut ainsi savoir si le système est vraiment arrêté avant de couper l'alimentation. Penser à mettre un lien dans /usr/bin vers le programme 'MOstringdisplay' qui est installé avec la distrib de Cajun, sinon les scripts de lancement ne trouveront pas cette commande et feront des erreurs.

Le système d'amplification audio dans la voiture

Le logiciel Cajun supporte les carte radio FM pour PC, mais j'ai préféré investir dans un autoradio d'assez bonne qualité, pour avoir aussi bien la radio avec le RDS que la possibilité de lire des K7. Autre caractéristique que doit avoir cet autoradio : fournir un moyen de brancher la sortie son de l'ordinateur embarqué.

Après quelques recherches dans les magasins d'autoradio, je me suis aperçu que tous les modèles de la marque AIWA possèdent en façade une prise MiniJack identique à celles que l'on retrouve sur les enceintes de PC, qui lorsqu'elle est activée bascule automatiquement l'autoradio sur cette source. J'ai payé le mien, un 4x40 watts, RDS, assez frime, le modèle CT-R419, 690 francs chez Darty.

Voilà une photo de la bête ! La prise CD est en bas à gauche...

Pour plus tard j'envisage d'acheter un ampli avec des baffles dignes de ce nom !

 

This Mp3 Car Webring site owned by Michel Buffa.

Hit-Parade