Dans la première partie, nous avons vu comment installer mpd et mpc sur
le Raspberry Pi. Nous avons donc maintenant un Raspi capable de lire
des flux de radios internet. Dans cette deuxième partie, nous allons
voir comment créer une playlist contenant les flux vers vos radios
favorites. Premièrement, il faut récupérer les adresses des flux des
radios que vous souhaitez écouter. Pour cela, Google est votre ami, ou
bien ces sites qui recensent les radios principales françaises :
Sur les sites précédents, vous trouverez deux types de liens : soit des
lien en .mp3, d'autres en .m3u (format de playlist). Le second
type (.m3u) ne sera pas accepté par mpd comme flux unitaire. Il faudra
donc ouvrir les fichiers .m3u avec un éditeur de texte pour récupérer le
lien vers le flux mp3. Une fois votre liste d'adresse constituée,
connectez-vous sur le Raspi, puis vider la liste de lecture actuelle :
Enfin, ajoutez un à un les différentes adresses recueillies avec mpc
add :
$ mpc add http://mp3.live.tv-radio.com/franceinfo/all/franceinfo.mp3
$ mpc add http://radio.podradio.fr:8000/adsl
$ # etc.
Une fois tous les flux ajoutés, on peut enregistrer la liste de lecture
:
MPD va alors enregistrer la liste dans le dossier
/var/lib/mpd/playlists/ (paramétrable dans /etc/mpd.conf). Enfin,
voici les commandes utiles pour afficher la playlist actuelle, écouter
une station, etc. :
$ mpc playlist
France Inter - 128 - mp3
podradio.fr: Bepod - Wii oui wii
...
$ mpc play 2 # pour lire le deuxième flux "podradio"
$ mpc prev # pour lire le flux précédent dans la liste
$ mpc next # pour lire le flux suivant
$ man mpc # pour la liste de toutes les commandes possibles ;-)
Voilà pour aujourd'hui. Nous verrons dans la suite comment accéder à
mpd autrement que via mpc sur une connexion ssh, ce qui n'est pas
forcément très sexy ;-).
Première partie sur la construction d'une radio Internet basée sur un
Raspberry Pi.
Je considère que vous possédez une Raspberry Pi, avec la distribution
Raspbian installée et configurée, avec une connexion à distance
activée via ssh.
Dans cette première partie, nous allons installer MDP (Music Player
Daemon) qui va
servir de lecteur de musique embarqué, ainsi que MPC (Music Player
Command) qui servira à piloter MPD (telle une télécommande) :
Pré-requis
Vérifier que le driver audio est correctement installé :
Il doit apparaître le driver snd_bcm2835 dans le résultat. Si ce n'est
pas le cas, essayer :
$ sudo modprobe snd_bcm2835
Installation
L'installation est facile (après mise à jour des dépôts) :
$ sudo aptitude update
$ sudo aptitude install mpd mpc
Configuration
Le fichier de configuration de mdp est /etc/mdp.conf. On pourra y
paramétrer les dossiers où MPD ira chercher la musique et les playlist
par exemple. Une fois les réglages effectués, redémarrer le service :
$ sudo /etc/init.d/mpd restart
Test
Brancher un casque ou une paire d'enceintes sur la sortie audio du
Raspi. Nous allons maintenant ajouter un flux audio provenant d'une
radio internet, et lancer la lecture de ce flux :
$ mpc add http://mp3.live.tv-radio.com/franceinfo/all/franceinfo.mp3
$ mpc play
Tadaaam ! Normalement vous devriez entendre la radio.
Nous verrons dans le prochain article comment créer une liste de radio,
changer de station, régler le volume, etc. Si vous êtes pressés, il y a
toujours le manuel de mpc à lire ;-)
Comme tout bidouilleur qui se respecte, j'ai fait
l'acquisition d'un Raspberry Pi. Au départ sans vraiment avoir d'idée
fixe de projet en tête (ni de temps pour le faire...), mais récemment
une idée m'est venue : réaliser une radio internet.
Le Raspberry Pi possède tout ce qu'il faut pour réaliser une radio
Internet :
- Une sortie audio via une prise Jack 3.5mm
- Une prise Ethernet pour se connecter à Internet
- Des ports USB pour une clef contenant de la musique, ou bien un dongle Wifi
- Des entrées / sorties GPIO pour y connecter directement des boutons, LEDs ou autres
- Un port série et I²C pour y mettre un écran LCD (pour visualiser le titre en cours, etc.)
- La carte est petite, donc facilement intégrable, consomme peu et ne chauffe pas
- Le Linux embarqué permettra tout type d'évolution, contrairement à une radio internet du commerce fermée.
Je compte associer le Raspi à une paire d'enceintes de bureau
récupérées, et intégrer le tout dans un boîtier maison, pour au final
avoir une solution low-cost.
Je vais essayer de rédiger plusieurs articles pour détailler la démarche
pas à pas de réalisation de cette radio.
A bientôt ! ;-)
Pour sauvegarder mes données, je dispose d'un petit serveur personnel
avec un gros volume en RAID5 sur lequel je sauvegarde toutes mes autres
machines, et où je stocke mes fichiers, principalement des photos. Je
suis alors théoriquement protégé contre une panne matérielle.
N'étant jamais trop prudent, j'ai décidé de mettre en place une solution
de sauvegarde distante, c'est à dire pas chez moi, dans le cas où la
sauvegarde sur le serveur venait à être perdue (cambriolage,
incendie,...).
Après avoir fait rapidement le tour des solutions existantes sur le
marché, mon choix s'est arrêté sur CrashPlan pour plusieurs raisons :
- Il existe un client pour Linux
- Le tarif est plus que raisonnable (50$ par an, avec un volume de sauvegarde "illimité")
- Les transferts et les fichiers sauvegardé sont encryptés
Dans la suite de l'article je vais détailler l'installation et
l'administration de CrashPlan sur un serveur Debian.
CrashPlan est divisé en deux parties. Une application back-end qui
tournera en permanance sur le serveur, et une application front-end
graphique pour paramétrer le tout. Malheureusement on est obligé
d'utiliser cette application graphique pour paramétrer la sauvegarde.
N'ayant pas d'écran ni de serveur X sur le serveur, il faudra dans un
second temps paramétrer l'application graphique sur une autre machine
avec un écran pour qu'elle communique avec le serveur.
Sur le serveur et sur la machine qui servira à paramétrer, télécharger
CrashPlan. Pour cela, récupérer l'URL sur le site de téléchargement
: http://www.crashplan.com/consumer/download.html?os=Linux
$ wget http://download.crashplan.com/installs/linux/install/CrashPlan/CrashPlan_3.2.1_Linux.tgz
Extraire l'archive puis lancer le script d'installation :
$ tar xzf CrashPlan_3.2.1_Linux.tgz
$ ./install.sh
Suivre alors les indications. Notamment CrashPlan peut installer sa
propre machine virtuelle Java en parallèle de l'existante.
Nous allons maintenant, sur le serveur, modifier la locale. En effet,
CrashPlan gère très mal la locale POSIX, si bien qu'il ne sauvegardera
pas les dossiers contenant des accents (!).
Il faut donc installer puis configurer la locale fr_FR.utf8 (dans mon
cas) :
$ sudo aptitude install locales
$ sudo dpkg-reconfigure locales
Enfin, rajouter les deux lignes suivantes au fichier /etc/profile :
export LANG=fr_FR.utf8
export LC_ALL=fr_FR.utf8
Et recharger :
Maintenant nous pouvons relancer le daemon Crashplan (je ne suis pas
certain que cette étape soit nécessaire, mais dans le doute ;-) ):
$ sudo /etc/init.d/crashplan restart
C'est tout pour la partie serveur.
Sur la machine avec écran, trouver puis éditer le fichier de
configuration de l'application graphique CrashPlanDesktop (voir les
messages de log lors de l'installation). Par défaut, le fichier se situe
ici : /usr/local/crashplan/con/ui.properties. Suivre alors les
instructions disponibles ici.
Vous pouvez maintenant lancer le client graphique pour paramétrer la
sauvegarde (volumes à sauvegarder, limitation de la bande passante,
etc.).
Voilà, vous pouvez maintenant dormir l'esprit tranquille ! :-)
Voici un petit article pour expliquer l'installation de
ReplicatorG sous Debian, mais est très facilement adaptable à
tout autre distribution GNU/linux.
ReplicatorG est un logiciel de contrôle sur le PC qui permet de :
- Ouvrir et visualiser des fichiers 3D au format .STL
- Générer le GCode en utilisant le moteur SkeinForge
- Se connecter et envoyer des ordres à la carte de commande de la
RepRap.
ReplicatorG est un logiciel assez populaire et beaucoup utilisé dans le
monde de l'imprimante 3D libre car il dispose de beaucoup d'options et
est compatible avec beaucoup de modèles d'imprimante.
Cette article ne couvrira que l'installation du logiciel, je ferais une
présentation détaillée plus tard.
Aller sur le site http://replicat.org/download pour récupérer le
logiciel correspondant à votre OS, en l’occurrence "Linux".
Décompresser l'archive :
tar xvzf replicatorg-0029_r2-linux.tgz
Installer le JRE Java pour la visualisation 3D (ne fonctionne pas
pour l'instant avec la version libre openjdk) :
sudo aptitude install sun-java6-jre
Puis sélectionner la version de java à utiliser en choisissant la
ligne contenant sun :
sudo update-alternatives --config java
Ensuite il faut copier le driver librxtxSerial de votre système en
lieu et place du driver embarqué dans le dossier de Replicatorg (dans
mon cas, mon système est 64 bits) :
cp /usr/lib/jni/librxtxSerial.so replicatorg-0029_r2/lib-x86_64/
Si vous ne faites pas cette étape, il se peut que vous vous
retrouviez avec ce type de crash :
*** buffer overflow detected ***: java terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x37)[0x7f4fa22001d7]
/lib/x86_64-linux-gnu/libc.so.6(+0xfd0f0)[0x7f4fa21ff0f0]
/lib/x86_64-linux-gnu/libc.so.6(+0xfc569)[0x7f4fa21fe569]
/lib/x86_64-linux-gnu/libc.so.6(_IO_default_xsputn+0xd8)[0x7f4fa2176b98]
/lib/x86_64-linux-gnu/libc.so.6(_IO_vfprintf+0x1abd)[0x7f4fa214931d]
/lib/x86_64-linux-gnu/libc.so.6(__vsprintf_chk+0x94)[0x7f4fa21fe604]
/lib/x86_64-linux-gnu/libc.so.6(__sprintf_chk+0x7a)[0x7f4fa21fe54a]
/home/robert/3dprint/replicatorg-0025/lib-x86_64/librxtxSerial.so(fhs_lock+0x16f)[0x7f4f873e0a9f]
/home/robert/3dprint/replicatorg-0025/lib-x86_64/librxtxSerial.so(Java_gnu_io_RXTXCommDriver_testRead+0x65)[0x7f4f873e0b25]
S'assurer qu'on appartient au groupe "dialout" avec la commande id.
Sinon, taper en root (en remplaçant nomUtilisateur par le votre) :
usermod -a -G dialout nomUtilisateur
Lancer le logiciel :
cd replicatorg-0029_r2
./replicatorg &
(au premier démarrage, les fichiers de préférences vont être créés)
Et voilà !
J'espère avec ce court article avoir pu vous aider à résoudre certains
problèmes d'installation, comme j'en ai eu ! ;-)