まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

Mot-clé - MediaCenter

Fil des billets - Fil des commentaires

lundi, 11 janvier 2021

Un Raspberry Pi 3 en MediaCenter #Kodi

On va ici reparler de l'installation manuelle de Kodi sur RaspberryPi, étant donné les quelques difficultés qui se sont présentées, alors que je souhaitais installer un Add-on sur ma précédente installation datant de 2016.

Depuis 2016 oui !
Entre temps j'avais juste — sans modification logicielle — échangé le Pi2 par un Pi3, pour un petit gain de performances appréciable.

  • Sans soucis majeur donc, sauf à avoir des Add-on parfois défaillants, comme l'Add-on youtube (sans pub !) qui demande maintenant (mais à priori les dév travaillent à y remédier) à ce que soit renseigné une identité d'API développer pour faire fonctionner l'Add-on.
  • Autre problème cet été… La chaleur. Comme chacun·e sait, le Pi3 vient sans dissipateur thermique, et il ne chauffe pas trop en temps normal, autour de 40° suivant la température ambiante. Jusqu'ici tout va bien comme dirait l'autre, mais arrivé en Août, pourquoi diable ma télécommande InfraRouge se met elle à déconner grave !?? J'appuie une fois sur le bouton et zouuu la commande est prise façon mitraillette par le Pi… J'ai rapidement remarqué qu'au démarrage du médiacenter, la télécommande fonctionnait bien, et ce n'est qu'au bout de quelques courtes minutes que le problème apparaissait, et vu les fortes chaleurs, j'ai fais le lien… Et « anéfé» le Pi tournait autour de 50° !
  • J'ai donc entrepris de changer mon boîtier (cf. Précédent billet) et d'en imprimer un nouveau (téléchargeable ici ou en annexe de ce billet), tenant compte du dissipateur thermique de récup découpé en gros rectangle et de ventilateurs ajoutés.

Voilà, avec ça c'est autour de 30°C et la télécommande n'a plus bronché !

  • Le système tournait donc, après mise à jour, avec Kodi 17.3, sur Raspbian GNU/Linux 8 (jessie), et un Kernel Linux 4.9.

Mais le nouvel Add-on ma dit : « trop vieux mec ! »… Mm'ok, je pourrais mettre à jour l'OS… Mais sur un Pi, avec une carte SD, c'est non, alors je réinstalle !

Le nouvel OS pour RaspberryPi à changé, c'est maintenant Raspberry Pi OS qui remplace Raspbian… cherchez pas c'est juste le nom qui change…
Allons-zy !

Lire la suite...

lundi, 15 août 2016

Un Raspberry Pi 2 en MediaCenter

dsc00067.jpg

  • Avec l’avènement du Raspberry Pi2, mon vieux médiacenter, lui-même PC recyclé (P4@2,66GHz) fait pas mal grise mine…

Incapable de lire des vidéo h264 qui dépasse le 720p, bruyant, énergivore (environ 80W), couplé à un vieux poste de télévision cathodique qui consomme aussi pas mal (environ 90Watt continu).
Utiliser un RpiPi2 (moins de 5W) donc me permettrait de laisser de côté tous ces inconvénients, cependant j'avais besoin d'une prise HDMI et c'est après avoir récupéré un vieux poste de télévision LCD (HD Ready, 720p et 1080i max, tuner mpeg2 obsolète, 50W en mode éco) que j'ai envisagé de changer mon système de médiacenter.

Entre temps, bonne nouvelle, plus besoin de bidouiller, ma clé wifi TP-Link est désormais reconnue par le kernel des derniers système GNU/Linux désigné pour RpiPi !

  • Voici donc l'histoire d'une migration, ou plutôt d'une lente progression…

1 - Choix du système d'exploitation :

À ma connaissance il y a deux possibilités, utiliser Raspbian Lite et à la main installer le logiciel médiacenter Kodi et tout le reste; Ou alors utiliser une distribution dédiée telle que Openelec ou RaspBMC. La première solution serait calquée sur ma démarche avec l'ancien médiacenter, mais puisqu'on me dit qu'Openelec offrirait de bien meilleures, j'ai donc choisis cette dernière…
Et après une semaine à m'échiner à faire fonctionner le truc, j'ai lâché l'affaire…
Pourtant j'avais réussis à tout faire fonctionner, télécommande, récup de la base, tout ça… sauf une chose, le partage réseau !
Avec ma config je n'ai pas le choix, je suis obligé de passer par un partage ssh, soit en sftp depuis l'interface de Kodi, qui s'évertue à monter ce partage en lecture seule…
Impossible de me rabattre sur le NFS, car mon stockage est chiffré, et NFS ne fonctionne donc pas.
Openelec étant verrouillée de partout, impossible d'installer un soft ou même d'écrire sur le disque, afin de monter un partage sshfs… Merci pour le temps perdu, au revoir !

Donc Raspbian Lite :) Ça je connais, et on va tout faire à la main, quoi de mieux que d'être servis par soit même !??

Lire la suite...

jeudi, 13 janvier 2011

Recycler un vieil ordi en MediaCenter -6-

Suite du cinquième épisode :

Télécommande infrarouge, le retour !

Je vais donc vous reparler du pilotage de l'interface graphique par une télécommande.

En effet, j'ai dégotté une petite télécommande facile à prendre en main, qui allait avec une chaine hifi.
Mais aucun fichier de config n'existe pour celle-ci, il fallu donc le créer à la main.

  • Pour cela, commencer par couper lirc :
sudo /etc/init.d/lirc stop
  • Puis on peut lancer cette commande :
sudo irrecord -H audio_alsa -d plughw:0,3 makotonoremote

Les paramètres font directement références à /etc/lirc/hardware.conf, vu dans le billet précédent. (attention, si pour une raison ou une autre on avorte le processus, il faudra effacer le fichier makotonoremote avant de relancer la commande).

irrecord demande de valider, après avoir lu les instructions, puis une seconde fois;
Là, appuyer à la suite les uns des autres tous les boutons de la télécommande, en rafale, histoire d'effectuer des lignes de point, au moins 2…
Jusqu'à ce qu'apparaisse un paragraphe de texte commençant par : «remote control found…»
C'est qu'on accède enfin à l'affectation des boutons !
On entre un texte d'identifiant et on valide, (j'ai choisi key_? et btn_? de la liste des noms prédéfini, donnée par la commande irrecord --list-namespace) puis on appuie le bouton qui correspondra.
et ainsi de suite…

Quand on a fini toutes les touches on valide pour arrêter.
Et pour terminer il faut valider à nouveau et mitrailler un bouton aussi vite que possible… irrecord s'arrête enfin !

Le résultat de toute l'opération se retrouve dans le fichier qu'on vient de créer et qu'on va alors copier et re-nommer ici :

  • /etc/lirc/lircd.conf
begin remote

  name  makotonoremote
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9000  4483
  one           617  1619
  zero          617   502
  ptrail        626
  pre_data_bits   16
  pre_data       0x807F
  gap          107936
  toggle_bit_mask 0x0

      begin codes
          key_1                    0x20DF
          key_2                    0x10EF
          key_x                    0x00FF
          key_4                    0x30CF
          key_5                    0x08F7
          key_6                    0x807F
          key_7                    0xA05F
          key_8                    0xB04F
          btn_1                    0x8877
          btn_2                    0x50AF
          btn_3                    0x708F
          btn_4                    0x48B7
      end codes

end remote

Ensuite, après avoir relancé le démon lirc, avec la commande irw on peut vérifier qu'à chaque boutons appuyés, le code matériel et l'identifiant s'affichent.

 Affectons donc les boutons qui seront utiles au pilotage :

  • Après pas mal de tests pour voir de cause à effet ce qui se passe pour chaque action, j'ai pu synthétiser le contenu du fichier /usr/share/xbmc/system/Lircmap.xml :
<lircmap>
	<remote device="makotonoremote">
		<play>btn_2</play>	# Lecture et Pause
		<stop>btn_1</stop>	# Stop
		<forward>btn_4</forward>	# Avance Rapide
		<reverse>btn_3</reverse>	# Retour Rapide
		<left>key_4</left>	# Déplacement à Gauche
		<right>key_6</right>	# Déplacement à Droite
		<up>key_2</up>		# Déplacement en Haut
		<down>key_5</down>	# Déplacement en Bas
		<select>key_x</select>	# Validation
		<pageplus>key_8</pageplus>	# Remonter la Page
		<menu>key_1</menu>	# Menu Principal
		<title>key_7</title> # Clic Droit
	</remote>
</lircmap>

dsc07253.png

On retrouve donc bien entendu le nom de la télécommande, sinon ça ne marcherais pas, et les fonctions de bases essentielles au pilotage d'XBMC…

Pour une raison que j'ignore, le bouton «Valider» ne voulait plus fonctionner après la mise à jour d'XBMC en version 10 : Dharma.
J'ai donc simplement édité et changé le nom du bouton dans /etc/lirc/lircd.conf, le passant de key_3 à key_x pour qu'il fonctionne à nouveau… cherche pas à comprendre va ^^"










Hum, bon, un petit mot sur cette nouvelle version «Dharma» d'XBMC sortie récemment;
Pour sa mise à jour, il suffit de faire :

sudo apt-get update && sudo apt-get upgrade

Si malgrès cela ça ne passe pas et que les paquets d'XBMC sont conservés, faire :

sudo apt-get install xbmc -V

pour forcer la mise à jour.

mercredi, 24 novembre 2010

Recycler un vieil ordi en MediaCenter -5-

Suite du quatrième épisode :

Télécommande infrarouge

Maintenant qu'on à un MédiaCenter opérationnel, on va encore pousser le truc un peu plus loin en y ajoutant une télécommande… parce-qu'à la souris c'est bien, mais dans le salon, c'est pas forcément bien pratique…

I - L'électronique :

1- Le montage :
dsc07183.jpg

Le seul composant nécessaire sera un récepteur infrarouge, tel qu'on peut en trouver dans de vieux appareils type magnétoscope, télé, etc…






J'ai récupéré celui-ci d'un télé qui allait à la poubelle…


  • Le montage est simple, et donné sur le site du projet LIRC, qui propose tout un tas de solutions pour télécommander un ordinateur.

J'ai choisis d'utiliser la carte son comme interface de contrôle, pour plusieurs raisons :

  1. pas de port série sur l'ordi.
  2. montage électronique complexe pour le port usb.
  3. pas besoin de compiler de module.
  4. montage électronique simple, mais ça je l'ai déjà dit…
  • Donc, il suffit de câbler le truc suivant ce schéma

ir-audio.png recepteurIR.jpg
Attention au câblage du récepteur qui peut être différent d'un modèle à l'autre… la référence de celui-ci est écrite dessus, une petite recherche et on dégotte la doc (mot clef datasheet) qui donne le brochage du composant. (doc complète d'exemple en annexes)

Le montage finalisé :
dsc07187.jpg dsc07186.jpg
Côté composants et côté soudure.

  • Reste à connecter ça sur une entrée de la carte son, ici l'entrée CD-Rom :

dsc07189.jpg dsc07191.jpg
Alimenter le circuit en 5 Volts avec le connecteur habituellement utilisé pour le lecteur de disquette; et utiliser le câble audio approprié souvent livré avec le lecteur CD, pour relier le montage à la carte son.

2- Essais :
Une fois fait, il suffit d'appuyer sur les boutons de n'importe quelle télécommande qui traine en direction du récepteur; on doit entendre des bruits bizarres, signe que le montage électronique fonctionne !

  • Si rien n'est audible, il faut configurer le mixeur de la carte son :
sudo alsamixer

En effet, pour que LIRC puisse utiliser l'entrée audio sur laquelle est branché le récepteur infrarouge, il faut que le paramètre de capture soit sur le bon device (barre d'espace sur CD) et que le niveau de la jauge capture soit élevé.
Il faut aussi dé-muter (touche m sur CD) et élever la jauge d'écoute de cette entrée (on la re-mutera quand tout fonctionnera) pour pouvoir entendre les petits bruits.

II - Faire fonctionner la télécommande dans Ubuntu :

1- Installation de LIRC :

  • Installation du logiciel de contrôle :
sudo apt-get install lirc

La «configuration de lirc» se lance automatiquement juste après l'installation des paquets,
À la partie «remote control configuration», choisir : «IR receiver IC connected to audio input using alsa (EXPERIMENTAL)»
À la partie «IR transmitter, if present», choisir : «Custom»

  • Récupérer le fichier de config de la télécommande qu'on souhaite utiliser, ici celle de ma télé:

Derrière le cache de pile, il est écrit RC 7535/01…
Recherche sur le site, et on trouve le fichier RC7535

  • On le copie dans /etc/lirc, en le renommant lircd.conf (on écrase s'il existe déjà).
sudo cp RC7535 /etc/lirc/lircd.conf
  • Éditer le fichier /etc/lirc/hardware.conf
sudo nano /etc/lirc/hardware.conf

Et vérifier que les lignes REMOTE et REMOTE_DRIVER sont correctement renseignées.
Renseigner la ligne REMOTE_LIRCD_CONF avec le nom du fichier lircd.conf.

# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="IR receiver IC connected to audio input using ALSA (EXPERIMENTAL)"
REMOTE_MODULES=""
REMOTE_DRIVER="audio_alsa"
REMOTE_DEVICE=""
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="lircd.conf"
REMOTE_LIRCD_ARGS=""


2- Essais :

  • Le démon lircd a été lancé automatiquement, donc on le tue :
sudo killall lircd

ou

sudo /etc/init.d/lirc stop
  • Le lancer avec ces paramètres afin de lui indiquer l'entrée de la carte son sur laquelle est branché le récepteur IR.
sudo lircd --driver=audio_alsa -d plughw:0,3
  • puis lancer :
irw

Le logiciel attends… appuyer sur des boutons de la télécommande, on doit entendre les bruits, et les codes des boutons doivent apparaître !!

Si on entend, mais que les codes ne viennent pas, tuer la tâche (ctrl+c) et relancer le démon en changeant ce paramètre :
plughw:0,3 correspond à l'entrée CD_IN de ma carte son, ce que je ne savais pas au départ car rien ne fonctionnait.
Le premier chiffre correspond à la carte son, ici 0=la première... çà tombe bien y'en a qu'une !
Le second chiffre correspond au "device", genre MIC, AUX, CD, etc
j'ai donc successivement essayé la commande précédente avec plughw:0,0 , plughw:0,1 , etc, jusqu'à ce que les codes des boutons apparaissent.

  • Enfin, pour fixer les paramètres, éditer /etc/lirc/hardware.conf et renseigner la ligne REMOTE_DEVICE avec plughw:0,3
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="IR receiver IC connected to audio input using ALSA (EXPERIMENTAL)"
REMOTE_MODULES=""
REMOTE_DRIVER="audio_alsa"
REMOTE_DEVICE="plughw:0,3"
REMOTE_SOCKET=""
REMOTE_LIRCD_CONF="lircd.conf"
REMOTE_LIRCD_ARGS=""

#Chosen IR Transmitter
TRANSMITTER="Custom"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_SOCKET=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""

#Enable lircd
START_LIRCD="true"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD="false"

#Try to load appropriate kernel modules
LOAD_MODULES="true"

# Default configuration files for your hardware if any
LIRCMD_CONF=""

#Forcing noninteractive reconfiguration
#If lirc is to be reconfigured by an external application
#that doesn't have a debconf frontend available, the noninteractive
#frontend can be invoked and set to parse REMOTE and TRANSMITTER
#It will then populate all other variables without any user input
#If you would like to configure lirc via standard methods, be sure
#to leave this set to "false"
FORCE_NONINTERACTIVE_RECONFIGURATION="false"
START_LIRCMD=""
  • Redémarrer le démon :
sudo /etc/init.d/lirc restart

C'est fini !
Reste à faire matcher tout çà avec XBMC.....

III - Piloter XBMC :

1- Configuration :

  • Ouvrir le fichier /etc/lirc/lircd.conf :

Relever le nom de la télécommande :

name	Philips_RC7535

Laisser le fichier ouvert...

  • Dans une seconde console (Ctrl+Alt+F2), éditer le fichier /usr/share/xbmc/system/Lircmap.xml :
sudo nano /usr/share/xbmc/system/Lircmap.xml

On va piquer la première section,

<remote device="mceusb">
...
</remote>

en remplaçant le nom de la télécommande par la notre, ici Philips_RC7535 et pour faire un test, on va repérer deux touches évidentes sur la télécommande, comme P+ et P-.
On repère leurs begin codes dans le fichier /etc/lirc/lircd.conf.
Simple, c'est P+ et P-
Et on va choisir une fonction évidente pour xbmc, comme Lecture et Stop pour y mettre les deux codes, comme ceci :

<lircmap>
  <remote device="Philips_RC7535">
    <play>P+</play>
    ...
    <stop>P-</stop>
    ...
  </remote>
</lircmap>

Enregistrer et quitter.

2- Essais :

  • Lancer xbmc avec startx.

Naviguer à la souris pour aller jusqu'à mettre une vidéo ou une musique en surbrillance.
Appuyer sur P+ de la télécommande et la lecture doit démarrer !!!
Appuyer sur P- et la lecture doit stopper !!

Voilà, de la même manière, reste plus qu'à affecter à sa guise toutes les autres touches.

Restera à faire un trou dans le médiacenter et à fixer la carte électronique afin d'y faire coïncider la cellule infra-rouge.

Merci à :
http://doc.ubuntu-fr.org/lirc
http://doc.ubuntu-fr.org/tutoriel/installation_recepteur_infrarouge_sur_port_audio
http://ubuntuforums.org/showthread.php?t=477958

À suivre…

- page 1 de 2