Linux et multimédia embarqué [Topic unik] - Multimédia - Linux et OS Alternatifs
Marsh Posté le 11-05-2007 à 00:51:26
L'historique de mon projet :
Mon projet a débuté il y a bien longtemps : environ 7-8 ans.
Je venais d'avoir le permis, et l'autoradio de base de ma voiture, une Nissan Almera , me semblais plus que limité.
Au lieu d'acheter un autoradio CD, j'ai eu une idée de "génie" : Mettre un PC dans la voiture, et lire du mp3 depuis un disque dur.. Un tour rapide sur le net m'appris que d'autres y avaient évidemment déjà pensé, en proposant diverses solutions.. Je décidais alors d'aller au plus simple, et je réalisais en une dizaine de jours mon prototype de lecteur mp3 embarqué, le "car player" était né..
Historique des versions de mon projet (partie PC) :
- prototype :
Hardware : Carte mère à l'arrache dans le coffre, alimentation de PC standard avec convertisseur 12-220v
Software : OS windows, winamp avec navigation a l'aveugle dans une grande playlist
- version 1 :
Hardware : Superbe boitier en bois, écran LCD sur port parallèle
Software : navigation amélioré grâce a un plugin winamp (le nom m'échappe..), et qui permettait une navigation basique dans la playlist, et l'affichage sur un écran LCD compatible
-> Le tout crame un jour de pluie, problème électrique dut a l'absence de masse relié a la carte mère
- version 2 :
Hardware : boitier en métal immonde de 60x30x20cm, sanglée dans le coffre
- version 3, la genèse :
Hardware : Carte mère de taille réduite insérée dans la boite à gant
Software : OS linux et logiciel cajun (écrit en perl, voir liens), écran LCD sur port série Matrix Orbital permettant l'affichage et le contrôle de l'appli
-> brulé également, toujours des problèmes électriques ; apparemment, le convertisseur 12-220v fournit des tensions vraiment sales, qui à la longue flingue les composants.
- version 4 :
Hardware : Nouvelle alimentation dédiée ; en entrée, du 12v de la batterie, en sortie, un connecteur ATX qui délivre les tensions nécessaire au PC : Le must, gain de stabilité énorme.
- version 5 :
Hardware : Remplacement de la carte son par une SB Live
Software : Modification du code de cajun ; je profite des deux sorties de la carte afin de séparer le volume des enceintes et celui du subwoofer
-> cramé, raison inconnue ; remplacement par une carte mère de taille plus importante qui m'empêche de connecter la SB Live..
- version 6 (en cours de finition) :
Hardware : Carte mère EPIA, carte son SB Live de retour
Problèmes : Le port série n'est pas détecté quand le système est branché dans la voiture, ce qui m'empêche pour le moment de le faire fonctionner. A priori, l'EPIA peu tolérante vis à vis de l'alimentation, entrainant certains problème de détection de matériel.. Misère !
J'ai trouvé un adaptateur USB->série. Reste à espérer que celui-ci fonctionne correctement!
Partie audio :
Au départ, j'utilise un adaptateur K7 pour relier la carte son à l'autoradio de la voiture.
J'achète ensuite un premier ampli afin de se passer de l'autoradio.
J'ai ensuite acquis un deuxième ampli pour ajouter un caisson de basse.
Aujourd'hui, j'ai remplacé les deux amplificateurs par un seul (Audison LRX 4.300).
Features actuels en résumé :
- Alimentation dédié et spécifique pour l'utilisation en voiture
- Os linux et logiciel Cajun pour la gestion du lecteur "multimédia"
- Navigation par répertoires
- Réglages des volumes sonores, contrôles de aigus/basses
- Montage/démontage de périphériques USB, ce qui permet de "lire" depuis une clé ou un hdd autoalimenté
- Backup de photo sur le hdd depuis un APN.. Très utile !!
- ...à compléter/organiser
Dans le futur :
- Ecran LCD graphique
- GPS et itinéraires routier
- module radio (Cajun le gère, mais jamais testé)
- ... à compléter
Marsh Posté le 11-05-2007 à 09:34:33
très bon topic, je suis également dans la place.
j'avais deja intégré un ultraportable dans ma console centrale (ne rigolez pas).
ecran 11p et pentium 233, alimenté par une alim on board.
j'avais créer une interface flash pour utiliser les mp3 sous win98, la navigation gps
avec mapstore...
maintenant, j'utilise mon tel-pda, c'est plus petit mais je pense que je vais
revenir bientot avec une install ecran 10p, mais cette fois avec une carte mere
dans le tdb.
je mettrais des photos historique si cela ne gène pas l'auteur du topic
et c'est vrai qu'en ce moment, je mettrais bien un linux dans ma caisse
pour remplacer le winOS.
mon seul souci se situant dans l'absence de logiciel sérieux
de navigation routiere GPS.
Marsh Posté le 11-05-2007 à 10:38:58
Pour les photos ca peut etre vraiment bien, j'en ai quelques unes moi aussi, je les mettrais un de ces jours..
L'objectif, ca serait de faire un peu la liste des différents projets "embarqués", les solutions mises en oeuvre, les astuces, des listes de matériel... Je pense que ca peut intéresser du monde vu la miniaturisation continuelle des composants, et l'utilité de ces montages...
Je vais mettre à jour mon premier post dans la journée, histoire d'avoir quelquechose de plus attirant ;d
Merci pour ta future contribution
Marsh Posté le 11-05-2007 à 11:24:47
l'ancienne intégration qui était amovible et qui m'avait bien dépanné
pendant mes vacances dans la région bordelaise que je ne connaissais
pas du tout (le gps était filaire) :
voila donc quelques photos du projet :
implantation du clavier
implantation de la souris
implantation de la CM (sera cachée en dessous bien entendu)
l'interface basique pour utiliser que j'avais créée
fonction camera de recul
Marsh Posté le 11-05-2007 à 15:56:20
ReplyMarsh Posté le 11-05-2007 à 16:13:55
kemkem a écrit : T'as programmé ca toi meme ? |
oui j'ai commencé ça en 2004 (cf la date sur l'appli).
c'est fait en actionscript (désolé )
je reprendrais bien tout ça gtk par exemple
Marsh Posté le 11-05-2007 à 16:17:31
Et tu as integré le tout dans la voiture ou pas encore ?
L'idée de la camera de recul est chouette ;d
Marsh Posté le 11-05-2007 à 16:23:12
je suis à la recherche d'un ecran vga pas trop cher donc j'attends patiemment et mes pièces aussi
il faudrais auss que je redeveloppe tout ça pour une distrib linux... sur Compatc Flash.
il faut du temps au temps, je n'ai que 5sem vacances / an
Marsh Posté le 23-05-2007 à 18:26:54
Petit up :
J'ai mis à jour le premier post en commencant à rassembler les informations generales.
A venir :
Photos
Liens vers des ressources logicielles
Schemas de cablage...
Marsh Posté le 23-05-2007 à 22:25:52
il y a des cartes embarquées qui fonctionnent avec un 5V seul, avec le 12 V de la batterie, c'est beaucoup plus simple pour les alimenter qu'un connecteur ATX.
ex : www.axiomtek.com www.kontron.com www.advantech.com
Avec une LFS qui boote en mémoire, y a moyen de mettre une mini distribution multimédia qui fait moins de 60 MO. J'en ai créé une avec un serveur X et la libxine, le tout peut tenir dans un format equivalent a un bouquin (carte + disque dur + alim 5V/12V). Après on peut y adjoindre un ecran LCD (y a un port LVDS sur ces cartes) et meme une dalle tactile resistive (sur une des cartes, y a un controleur resistif 4 fils).
Marsh Posté le 24-05-2007 à 10:26:48
de toute façon le pb d'un pc branché sur la batterie 12v, c'est qd la tension chute brutalement
lors du démarrage.
il faut obligatoirement un regulateur
Marsh Posté le 24-05-2007 à 11:28:40
A part l'alimentation DC/DC je n'ai pas de composants particulier pour reguler ou quoique ce soit..
Une fois le moteur allumé, aucun probleme, par contre, si on demarre, tout s'eteint
Il ne faut pas caler !
Marsh Posté le 24-05-2007 à 11:40:11
kemkem a écrit : A part l'alimentation DC/DC je n'ai pas de composants particulier pour reguler ou quoique ce soit.. |
c'est ça justement le pb (enfin pour moi c'en est un gros).
le systeme multimedia ne doit pas s'arreter qd on eteind ou demarre l'auto.
il doit s'eteindre seulement qd on retire la clef, comme l'autoradio.
sinon des fois dans les parking, en attente dans les bouchons...
çay bien de pouvoir continuer à matter une video ou que le gps
ne parte pas en vrille (qu'il faille reprogrammer la destination au moindre arrêt...)
c'est pour ça que j'avais choisi d'intégrer mon portable dans le TDB,
car il est tout d'abord sur batterie : pas de coupure
Marsh Posté le 24-05-2007 à 11:51:13
Oué, c'est clair.
J'avais pas bien compris vos reponses.
En fait, je crois qu'il suffit de mettre un gros condensateur pour prendre le relais le temps du demarrage.
Mais je ne sais pas trop comment il faut s'y prendre ni quelle valeur choisir..
Marsh Posté le 24-05-2007 à 12:28:32
ReplyMarsh Posté le 24-05-2007 à 12:34:08
franceso a écrit : les convertisseurs DC/DC sont justement là pour ça, non ? |
non,
les plus basiques ne regulent pas la tension, au pire le transfo coupe qd il n'a
plus assez de tension. s'il y a une variation admettons de 2 a 5% sur le 12v entrant,
fait le calcul par toi même sur le 220V sortant.
Marsh Posté le 24-05-2007 à 13:54:07
Ah bon.
Il me semblait que les convertisseurs haut de gamme incluaient aussi généralement des fonctionnalités de régulation de la tension de sortie...
Marsh Posté le 24-05-2007 à 13:59:25
Peut-etre, mais il y a une difference entre regulation du courant en sortie de l'alimentation (=stabilité des differents voltages) et protection des variations en entrée.
Le probleme se situe plutot sur l'entree, car, lorsque l'on remet le contact, la batterie ne delivre plus assez de puissance pour que l'alimentation soit opérationnelle.
Marsh Posté le 24-05-2007 à 14:02:48
Autre chose qui joue :
Pour éviter que l'alim soit en veille en permanence, j'ai placé un relais sur l'alimentation en provenance de la batterie, commandé par l'alimentation de l'alumme cigare. De cette facon, l'alim n'est en veille que l'on que l'on place la clé en mode "conctat electrique" et au delà. Mais je pense que l'alumme cigare est coupé brievement lorsque l'on passe du contact éléctrique au contact moteur.
Marsh Posté le 24-05-2007 à 14:12:31
kemkem a écrit : Peut-etre, mais il y a une difference entre regulation du courant en sortie de l'alimentation (=stabilité des differents voltages) et protection des variations en entrée. |
OK, dans ce cas ton idée de mettre un gros condensateur en entrée me paraît pas mal. Pour dimensionner la capacité, je dirais qu'il suffit de connaitre le temps de coupure de l'alimentation, l'intensité débitée, ainsi que le taux de variations du courant d'entrée supporté par ton convertisseur...
Marsh Posté le 24-05-2007 à 14:37:03
franceso a écrit : OK, dans ce cas ton idée de mettre un gros condensateur en entrée me paraît pas mal. Pour dimensionner la capacité, je dirais qu'il suffit de connaitre le temps de coupure de l'alimentation, l'intensité débitée, ainsi que le taux de variations du courant d'entrée supporté par ton convertisseur... |
il est malheureusement variable en fonction de ce que tu tire à la clef au moment du "contact".
tu ne peux pas avoir exactement le même geste et en plus en hiver en été...
le vroum vroum n'est pas instantané, le mieux c'est une petite batterie interposée entre la sortie régulée et la CM.
de toute façon tout cela existe maintenant à un prix proche de la 100aine d'euros.
des alim speciales pour CM embarquées
Marsh Posté le 11-05-2007 à 00:51:01
Je me lance, ce post sera surement modifié par la suite histoire de faire quelque chose de concis et concret.
Mon idée est de faire partager mon expérience dans le monde du linux "en voiture", et peut-être de rassembler du monde autour de ce concept !
MP3Car
1/ Hardware
1.1/ PC
Pour des fonctionnalités de base (musique..), un PC minimaliste suffit.
Un vieux pentium ferait même laffaire.. Seul le temps de démarrage peut être un handicap.
La dernière config que jai retenu :
- Carte Mère Via EPIA ML8000AG
- Carte son SB Live (les cartes son intégrés sont généralement de mauvaise qualité et mal reconnues sous linux)
1.2/ Alimentation
Il faut savoir que cest sans doute la partie la plus critique, car la seule source dénergie de la voiture est la batterie, dont la tension se situe entre +11v et +14v.
Le courant peut varier en fonction de divers paramètres :
- Ancienneté de la batterie / du véhicule
- Régime moteur (éteint, allumage, allumé..)
- Saison…
La voiture nest donc pas en apparence le meilleur endroit pour faire fonctionner un PC.
Au niveau compatibilité électrique, on ne peut pas brancher directement une alim de PC directement sur une batterie. En effet, la batterie délivre un courant continu autour de +12v, une alim attend un courant alternatif de 220v..
Deux solutions se présentent à nous :
- Utiliser un convertisseur de courant 12vDC->220vAC avec une alim classique
Avantage : facile à trouver, relativement abordable, se branche sur lallume cigare
Inconvénient : peu puissant, pertes électriques importantes et fiabilité désastreuse
- Se procurer une alimentation spécialisée pour un PC embarqué
Avantage : Stable et efficient, taille réduite
Inconvénient : Commande sur le Net uniquement, nécessite des connexions électriques a réaliser soi-même
Dans un premier temps, jai utilisé un convertisseur suivi dune alimentation PC.
Mais le convertisseur génère toute sorte de problèmes, et naide pas vraiment lalimentation du PC à délivrer des tensions correctes et stable. De plus, ca chauffe beaucoup, et ca siffle
Lalimentation dédiée est donc le meilleur compromis.
Il est également important de respecter la mise à la masse des éléments du PC .
Dans un boitier, le plan de masse de la carte mère est relié au châssis du PC grâce aux vis de fixation. Il est primordial que la carte mère soit reliée à la masse du véhicule (tous les points métalliques du châssis du véhicule)
1.3/ Affichage
Il existe plusieurs solutions :
- LCD sur port parallèle de type HD44780
- LCD CrystalFontz (port parallèle également si mes souvenirs sont bons)
- LCD MatrixOrbirtal de type LK204-25 sur port série
Le choix dun LK204 est de loin la meilleure solution.
Légèrement plus onéreux que les autres, cet écran intègre un bus dentrée permettant dy connecter un clavier miniature, et comporte également un bus de sortie permettant de piloter diverse application depuis le PC.
1.4/ Contrôles
Pour contrôler lapplication, on peut utiliser un pavé numérique qui rassemble les actions de base du logiciel. Cependant, grâce au port clavier de lécran MatrixOrbital, on peut connecter un clavier « customisé », dont la taille peut être fortement réduite.
Pour ma part, jai réutilisé le clavier dun ancien téléphone portable.
Jai également pu y intégrer un retro-éclairage des touches.
1.5/ Intégration
Intégrer le PC dans la voiture se révèle difficile, car les contraintes sont nombreuses :
- Trouver un endroit dans lequel le PC tiendra en place
- Laccès ne doit pas être trop difficile
- La ventilation doit être un minimum assurée
- Les vibrations doivent être évitées si on utilise un disque dur
- Les câbles dalimentation électrique doivent y parvenir tout comme les câblages audio
Pour ma part, jai choisi la boite à gant, la mienne étant relativement spacieuse.
De plus, cest lendroit le plus proche du moteur (pour se relier à la batterie), facilement accessible, proche également du tableau de bord pour y connecter lécran ou divers périphériques.
Mon PC est donc vissé sur une plaque de bois, à la dimension de la partie ouvrante de la boite à gant (toute la boite bascule). Le disque dur est placé au même endroit, entouré un bloc de mousse pour absorber les chocs.
Mais il existe dautres solutions : Le coffre, sous les sièges avant, la roue de secours…
Pour le reste, jai choisi de remplacer lautoradio par lalimentation.
La façade avant intègre lécran MatrixOrbital et le clavier.
2/ Software
2.1/ Généralités
Notre choix de lOS se porte donc sur Linux. Sans hésitation bien sur. ï
Pourquoi ?
- Stabilité et performances
- Possibilité de configurer la partition principale en read-only
(pour palier aux extinctions violentes, aux coupures&hellip
- Simplicité de mise en place de la partie logicielle, scripting, etc…
- Boot plus rapide
Le logiciel CAJUN, écrit en PERL, assure la gestion de la bibliothèque musicale, la playlist et la lecture des fichiers MP3. Jai choisi la version 3.1, qui est plutôt ancienne mais est suffisante. La version 4 nécessite lemploi dune base MySQL, ce qui entraine un temps de démarrage plus important.
CAJUN propose une bonne ergonomie pour une utilisation en voiture.
De plus, cest un logiciel libre, et facilement modifiable.
CAJUN est prévu pour fonctionner avec un écran MatrixOrbital ou CrystalFontz.
2.2/ Kernel
Niveau drivers, ai opté pour un kernel 2.6, principalement pour lintégration des drivers ALSA pour la partie audio.
Pour accélérer le démarrage du système, CAJUN est lancé en tant que processus dinit (option GRUB ou LILO). Ainsi, le démarrage prend moins 20 secondes.
3/ Audio
Reste le plus important : La partie diffusion du son !
La solution la plus simple consiste à relier la carte son du PC et dutiliser lentrée auxiliaire de lautoradio (si toutefois votre installation ne la pas remplacé).
Lautre solution consiste à séquiper dun ou plusieurs amplificateurs pour voiture.
Ceux-ci offre plus de souplesse, et plus de puissance surtout.
Mais linvestissement nest plus le même !
A savoir également que ceux-ci doivent être alimentés directement depuis la batterie, et leur allumage est déclenché par un signal +12v (le remote). Jutiliser un +12v en provenance du PC pour allumer ou éteindre mon amplificateur.
4/ Liens
Cajun
http://cajun.sourceforge.net/
Matrix Orbital
http://www.matrixorbital.com/
Alimentation MPD-810H
http://www.mgpowerusa.com/product/MPD-810H.htm
5/ Photos
Je completerais par des photos de mon install, que je n'ai toujours pas faites..
Voici quelques images tirés d'internet
L'alimentation
Cajun sur l'écran LCD
...navigation dans l'arborescence :
...lecture d'une piste
Libre à vous de réagir, compléter par vos expériences, suggestions, autres concept de lecteur multimédia embarqués... C'est mon premier Topic unique, merci donc pour vos remarques et vos critiques.. Constructives !
Et oui, je m'échine à maintenir un autoradio custom, alors qu'il existe aujourd'hui des solutions toutes faites.. Mais :
- C'est moins rigolo
- C'est un bon passe temps de geek
- Un PC permet certaines choses qu'un "simple" autoradio ne fournit pas
Message édité par kemkem le 23-05-2007 à 18:27:11