Piclodio: Radio Réveil Raspberry Pi
Nouvelle version de Piclodio disponible!
Piclodio est une application web pour transformer le Raspberry Pi en radio réveil internet. J’avais fais un article pour la première version il à un moment. Evidemment, vous pouvez l’installer l’application sur n’importe quelle machine nunux du moment qu’elle supporte le framework Django. Les commandes suivantes ne fonctionneront cependant que sur une base Debian.
Alors pourquoi une nouvelle version me demanderais vous? Et bien pour plusieurs raisons :
- Utilisation d’un framework (Django). En tant qu’utilisateur on s’en moque mais pour un développeur c’est important. Cela permettra de faire évoluer l’application, de la maintenir et surtout d’avoir une base propre pour que d’autre personnes apportent leurs lots de fonctionnalités dans le code.
- Nouvelle interface. L’ancienne avait un bon rendu sur smartphone mais n’était pas très adaptée au terminaux type PC.
- Meilleurs performances. Passage de PHP à Python. Les Rpi aiment le python.
- Nouvelles fonctionnalités. Possibilité de régler plusieurs réveil, choisir le jour, arreter le réveil automatiquement et gérer plusieurs web radios
Le code est ouvert et disponible sur Github. N’hésitez pas à forker et pull-requester vos améliorations. Vous pouvez aussi simplement emmètre vos idées en commentaire dans cette article. Voila un petit aperçu de l’interface
Bref passons à l’installation !
Installation
Installation du framework Django
1
2
3
|
wget https://www.djangoproject.com/download/1.6/tarball/
tar xzf Django–1.6.tar.gz
sudo python setup.py install
|
Vous pouvez vérifier votre installation avec la commande suivante. Celle-ci doit vous donner la version de Django.
1
|
python –c « import django; print(django.get_version()) »
|
Installation du serveur web, le lecteur multimédia, la base de données et le module python pour connecter django au serveur web.
1
|
sudo apt–get install mplayer at sqlite3 apache2 libapache2–mod–wsgi
|
Le projet utilise un module python particulier. Il s’agit de python-crontab.
1
2
3
|
wget https://pypi.python.org/packages/source/p/python–crontab/python–crontab–1.7.0.tar.gz
cd python–crontab–1.7.0/
sudo python setup.py install
|
On récupère à présent Piclodio depuis Github. On l’installe dans le répertoire du serveur web et on donne les droits sur ce répertoire à l’utilisateur de apache.
1
2
3
|
cd /var/www
sudo git clone https://github.com/Sispheor/Piclodio2.git
sudo chown –R www–data:www–data /var/www/Piclodio2/
|
On copie le fichier de configuration pour apache (vHost)
1
|
sudo cp /var/www/Piclodio2/apache/piclodio.conf /etc/apache2/sites–available/
|
Activation du vHost
1
|
a2ensite piclodio
|
Cette dernière ligne de commande nous invite à relancer apache.
1
|
service apache2 restart
|
Enfin, il faut autoriser le serveur apache à utiliser le lecteur multimédia. On tape
1
|
sudo visudo
|
et on ajoute cette ligne en fin de fichier
1
|
www–data ALL=NOPASSWD:/usr/bin/mplayer* ,/usr/bin/pgrep mplayer ,/usr/bin/killall mplayer, /usr/bin/at
|
Et voila! L’application est disponible à l’adresse ip de votre Rpi via vôtre navigateur.
Si vous souhaitez définir une url spécifique, vous devez modifier le vHost dans le fichier de configuration apache. Par exemple si je veux contacter l’application via l’url http://adresse_ip_du_rpi/piclodio je vais modifier comme suit le fichier de configuration:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
WSGIScriptAlias /piclodio /var/www/Piclodio2/apache/wsgi.py
Alias /static/ /var/www/Piclodio2/webgui/static/
<Directory /var/www/Piclodio2/apache>
Order deny,allow
Allow from all
# Require all granted # enable it on apache 2.4
</Directory>
<Directory /var/www/Piclodio2/webgui/static/>
Order deny,allow
Allow from all
# Require all granted # enable it on apache 2.4
</Directory>
|
Redémarrez apache pour prendre en compte et c’est bon.