RSS

Raspberry B + Carte Wolfson Pi Audio

17 Fév

Wolfson-Pi

Désireux de créer une nouvelle « Zone Audio » dans ma salle de bain, j’ai acheté (sur Amazon) une carte « fille » : Wolfson Pi Audio Card.

Ma première « Zone Audio » est constituée d’un Raspberry B avec une paire d’enceintes alimentées en USB. Ce système fonctionne très bien mais la qualité audio n’est pas au rendez-vous, enfin, pour écouter la radio dans la cuisine : ça va ! Mais le problème c’est que lorsque rien n’est diffusé on peut toujours entendre du « bruit électronique »

L’idée de cette nouvelle installation se base toujours sur un Raspberry B, d’une paire d’enceintes étanches (pas trop chères : moins de 20 Euros) et d’une carte Wolfson (à 50 Euros, paf !) qui a la particularité (par rapport aux autres cartes « DAC« ) d’intégrer un amplificateur !

HPsdb

Installation physique :

L’installation est relativement simple : les broches de la carte se branchent sur le connecteur P1 et les 8 « tiges » vont faire contact avec le P5 ! Donc pas de soudure à faire ! Par contre si vous voulez brancher des Haut-parleurs en direct dessus (comme moi), il faudra trouver des « headers » ou bornier vis à souder !

Aussi, lorsque je peux éviter les ondes (wifi, bluetooth…) je le fais ! Je piloterai cette « Zone Audio » (comme l’autre) en Infrarouge avec un composant de type TSOP4838. Mais le problème est que cette carte ne me permet plus de me brancher « comme avant » !

Old-Pinout

Branchement comme avant (GPIO 18)

New-Pinout

Branchement avec carte Wolfson !

En effet, les seuls GPIO accessibles sont en réalité un port série : RX, TX & GND ! je vous expliquerai plus bas comment utiliser le RX pour notre récepteur infrarouge ! Le fil Data (Violet sur les photos) passe du GPIO 18 au RX, le GND (Gris) va sur GND et le 3.3V (Blanc) je l’ai trouvé sur le port EX_Connection en position 2.

TSOP_Raspberry

Le module Récepteur Infrarouge !

Installation logicielle :

J’utilise « Logitech Media Server » (aka LMS) en tant que Server Radio/Musique et il y a une distribution Linux Raspberry parfaite en tant que Client : SqueezePlug : il gère la carte Wolfson ‘out of the box’ ! Il suffit de suivre les instructions Telecharger/Créer la carte SD/…

Pour l’infrarouge, j’utilise « Lirc », il y a de trés bon tuto pour apprendre au raspberry à reconnaître les codes IR et pour exécuter les ordres en fonction du bouton de la télécommande appuyée !

Trucs & Actuces :

Commençons par le port DATA du récepteur Infrarouge : le RX du port série est bloqué en port série : OK supprimons le port série, tout d’abord mettre en commentaire (avec un #) dans /etc/inittab la ligne :

#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Puis, on supprime les références au port série (ttyAMA0) dans le fichier /boot/cmdline.txt donc la ligne :

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Devient :

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Ainsi, le port série « supprimé », on peut « forcer » le module Lirc à utiliser les GPIO 14 & 15, en ajoutant dans /etc/modules, la ligne suivante :

lirc_rpi gpio_in_pin=15 gpio_out_pin=14

Et après un reboot, si tout est OK vous devriez avoir ce message au démarrage :

root@raspberry:~# dmesg | grep lirc
[   15.629145] lirc_dev: IR Remote Control driver registered, major 248
[   15.647619] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[   16.607478] lirc_rpi: auto-detected active low receiver on GPIO pin 15
[   16.609408] lirc_rpi lirc_rpi.0: lirc_dev: driver lirc_rpi registered at minor = 0
[   16.612289] lirc_rpi: driver registered!

Pour finir, le Raspberry & la carte Wolfson sont dans un placard, mais alors comment faire pour l’infrarouge : Et tirant dans mon grenier, les 2 câbles pour les enceintes, j’ai aussi tiré un câble Cat5 pour le signal infrarouge, le récepteur est caché dans la bouche d’extraction VMC… et ça marche plutôt bien !

VMC-IR

Update du 01/03/2015 :

Depuis le Kernel 3.18 ou 3.17, il est nécessaire de modifier le fichier /boot/config.txt pour faire fonctionner le module « lirc-rpi »:

# Uncomment this to enable the lirc-rpi module
dtoverlay=lirc-rpi

# Uncomment this to override the defaults for the lirc-rpi module
dtparam=gpio_out_pin=14
dtparam=gpio_in_pin=15
#dtparam=gpio_in_pull=down
 
Poster un commentaire

Publié par le 17 février 2015 dans Cables, Hardware, Software

 

Commentaires...

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s