Le Raspberry Pi continue sa tournée du champ des possibles. Le nano ordinateur au prix discount poursuit donc sur sa lancée des applications disponibles sous son interface. Rappelons que l’outil est développé en open source et laisse donc la porte ouverte à toutes les expériences, à partager avec la communauté. Dans cet article, nous allons simplement voir comment transformer son Raspberry Pi en Web radio réveil. Et, même si l’on se doute que nombre de personnes préféreront toujours leur sonnerie de smartphone au réveil en radio, prenez malgré tout le temps de lire ceci. Vous risqueriez d’être surpris.
Piclodio : Qu’est ce que c’est ?
Piclodio, c’est l’abréviation de Pi Clock Radio, le radio réveil pour Pi. Et cette application est tout simplement une alarme connectée à vos web radios préférées. En cas de « panne » de votre web radio, l’appli se retournera vers un titre MP3 que vous aurez pris le soin d’enregistrer, pour éviter la panne d’oreiller. Mais pour vous expliquer comment ça marche, montons le ensemble.
Avant de commencer, assurez-vous de posséder tout le matériel nécessaire à disposition, c’est-à-dire :
- Un Raspberry-Pi RPi B+ ou RPi 2
- Une Carte Mémoire SDHC Class 10 de 8 Go
- Un cordon HDMI
- Un cordon Ethernet RJ45
- Un chargeur de smartphone
- Un clavier et une souris USB (raccordé au Raspberry Pi)
- Un écran.
Dès que vous aurez configuré ou mis à jour votre OS sur Pi (Raspbian), nous pouvons passer à l’étape suivante, qui consiste à préinstaller en amont toutes les applications ou programmes dont nous aurons besoin ensuite. Commençons donc par Python-alsaaudio, qui nous aidera à contrôler le volume en sortie de nos enceintes, puis par PIP, qui nous aidera à gérer les dépendances de python. Pensez également à Mplayer, pour lire les flux audio (et oui, c’est mieux…), à at, pour pouvoir stopper automatiquement le réveil, à sqlite3 (la base de données) et enfin à GIT, qui nous permettra de cloner les sources de notre projet.
Piclodio : Comment l’installer ?
Installez les différents paquets, avec la ligne de code suivante :
[pastacode lang= »apacheconf » manual= »sudo%20apt-get%20install%20python-pip%20mplayer%20at%20sqlite3%20git%20python-alsaaudio » message= » » highlight= » » provider= »manual »/]
Puis, installez aussi Django :
[pastacode lang= »apacheconf » manual= »sudo%20pip%20install%20Django%3D%3D1.7.7″ message= » » highlight= » » provider= »manual »/]
Et enfin, clonez votre projet :
[pastacode lang= »apacheconf » manual= »cd%20%2Fhome%2Fpi%0Agit%20clone%20https%3A%2F%2Fgithub.com%2FSispheor%2FPiclodio2.git. » message= » » highlight= » » provider= »manual »/]
Les deux solutions de lancement de votre Piclodio.
Une fois ceci fait, vous pouvez lancer votre application. Et pour ce faire, deux solutions existent. Si la première n’est pas forcément recommandée, elle a toutefois le mérite d’être rapide et très simple. Si vous optez pour cette solution, tapez la ligne de code suivante sous Django :
[pastacode lang= »apacheconf » manual= »sudo%20cp%20Piclodio2%2Frun_piclodio%2Finit_script%2Fpiclodio.sh%20%2Fetc%2Finit.d%2Fpiclodio%0Asudo%20chmod%20%2Bx%20%2Fetc%2Finit.d%2Fpiclodio%0Asudo%20update-rc.d%20piclodio%20defaults » message= » » highlight= » » provider= »manual »/]
Vous pourrez éditer le script comme vous le voulez, en démarrant Piclodio avec le script qui suit :
[pastacode lang= »apacheconf » manual= »sudo%20%2Fetc%2Finit.d%2Fpiclodio%20start » message= » » highlight= » » provider= »manual »/]
Il ne vous reste plus qu’à accéder à l’interface de votre application en précisant votre adresse IP, ainsi que le port, ce qui donne ceci :
[pastacode lang= »apacheconf » manual= »%C2%AB%20http%3A%2F%2F%40IP%3A8000%20%C2%BB » message= » » highlight= » » provider= »manual »/]
La deuxième option est certes plus complexe, mais également plus complète. Pour commencer, installez un serveur web Apache :
[pastacode lang= »apacheconf » manual= »sudo%20apt-get%20install%20apache2%20libapache2-mod-wsgi » message= » » highlight= » » provider= »manual »/]
Puis, déplacez votre application (Piclodio) dans le serveur Apache créé, en lui donnant, bien sûr, les droits d’accès :
[pastacode lang= »apacheconf » manual= »sudo%20mv%20%2Fhome%2Fpi%2FPiclodio2%20%2Fvar%2Fwww%0Asudo%20chown%20-R%20www-data%3A%20%2Fvar%2Fwww%2FPiclodio2″ message= » » highlight= » » provider= »manual »/]
Copiez le vHost de votre dossier source au sein de la configuration du vHost de votre serveur Apache :
[pastacode lang= »apacheconf » manual= »sudo%20cp%20%2Fvar%2Fwww%2FPiclodio2%2Frun_piclodio%2Fapache%2Fpiclodio.conf%20%2Fetc%2Fapache2%2Fsites-available%2Fpiclodio.conf%20″ message= » » highlight= » » provider= »manual »/]
et activez le :
[pastacode lang= »apacheconf » manual= »sudo%20a2ensite%20piclodio » message= » » highlight= » » provider= »manual »/]
L’étape suivante consiste à permettre à l’utilisateur www-data de pouvoir utiliser mplayer. Pour cela, éditez le fichier sudoers grâce à la commande :
[pastacode lang= »apacheconf » manual= »sudo%20visudo » message= » » highlight= » » provider= »manual »/]
Vous n’avez plus qu’à ajouter les lignes suivantes à la fin de votre fichier édité :
[pastacode lang= »apacheconf » manual= »www-data%20ALL%3DNOPASSWD%3A%2Fusr%2Fbin%2Fmplayer*%20%2C%2Fusr%2Fbin%2Fpgrep%20mplayer%20%2C%2Fusr%2Fbin%2Fkillall%20mplayer%2C%20%2Fusr%2Fbin%2Fat » message= » » highlight= » » provider= »manual »/]
et à ajouter l’utilisateur Apache dans votre groupe audio (ce qui donnera le contrôle du son) :
[pastacode lang= »apacheconf » manual= »sudo%20usermod%20-a%20-G%20audio%20www-data » message= » » highlight= » » provider= »manual »/]
Enfin, relancez Apache :
[pastacode lang= »apacheconf » manual= »sudo%20service%20apache2%20reload » message= » » highlight= » » provider= »manual »/]
Votre application est prête et vous pouvez désormais y accéder directement via votre navigateur, à l’adresse :
[pastacode lang= »apacheconf » manual= »http%3A%2F%2Fadresse_IP_du_RPI%2Fpiclodio » message= » » highlight= » » provider= »manual »/]
Piclodio : Installation depuis GitHub.
GitHub nous propose une installation encore plus pratique (enfin, selon lui), en nous permettant de télécharger directement sur son site le frontend et le backend du manuel. Le fichier est une image disque qu’il vous reste à déployer sur votre carte SD. Le créateur prévient que des tests ont été réalisés sur Ubuntu 16.04, mais que le système doit fonctionner sur toutes les plateformes Linux qui peuvent supporter Django et Angular 2.
Finalement, le plus gros problème ensuite reste de pouvoir choisir parmi une liste incroyable de web radios émettant à travers le monde. Certains sites effectuent un recensement de ces web radios. N’hésitez pas à les consulter. Elles sont souvent classifiées par genre musical. Pour incorporer une web radio à Piclodio, récupérez le fichier « PLS » ou le fichier « M3U » fourni par les web radios. C’et dans ce fichier que se trouvent les liens que vous pourrez intégrer dans Piclodio. Mais vous pouvez également trouver l’URL que vous cherchez dans la console Java de votre navigateur.
A titre d’information, sachez que Piclodio est couvert par une licence MIT. Il s’agit d’une licence gratuite dite permissive, qui vous permet d’apporter toutes les modifications que vous voulez à l’application. Dans les faits, vous faites ce que vous souhaitez du code source aussi longtemps que vous contribuez vous aussi au développement.
Alors certes, les néo geeks préféreront s’amuser avec leur smartphones. Mais les anciens, ceux qui aiment le lignes de code, ceux qui adoraient trifouiller leur vieil Atari ou leur vieux Commodore 64, juste pour voir ce qu’ils avaient dans le ventre, ceux-là, je suis certain qu’ils préféreront la solution Piclodio à n’importe quelle application toute faite et non libre de droits.