IOT

IOT

dilluns, 13 de març del 2017

Sistema de so Multiroom II (Client Squeezelite per a Raspberry)

Instal·lació Squeezelite a la Raspberry


Un cop tenim configurat el servidor Squezeeserver a la nostre Raspberry, necessitarem configurar els clients o receptors. Podrem escollir entre diferents opcions com poden ser:

·         Un client Squeezeplay amb pantalla TFT de 3,5 polzades (o més, o sense) en el mateix servidor.
·         Un client Squeezeite a una Rapberry (u, dos, tres, i fins i tot a la zero) amb o sense pantalla LCD.
·         Un client SqueezePlay a l’ordinador Windows o Linux (no tinc Mac per tant no ho podré explicar).
·         Un client al mòbil o tauleta amb Android.


En aquest capítol explicarem com instal·lar un client Squeezelite a una Rapberry , per aquest exemple he fet servir una dos, però funciona igualment en qualsevol model.

Necessitarem:

·         Una Raspberry-Pi amb el seu alimentador i targeta microSD
·         Una targeta de so USB (més endavant explicarem com incorporar un DAC)
·         Els corresponents altaveus amb el seu amplificador (podrem fer servir altaveus de PC, cadenes de música, columnes de so, altaveus encastats al sostre, etc...).

El primer pas serà canviar-li el nom a la Raspberry, donat que al tenir-la en xarxa, ens serà útil per identificar-la i distingir-la de la resta. Per fer això, entrarem a la configuració amb la instrucció ja coneguda:

sudo raspi-config

7 Advanced Options


Opció 2  “A2 Hostname”,

 


Acceptem seleccionant “D’acord”
 
Esborrem el nom i introduïm el nou


Només es poden fer servir lletres, números i el símbol menys “-“, la resta de caràcters no son compatibles.

Acceptar i sortir.

Instal·lació de les biblioteques

Per instal·lar les biblioteques necessàries pel só d’aquest projecte, introduirem les següents instruccions:
sudo apt-get install libfaad2 libflac-dev libmad0 -y
sudo apt-get install -y libflac-dev libfaad2 libmad0 -y

Instal·lació de Squeezelite

Crearem un directori de treball per Squeezelite i descarregarem els fitxers:

mkdir squeezelite
cd squeezelite
wget -O squeezelite-armv6hf http://ralph_irving.users.sourceforge.net/pico/squeezelite-armv6hf-noffmpeg


Mourem el fitxer descarregat al directori /usr/bin i el farem executable:

sudo mv squeezelite-armv6hf /usr/bin
sudo chmod a+x /usr/bin/squeezelite-armv6hf

Ajustar el nivell de so

Tot seguit ajustarem els nivells de so de la nostre targeta per evitar que se senti massa fluís, o que distorsioni per excés de volum.
Executarem:

sudo alsamixer


Amb la tecla F6 seleccionarem la targeta de sortida de so, en aquest cas USB PnP Sound Device.


Ajustarem el volum de sortida de l’audio mitjançant les tecles amunt i avall, seleccionant el màxim nivell possible sense arribar a la zona vermella.


Amb la tecla tabular, passarem a la selecció del nivell del micròfon, el qual baixarem al mínim (tecla fletxa avall) per evitar interferències.


Si tornem a fer servir la tecla tabular veurem com ha quedat la configuració:


Ara haurem de prémer la tecla Esc per enregistrar els canvis i sortir.

Configuració de la targeta de so.

Avanç d’iniciar el reproductor, haurem de localitzar la ruta de la nostre targeta de so.
Començarem per llistat els dispositius:

sudo /usr/bin/squeezelite-armv6hf -l


A continuació dels dispositius bcm2835 ALSA que son les sortides internes de la Raspberry (DEV=0 la sortida analògica, i DEV=1 la sortida d’àudio pel port HDMI), trobarem les sortides USB, que son les que configurarem tot seguit.
Donat que farem sevir la sortida estèreo haurem d’escollir "front:CARD=Device,DEV=0 ".

Així compondrem l’ordre d’engegada segons el següent:

squeezelite-armv6hf -o front:CARD=Device,DEV=0 -n cuina -s 192.168.1.90

La qual detallem seguidament:

“squeezelite-armv6hf”  Es l’aplicació pròpiament dita.
“-o front:CARD=Device,DEV=0”  Indica la sortida (output) escollida per treure el so.
“-n cuina”  Dona nom al client (en aquest exemple cuina)
“-s 192.168.1.90”  Indica l’adreça IP del servidor
Per sortir prenem Control + C.

Inici de Squeezelite al arrencar

Al objecte de el nostre client arrenqui de manera automàtica cada vegada que iniciem la Raspberry, haurem de configurar unes petites instruccions que s’executin a cada arrencada.
Ens desplacem al directori Squeezelite:

cd
cd squeezelite

Crearem el script per executar l’aplicació amb la nostre configuració:

sudo nano startup.sh

I enganxeu aquest text (adaptant-lo a la vostre instrucció creada a l’apartat anterior):

#!/bin/bash
squeezelite-armv6hf -o front:CARD=Device,DEV=0 -n cuina -s 192.168.1.90


Sortim i enregistrem amb Control X, Y, Intro.

I convertirem el script en executable:

sudo chmod +x startup.sh

Seguidament inclourem el fitxer en la seqüencia d’arranc:

sudo VISUAL=nano crontab -e

Al final del document engatxarem aquesta línia:

@reboot /home/pi/squeezelite/startup.sh

I per verificar-ho reiniciem amb:

sudo reboot

Un cop reiniciada la Raspberry podrem verificar que la tenim disponible mitjançant l’entorn web del LMS, explicat a l’article anterior. 

 
I fins aquí la instal·lació del client en una Raspberry 1, 2 o 3. La instal·lació a la versió Zero, la explicarem més endavant, al igual que la versió de PC “Windows i Linux” i la de tablet o mòbil “Android”.

Salut.

Cap comentari:

Publica un comentari a l'entrada