DietPi + LMS Raspdacmini

Ici on parle de Raspberry PI, Sparky, Odroid... avec des solutions comme Squeezelite, MPD, Max2Play... ainsi que leur DAC et accessoires dédiés
JeromeL
Messages : 8
Inscription : mar. 28 avr. 2020 16:21

DietPi + LMS Raspdacmini

Message par JeromeL » jeu. 04 juin 2020 13:10

Bonjour,
J'ai récemment configuré mon raspdac mini avec DietPi pour le faire fonctionner comme une Squeezebox. Je n'ai malheureusement pas pu faire tourner tous ça sur Picoreplayer, à cause de python(µPython refuse d'installer luma.oled) que je n'ai pas réussi à installer convenablement.

EDIT: Le raspdac mini utilise un DAC I SABRE ES9038Q2M, donc ces manip pourraient être appliqué pour qui veux coller un ecran oled et une télécommande sur cette carte je pense.

En gros sur dietpi:
- J'ai installé Squeezelite avec le support des télécommandes infrarouge(j'ai cherché un moment avant de comprendre pourquoi ça marchait pas !)
- Configuré la télécommande sur lirc
- réécrit les scripts python d'audiophonics pour interroger le serveur Logitech Media Server(LMS)
- créé un fichier python pour les requètes LMS

grace à tout ça, l'affichage est mis à jour depuis le serveur LMS, l'affichage du volume n'affiche plus 100% tout le temps.
La télécommande gère le volume de la "squeezebox"
Et en bonus LMS gère L'Upnp, donc on peut envoyer le son de plusieurs manières
et biensûr on peu synchroniser ses lecteurs facilement !
Bye bye MPD donc

voila ce que ça donne :
IMG_20200604_140059.jpg
IMG_20200604_140059.jpg (132.5 Kio) Consulté 455 fois
désolé l'écran devait être en train de rafraichir sur la deuxième photo :lol:
IMG_20200604_140055.jpg
IMG_20200604_140055.jpg (144.97 Kio) Consulté 455 fois
je me suis aussi fait une mini application Qt pour ordi(linux), histoire d'avoir la page de LMS(avec le thème material trop beau), minimisable dans la barre des taches.
Qtsqueezelite.png
Qtsqueezelite.png (41.83 Kio) Consulté 452 fois
Je voulais savoir si ces travaux interresserait quelqu'un, dans ce que je ferait un petit tuto/partage

nikoaveyron12
Messages : 2
Inscription : mar. 07 juil. 2020 19:42

Re: DietPi + LMS Raspdacmini

Message par nikoaveyron12 » ven. 10 juil. 2020 07:32

Bonjour , je veux bien des explications sur la télécommande et le module LIRC , car je fais un streamer raspberry dans un boitier hifi 2000 avec la carte 9038q2m vous pouvez voir dans la section montage diy.Je tourne avec Picoreplayer et Lms elle marche bien cette carte 9038q2m j'ai rajouter l'encodeur pour pouvoir gérer le volume hardware mais je galére pour le paramétrage , j'ai gestion de l'alim par bouton poussoir .

JeromeL
Messages : 8
Inscription : mar. 28 avr. 2020 16:21

Re: DietPi + LMS Raspdacmini

Message par JeromeL » jeu. 30 juil. 2020 10:39

nikoaveyron12 a écrit :
ven. 10 juil. 2020 07:32
Bonjour , je veux bien des explications sur la télécommande et le module LIRC , car je fais un streamer raspberry dans un boitier hifi 2000 avec la carte 9038q2m vous pouvez voir dans la section montage diy.Je tourne avec Picoreplayer et Lms elle marche bien cette carte 9038q2m j'ai rajouter l'encodeur pour pouvoir gérer le volume hardware mais je galére pour le paramétrage , j'ai gestion de l'alim par bouton poussoir .
bonjour,
il faut dans un premier temps télécharger une version de squeezelite compilé avec la prise en charge des capteurs infrarouge.
personnellement j'ai carrément remplacé l'executable squeezelite dans /usr/bin par celui compilé avec l'infrarouge. Le truc à ne pas faire puisque, s'il y a mise à jour de squeezelite, le fichier sera cramé !
ah oui je viens de retrouver le lien pour le télécharger, qui m'avais pris des heures à trouver (armv6hf pour les raspberry) :
https://sourceforge.net/projects/lmscli ... ite/linux/
un lien qui m'a beaucoup inspiré aussi :
http://www.gerrelt.nl/RaspberryPi/wordp ... -raspbian/
Puis voici mon fichier squeezelite.service, lancé au démarrage par systemd(dans /etc/systemd/system:

Code : Tout sélectionner

#copy it into /etc/systemd/system folder
[Unit]
Description=SqueezeLite (DietPi)

[Service]
ExecStart=/usr/bin/squeezelite -a 4096:1024:16:0 -C 5 -n 'DietPi-Squeezelite' -f /var/log/squeezelite.log -i /etc/lirc/lircrc

[Install]
WantedBy=multi-user.target

dans ce fichier il faudra remplacer /usr/bin/squeezelite par l'emplacement où vous aurez placé votre nouvel executable squeezelite
Edit: il faudra activer le service au démarrage

Code : Tout sélectionner

sudo systemctl enable squeezelite.service
mon fichier lircrc:

Code : Tout sélectionner

#
# Initial test configuration for systemwide irexec service.
#
# Note that the system-wide service is useful only in corner-cases.
# Most scenarios are better off with a session service as described in the
# Configuration Guide. However, note that both can also be combined.
#
# Also note that the system-wide service runs without a terminal. To
# check the output generated use something like
# 'journalctl -b0 /usr/bin/irexec'. This service just echoes some keys
# commonly available.
#
#Copy it into /etc/lirc folder
#
begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_VOLUMEUP
    config = echo 'KEY_VOLUMEUP'

end

begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_VOLUMEDOWN
    config = echo 'KEY_VOLUMEDOWN'
end

begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_REWIND
    config = echo 'KEY_REWIND'
end

begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_FORWARD
    config = echo 'KEY_FORWARD'
end

begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_PAUSE
    config = echo 'KEY_PAUSE'
end

begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_MUTE
    config = echo 'KEY_MUTE'
end

begin
    remote = RaspdacMini
    prog   = squeezelite
    button = KEY_MENU
    config = echo 'KEY_MENU'
end

et enfin mon fichier lircd.conf:

Code : Tout sélectionner

#
#Copy it into /etc/lirc folder
#
begin remote
	name RaspdacMini
	bits 8
	flags SPACE_ENC|CONST_LENGTH
	eps 30
	aeps 100
	header 9047 4480
	one 603 1664
	zero 603 531
	ptrail 603
	repeat 9047 2226
	pre_data_bits 16
	pre_data 0x77E1
	post_data_bits 8
	post_data 0x55
	gap 108227
	suppress_repeat 5
	toggle_bit_mask 0x0
		begin codes
			KEY_REWIND 0x10
			KEY_FORWARD 0xE0
			KEY_VOLUMEUP 0xD0
			KEY_VOLUMEDOWN 0xB0
			KEY_MUTE 0xBA 0x20
			KEY_MENU 0x40
			KEY_PAUSE 0x7A 0x20
		end codes
end remote
Edit: utiliser irrecord pour connaître les adresses des boutons de la télécommande.
voilà bon courrage

Répondre