Réveil mp3

06/2007 : mon projet est de fabriquer un réveil lisant des mp3 à partir d'un montage NFS.

Il faut donc prévoir un petit ordinateur, un afficheur, des boutons d'interaction pour choisir l'heure de réveil et choisir la playlist ainsi qu'un périphérique pour jouer du son.

Pour l'ordinateur, mon NSLU2 est tout destiné à faire ce genre de tache : encombrement réduit, suffisamment puissant pour lire des mp3 et facilement customizable.

L'affichage des données est réalisé avec le LCD HD44780 branché en USB au slug. lcdproc défini un protocole d'échange client ⇔ server au format texte permettant de créer des écrans, placer et mettre à jour des widgets (texte, bargraphe, heure) à des coordonnées précise, de créer des menus et de naviguer dedans…

Coté sonore, la partie logicielle est déléguée à mpd qui fonctionne en mode client ⇔ serveur et est très peu consommateur de ressources. Il y a une multitude de clients disponibles (web, console, gui, C) dans différents langages (java, python, perl…). Le NSLU2 n'a pas de prise audio, j'ai trouvé, toujours sur un site d'enchère en ligne, une carte son au format d'un dongle USB. Il est reconnu nativement sous linux et est utilisable directement avec mpd.

Carte son usb

lcdproc est compatible lirc, programme d'interfaçage avec les télécommandes infrarouges. Mais une particularité de lirc est qu'il est capable de gérer d'autre types d'entrées : des périphériques USB comme des joypads. Ainsi, j'ai utilisé un modèle comme celui ci :

Joypad

Coté logiciel, j'ai programmé en C++ une interface utilisateur communiquant avec lcdproc et mpd avec une gestion un affichage de l'heure avec des gros caractères, 3 alarmes configurables, le parcours de playlist ainsi que la configuration de l'ensemble par le biais de menu.

Prototype avec écran LCD

02/2008 : j'ai abandonné le projet lorsqu'il ne me restait plus qu'à mettre l'ensemble dans un boitier : j'en ai pas trouvé avec une forme me convenant. De plus, le LCD était trop lumineux la nuit sans pour autant être lisible : il faut vraiment être en face pour avoir un bon contraste, contrairement à un réveil traditionnel avec des écritures rouges sur fond noir. :dead: