Piclodio: Radio Réveil Raspberry Pi

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 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.

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.

Update !! Version 1.3 dispo!

Les changements:

  • Edition possible des webradios/Alarmes
  • Affichage de l’heure du RPI en live
  • MP3 de backup dans le cas de perte de connexion internet ou si le stream n’est plus disponible (ouai je me suis pointé une fois en retard au taf à cause de ça du coup…)
  • Upload de votre propre MP3 de backup
  • Suppression de la dépendance à la lib Python-Crontab
  • Passage sur Django 1.7

Voila un petit aperçu de l’interface dans sa version 1.3

piclodio_main_interface

Pour l’installation il y 2 possibilités:

  • Utiliser le serveur intégré de Django. C’est pas une best practice car le serveur intégré est normalement réservé au développement mais ça économise les performances du RPI et rapide à mettre en place.
  • Utiliser le serveur Web Apache2. La méthode est plus gourmande en performance mais plus sur si votre RPI est en accès sur internet.

 Installation de Piclodio 1.3

Je suis sur une Raspbian fraichement installée depuis l’ISO dans sa version du 16-02-2015.

Prérequis, pip pour gérer les dépendances Python, Mplayer pour lire les flux audios, at pour stopper automatiquement le réveil, sqlite3 pour la base de données , GIT pour cloner les sources du projets et enfin python-alsaaudio pour contrôler le volume.

On installe à présent Django en version 1.7 avec pip

Vous pouvez vérifier votre installation avec la commande suivante. Celle-ci doit vous donner la version de Django.

On récupère maintenant les sources du projet avec GIT. Ici je ne me déplace pas dans le système, je suis donc par défaut sous /home/pi quand j’exécute la commande suivante

 Lancement de Piclodio avec l’option 1: le script init.

Le script se trouve dans les sources, on le place dans la init.d et on le rend exécutable

Vous pouvez éditer le fichier si vous souhaitez modifier certaines options comme le port utilisé ou le chemin ou est installé Piclodio. Voila à quoi ressemble le fichier

On test un lancement manuellement

A ce stade, l’interface doit être disponible depuis votre navigateur, à l’adresse du Rpi et sur le port défini dans le fichier init (8000 par défaut).

Si c’est bon, on ajoute le script au démarrage du système et c’est terminé

 

 Lancement de Piclodio avec l’option 2: via serveur Web Apache

Installation du serveur web et son module d’exécution de script Python.

On déplace les sources dans le dossier de Apache et on donne les doits à son utilisateur

On copie le fichier de configuration pour apache (vHost)

Activation du vHost

Cette dernière ligne de commande nous invite à relancer apache.

Il faut autoriser le serveur apache à utiliser le lecteur multimédia. On tape

et on ajoute cette ligne en fin de fichier

Et finalement, on ajoute l’utilisateur apache au groupe audio afin de l’autoriser à contrôler le volume.

Et voila! L’application est disponible à l’adresse ip de votre Rpi via vôtre navigateur sous l’URL http://adresse_ip_du_rpi/piclodio.

158 thoughts on “Piclodio: Radio Réveil Raspberry Pi”

  1. ROMARY dit :

    Bonjour,

    Super travail !
    Je rencontre deux problèmes à l’utilisation de Piclodio :
    Le premier : lorsque j’appuie sur Play, la radio est bien lancée… mais lorsque j’appuie sur stop, elle ne s’éteint pas.
    Le seconde : lorsque je cherche à supprimer un horaire de réveil, ça ne fonctionne pas et j’arrive sur une page de debug…

    Auriez vous des solutions/remèdes ?
    Merci

    Rmary

    1. Sispheor dit :

      Bonjour, avez vous correctement ajouté les droits au niveau de visudo?
      Quelle est l’erreur affichée sur la page de debug?
      Je corrigerai le code au plus vite.
      Vous aussi la possibilité d’installer en attendant la première version php qui est plus stable.
      Vous la trouverez ici https://mespotesgeek.fr/web-radio-reveil-sur-raspberry/
      Cordialement.

    2. Sispheor dit :

      C’était un problème avec le module python-crontab. C’est corrigé à présent. Il vous faut télécharger la version 1.7.

    3. N.i.c.O dit :

      Salut. Alors pour le premier bug j’avais remarqué la même chose. Je vais essayer de voir ça. par contre le deuxième ce n’est pas un bug. C’est juste que le Rpi écoute sur votre LAN. En connection internet vous êtes sur le WAN. Il faut donc se connecter sur votre adresse IP publique et faire un forward de port 80 vers le Rpi.

  2. jerome dit :

    Bonjour,
    Super projet… vu que j’ai le même 🙂
    Je me suis fixé comme réalisation d’apprentissage python la réalisation d’un radio réveil… bon alors j’ai choisi différentes techno mais c’est très similaire
    Par contre je butte sur plusieurs points (notamment cette fameuse lib python-crontab que j’avais aussi intégré) bref je me demandais dans quelle mesure vous seriez prêt à jeter un oeil à un code de débutant python ? si vous donniez des cours (je suis parisien mais j’imagine qu’on peut envisager cela à distance si vous ne l’êtes pas ?)… bref ouvert à tout, j’attend votre réponse
    Bonne soirée

    1. Sispheor dit :

      Bonsoir, pour les « cours » en python je vous renvoi vers http://www.codecademy.com/ qui est un très bon début pour se familiariser avec Python. Je vous conseille ensuite de travailler avec un framework comme Django de façon à vous imposer un pattern comme le MVC. Vous pouvez forker mon projet pour vous en inspirer, le comprendre et pourquoi pas y apporter vos modifications. Bon courage pour la suite !

      1. jerome dit :

        Merci pour codecademy que j’avais déjà découvert pour python justement (petit bijou de site, d’ergo…). Pour l’apprentissage python je préfère ne pas me plonger tout de suite dans Django (je suis sur Flask toutefois) mais ce que je souhaite maintenant c’est faire « relire » mon code pour échanger, progresser dessus mais j’ai beaucoup de mal à cela (Encore une fois si jamais l’envie de donner quelques cours vous prenez… n’hésitez pas 🙂
        Bonne journée

        1. Sispheor dit :

          Merci pour Flask je connaissais pas! Django est un peu lourd pour le Rpi et justement je cherchais un truc plus light. Laissez moi votre lien Github pour votre code je regarderais à l’occasion si je peux. Bonne journée à vous!

          1. jerome dit :

            Tout est la : https://github.com/jeromefiot/apiclock
            mais c’est vraiment le bord… voir plus

            Je commence et c’est un peu laborieux mais l’interface marche (bootstrap template avec Flask)… juste ce *ù$ù@## truc de python-crontab qui ne veut rien savoir !!

            Et pour Flask j’ai surtout lu ce tuto : http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world (énorme travail, d’ailleurs il en fait un livre !)

            Tous les commentaires sont appréciés, les aides sous quelques formes qu’elles soient aussi !
            Thx

  3. jerome dit :

    Hello
    Je ne sais si c’est le bon endroit mais je cherche un prof de python (bien évidemment rémunération, et cours à distance possible…) si cela t’intéresse, n’hésite pas

    1. Sispheor dit :

      En ce qui me concerne, je ne pense pas être capable de vous faire un meilleur cours que ce que vous trouverez sur internet. Je pense que le meilleur des professeurs reste Google et la communauté Python.

  4. jerome dit :

    Il n’est pourtant pas bien difficile d’être meilleur que Google (et la je suis clairement sur que vous l’êtes)… quand on voit le tas de réponses pour un problème et que pas une ne convient… ou que je ne suis pas capable de les lire (cf. prob avec python-crontab) et la communauté est terriblement accueillante et bienveillante mais pas forcément toujours disponible (normal on a pour la plupart un taf).
    Mais bref alors peut être cela pourrait il prendre la forme d’un « corrigé d’exercice » (ou au moins de pistes / debugg) de votre part sur des envois que je pourrais faire ?

    1. Sispheor dit :

      Désolé mais je pense pas que j’aurais le temps de vous « corriger ». Vous avez l’air de savoir coder de toute façon je pense que vous pouvez être autonome pour la suite.

  5. jerome dit :

    En tous les cas merci pour l échange et on pourra pas dire que j ai pas essayé 🙂

  6. Isador dit :

    Bonjour,
    Je voulais faire un réveil prenant une musique aléatoirement chaque matin.
    Après quelques essais Php/Bash, je suis tombé sur ce programme qui est génial
    (juste le volume et quelques Webradios qui ne marchent pas, mais ce n’est rien).

    J’essaye d’ajouter une fonctionnalité au programme en ajoutant deux boutons (Musique ou Radio) dans la page d’ajout d’une alarme, pour que l’utilisateur puisse lancer une musique du RPI ou une Webradio.

    J’ai donc :
    – Ajouté un champ ‘type’ dans la table webgui_alarmclock de Sqlite
    – Mis à jour models.py, ajouté des fonctions similaires à ‘enable’ : ‘enablemusic’ , ‘disablemusic’
    – Ajouté une fonction ‘typeAlarmClock’ dans views.py
    – Ajouté une URL ‘webgui.views.typeAlarmClock’ dans urls.py
    – Ajouté un bloc pour un bouton graphique dans addalarmclock.html

    J’obtiens une erreur sur cette dernière page :
    Reverse for ‘webgui.views.typeAlarmClock’ with arguments ‘( »,)’ and keyword arguments ‘{}’ not found. 0 pattern(s) tried: []

    Quelque chose dans la page Html ou dans les Urls doit être faux, mais je ne comprends pas quoi..

    A l’occasion, si tu sais d’où ça vient..
    Merci !

    1. Sispheor dit :

      Bonjour, le volume et autres fonctionnalités marchent dans la branche 1.3_dev. Je vous conseille de checkout cette dernière. Nous allons la merger en stable prochainement. Pour votre code je peux éventuellement regarder mais difficilement de cette manière. Je vous propose plutôt de forker le projet et de push vos modifications afin que je regarde ça. Le projet est open source vous pouvez également faire un pull request des améliorations que vous avez faite.

  7. Isador dit :

    Merci de votre réponse, je viens de tester la 1.3_dev :
    Les boutons de Volume Up/Down ne fonctionnent toujours pas pour moi, mais bon ce n’est pas bien grave (je suis sur d’avoir la 1.3 car j’ai des Webradio en plus : RTL2, Virgin.

    Je vais forker et proposer une nouvelle fonction au programme, merci.

  8. Isador dit :

    Bon, j’ai réussi à forker, je suis parti de la branche 1.3-dev, mais je ne suis pas du tout un fervent utilisateur de Git. J’ai fini par réussir à envoyer les modifications, mais je n’ai pas mis de message pour chaque fichier modifié.. :

    https://github.com/isador999/Piclodio2-Musique-et-Webradio

  9. EVOTk dit :

    Salut,
    Super projet !

    J’ai également un projet de radio/reveil ! Ton script est top !
    Juste une question, j’ai un ecran 4×20 ou j’affiche l’heure et la date, comment récupérer les infos sur la piste jouer pour l’afficher ou les reglages du reveil ?

    Je débute, a voir si ce n’est pas encore trop compliquer pour moi !

    Merci

    1. EVOTk dit :

      De plus, j’ai 2 bugs dont un assez genant !

      1/ J’ai un son constant qui sort de l’ecouteur / enceinte quand aucune piste n’est jouer ! ( un gressilement ou un bip,bip,bip ) impossible par exemple de laisser l’enceinte allumé la nuit en attente du reveil du matin !

      2/ Moins gênant, le contrôle du volume ne marche pas

      1. Sispheor dit :

        Bonjour, faite un checkout de la branch 1.3-dev. On va la passer en stable elle est fini et corrige ce genre de problème.

  10. Isador dit :

    J’ai réussi à apporter de nouvelles modifications (que je viens de committer) depuis mon fork de la 1.3-dev

    Le problème principal se trouve pour ajouter une alarme (addalarmclock), j’ai ajouté un champ dans la requête POST, mon javascript semble bon, mais rien ne se passe en cliquant sur le bouton ‘Save’.. Peut-être mon code Python dans views.py est-il faux..

    Bref, si à l’occasion vous avez un moment … Je continue de chercher.
    https://github.com/isador999/Piclodio2-Musique-et-Webradio

  11. Isador dit :

    Bonjour,

    Finalement, je commence à pouvoir me débrouiller tout seul avec Django.
    Juste une petite question comme ça, je cherche un ou deux Glyphicons qui soient dans le même thème que les votres (bleu ou vert).

    Les avez-vous créés vous-même ? ou bien récupérés sur un site en particulier ?
    Merci.

    1. Sispheor dit :

      J’utilise ceux de la lib boostrap.

  12. Isador dit :

    Beaucoup moins compliqué que ce que je pensais, ça marche. merci beaucoup 🙂

  13. Lolovroom dit :

    Bonjour,

    Super projet que je tente de mettre en place. A terme j’aimerai y ajouter un bouton externe qui soit fait snooze, soit fait un stop de la radio en cours. Je débute dans le domaine, mais si c’est possible ça se trouvera. Sinon est ce que le but du grésillement est déjà corrigé dans une version disponible? Je me suis basé sur les commandes de cette page, et je ne suis pas sur comment récupéré la toute dernière version. Merci

    1. Sispheor dit :

      La dernière version est la 1.3 qu’il faut checkout depuis GIT. Il est possible bien sur d’ajouter un bouton physique qui enverra l’ordre d’arrêt du réveil.

  14. coco74 dit :

    Bonjour,
    Je me lance dans la réalisation de ce réveil,
    Quel distribution de linux faut il installer pour ensuite pouvoir taper ces lignes de codes ( par ssh ? clavier)
    Désolé, la question peut paraitre bête mais je m’y connais rien.
    Il faut un raspery type B+ ?
    Ensuite, existe t’il des petits haut parleur pour le raspbery pi qui sont alimentés par le jack, pour pas laisser les hauts parleurs allumés tout le temps

    1. coco74 dit :

      En fait, je pensais, je peux acheter des petites enceintes allimentées par USB 🙂

    2. N.i.c.O dit :

      Sur le Rasp j’installe Raspbian. Une fois installé il est possible d’accéder au système directement via SSH oui. Pour utiliser l’application il faut une connexion internet donc une Rpi B au minimum disposant d’une carte ethernet est nécessaire. Ou alors un modèle A mais avec un dongle Wifi en +. En ce qui concerne les enceintes j’ai opté pour une petite pair toute simple alimentées à l’aide d’une prise secteur. J’imagine que des enceintes USB fonctionneraient aussi mais il n’est pas conseillé d’utiliser le Rpi comme alimentation, de plus ce type d’enceinte ne propose pas une qualité sonore très élevé. Si toutefois vous faites le choix de cette solution, je vous recommande une alimentation d’au moins 1.5 ampère pour le Rpi.

      1. coco74 dit :

        Merci pour cette réponse 🙂
        Que me conseillez vous alors comme enceintes qui ne coutent pas trop cher, et qui ne consomment pas trop, en ayant une bonne qualité de son et aucune led pour chambre à coucher 🙂
        Merci.
        Je sais ça fait un peut beaucoup ^^

        1. N.i.c.O dit :

          je pense que si c’était à refaire je partirai sur un modèle bluetooth. On en trouve pas mal sur Amazon pour pas trop chère.

  15. Alex dit :

    Merci pour ce tutoriel !

    Perso, j’ai une erreur quand je fais « a2ensite piclodio » ce la m’indique Site piclodia does not exist.

    Une idée ?

  16. N.i.c.O dit :

    a2ensite se contente de faire un lien symbolique entre le dossier /etc/apache2/sites-available/ et le dossier /etc/apache2/sites-enable/.
    Si le fichier de configuration du vHost est bien dedans ça doit marcher.

  17. Alex dit :

    J’ai refais tout la procédure mais sur l’ip , je n’ai que  »It Works », rien d’autres.

    Comment vérifier que le vHOST est bien activé ?

    1. N.i.c.O dit :

      Vous pouvez aussi supprimer le vHost par défaut. Ou plutôt le désactiver avec a2dissite.
      L’url a attaquer pour piclodio est définie ici:
      « WSGIScriptAlias /piclodio /var/www/Piclodio2/apache/wsgi.py » dans le vshost. Dans ce cas il faut entrer /piclodio.
      « WSGIScriptAlias / /var/www/Piclodio2/apache/wsgi.py » dans ce cas il faut entrer /.

  18. N.i.c.O dit :

    ‘It works’ c’est le vHost de base qui est à la racine http://votre_ip/. Piclodio est sur http://votre_ip/piclodio.

  19. Alex dit :

    http://votre_ip/piclodio ma ramene à ‘It Works’ je vais refaire la manip encore de zéro en debut d’aprem.

  20. Alex dit :

    Idem , je vais essayer l’ancienne version.

    1. N.i.c.O dit :

      Désactivez le vHost par défaut pour voir.

  21. Alex dit :

    rien a faire toujours ‘it works’ par contre la v1 en php fonctionne ( sur une autre sd bien sur)

    1. N.i.c.O dit :

      Vous êtes sur quelle version de apache?
      Normalement si vous avez bien désactivé le vHost par défaut la page « it works » ne doit plus apparaître. Que le vHost de piclodio fonctionne ou non.

  22. Alex dit :

    J’ai suivi le tutoriel dans installer le paquet apache2

    1. N.i.c.O dit :

      Que donne ‘apache2 -version’ ?

  23. Alex dit :

    apache2-version me donne : Apache/2.2.22 (Debian) Janv 10 2015
    Pour info je suis sur une base de raspbian-ua-netinst-v1.0.7-beta

    1. N.i.c.O dit :

      Désactivez le vHost par défaut. Si le vHost par défaut est bien désactivé vous ne devez plus voir le « it works ».
      Activez ensuite le vHost piclodio, relancez apache puis regardez dans les logs si il n’y a pas une erreur.

  24. Alex dit :

    Toujours pareil et je ne vois pas pourquoi… je vais rester sur le version PHP je pense

  25. Alex dit :

    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    [Mon Mar 30 14:10:54 2015] [warn] NameVirtualHost *:80 has no VirtualHosts
    [Mon Mar 30 14:10:54 2015] [notice] Apache/2.2.22 (Debian) mod_wsgi/3.3 Python/2.7.3 configured — resuming normal operations

    1. N.i.c.O dit :

      Oui, le vHost par défaut doit être présent. Car c’est lui qui ouvre l’écoute sur le port 80 (HTTP).
      Normalement, le vHost de Piclodio ajoute la disponibilité de l’url /piclodio.

      Il faut bien copier la conf sudo cp /var/www/Piclodio2/apache/piclodio.conf /etc/apache2/sites-available/
      Activer le vHost Piclodio.
      Activez à nouveau le vHost par défaut car je me suis trompé il doit être actif.
      Et reload Apache enfin pour activer le tout.

  26. Alex dit :

    je viens de vérifier , j’ai bien le fichier « piclodio.conf » dans le dossier « /etc/apache2/sites-available/ »

    Activation du vHost « a2ensite piclodio », j’ai tjs l’erreur ‘Site piclodio does not exist’

    Je refais a2ensite default puis service apache2 reload mais tjs pareil. Je désespere

    1. N.i.c.O dit :

      Dans ce cas renommez le piclodio sans le .conf. Il y a du avoir une mise à jour de Apache qui ne tolère plus l’extension surement.

  27. Alex dit :

    si je renomme le piclodio.conf sans le .conf j’ai : login as: root

    [FAIL] Reloading web server config: apache2 failed!

    Je ne vois vraiment pas mon soucis… car je suis à la lettre votre tuto.

    1. Alex dit :

      si je renomme le piclodio.conf sans le .conf j’ai :

      [FAIL] Reloading web server config: apache2 failed!

      Je ne vois vraiment pas mon soucis… car je suis à la lettre votre tuto.

    2. N.i.c.O dit :

      Si il y a fail, il y a log dans /var/log/apache/error.log.

  28. Alex dit :

    error.log est vide dans /var/log/apache/error.log

    Je peux vous faire un teamviewer si jms.

  29. Alex dit :

    Je viens d’essayer sur une autre distro de Raspian ( Debian Wheezy ) et j’arrive au meme point « it works »

    1. N.i.c.O dit :

      Je viens de mettre à jour l’article. Il manquait un ‘cd’ par ci et un ‘sudo’ par la mais sinon ça marche bien. Je suis sur la dernière Raspbian en fresh install.

  30. Alex dit :

    Merci , j’avais deja vu pour les sudo et cd.

    Ce la fonctionne avec la modif où vous avez apparemment rajouter piclodio à la fin.
    sudo cp /var/www/Piclodio2/apache/piclodio.conf /etc/apache2/sites-available/piclodio

    Pour le framework , j’ai du faire ceci :
    « wget https://www.djangoproject.com/m/releases/1.6/Django-1.6.11.tar.gz
    tar xzf Django-1.6.11.tar.gz
    cd Django-1.6.11
    sudo python setup.py install »

    car le « wget https://www.djangoproject.com/download/1.6/tarball/ » me télécharge un index.html

    1. N.i.c.O dit :

      En effet le lien à changer. Je mets à jour l’article merci.

  31. Alex dit :

    je n’ai pas oser essayer la 1.7.7 Merci encore pour l’aide.

  32. Isador dit :

    Bonjour,

    Pour ceux que cela intéresse, j’ai repris les récentes mises à jour (éditions, django1.7.7) et j’ai rajouté les fonctionnalités pour envoyer/jouer/supprimer des fichiers de musique sur le raspberry depuis l’interface :
    https://github.com/isador999/Piclodio2-Musique-et-Webradio

    1. N.i.c.O dit :

      La version 1.3 est dispo. Vous pouvez faire un rebase sur votre projet si vous voulez. Et même un pull request pour que je merge vôtre travail au projet piclodio.

      1. Isador dit :

        Pour faire mes modifs récentes, je suis parti de la 1.3 en fait. Mais comme j’avais déjà forké sur la 1.3-dev, j’imagine que c’est pour ça que mon projet s’appelle encore 1.3-dev. Je ne parviens pas à comprendre ce que fait le git rebase.
        Pas de souci en revanche pour le pull request, je vais faire ça.

  33. Yota dit :

    Merci pour tout ce travail !
    J’ai installé mon premier réveil webradio chez moi grace a vous 🙂

    J’aimerais savoir si vous pouviez m’aider pour une piste,
    Je me suis inscrit sur gitHub pour pouvoir travailler sur le projet, je veux mettre en place un bouton physique pour utiliser la fonction « stop » et dans un deuxième temps lancer au bout de 5min de réveil un contacteur pour allumer une lumière.

    Je débute en python et « C Arduino »,
    Quel fichier dois-je modifier pour pouvoir utiliser la fonction « stop » que vous avez mis en place sur l’html ?

    Je vais mettre en place le code pour lire un bouton, mais ensuite je ne sais pas quelle fonction appeler,
    je suis un peu perdu dans vos fichiers v_v, mais bon ça va venir ^^

    Dans tous les cas, merci pour le projet !
    Très sympa

    1. N.i.c.O dit :

      Ravie de savoir que des gens se réveillent avec mon app 😉
      Pour votre modification il faudra faire un module à part, un thread qui est capable d’interpréter les interruption provenant du bouton. Une fois l’interruption capturée il suffit de faire appel à la méthode stop() qui se trouve dans le fichier view.py. Normalement pas besoin d’Arduino dans ce cas. Vous trouverez plein d’article sur le net concernant les ports GPIO + bouton.
      Bon courage !

  34. bildu60 dit :

    Bonjour a tous
    J’ai suivi le ghitub:
    https://github.com/isador999/Piclodio2-Musique-et-Webradio
    Tous marche nickel ,mon pi est connecté sur une barre de son.
    Merci pour ce partage

  35. Floydien dit :

    Bonjour,

    Votre application est très bien mais il me manque une fonctionnalité. Actuellement, il est possible de baisser/augmenter le volume via le bouton « option » mais moi J’aimerais aussi pouvoir choisir le niveau du volume pour l’alarme. Serait-il envisageable de l’intégrer ?
    Malheureusement pour moi, bien que le code soit ouvert, je ne suis pas capable de faire ça.

    Merci à vous et merci de partager cette application en open-source. 🙂

    P.S.: Pardonnez-moi si cela a déjà été évoqué parmi la multitude de commentaires, je ne peux pas tout lire.

    1. N.i.c.O dit :

      Bonsoir, la fonctionnalité n’est pour le moment pas au programme mais je la note pour une prochaine version.

      1. Floydien dit :

        Wow quel réactivité !
        Bien merci. ce serait top. 🙂

  36. jerome dit :

    Bonjour
    Super tuto qui donne beaucoup d’idées !
    J’ai une question à la fois python / raspberry et radioreveil.
    Comment faire pour récupérer depuis un view python (flask pas django) si MPD tourne. Je m’explique, mon alarme se lance et je ne souhaite que le stop se fasse automatiquement mais depuis un bouton sur l’interface. Donc quand on arrive sur l’interface web il me faut le code pour récupérer l’info si MPD tourne ou pas… je suis clair ?

    1. N.i.c.O dit :

      Bonjour, Piclodio effectue déjà la manipulation. Vous pouvez fouiller dans le code pour voir comment c’est fait. Sur Flask ça sera similaire car ici le Framework n’a rien à voir. C’est du pure python. Bon courage !

  37. Alex dit :

    Bonjour
    Y’a t’il possibilité de démarrage la lecture de web radios au démarrage du Raspberry ?
    Merci

    1. N.i.c.O dit :

      Oui, une fois une alarme créé, regardez dans votre crontab la ligne qui a été créé.
      Elle doit avoir la syntaxe suivante:
      Exemple:
      0 0 0 20 2 /run_webradio.py 5
      Il suffit alors de mettre une nouvelle ligne en dessous avec la syntaxe « @reboot » à la place de la date.
      @reboot /run_webradio.py 5
      Vous trouverez beaucoup de resources à propos de crontab sur le web.

      1. Alex dit :

        Merci mais je n’ai rien dans mon crontab après avoir créer l’alarme (crontab -l)

        1. N.i.c.O dit :

          Si vous utilisez le serveur web apache si vous faut regarder le crontab de l’utilisateur www-data et non de pi.

          1. Alex dit :

            Cela j’y avais pas pensé. Merci cela fonctionne.
            J’aimerai faire une planification horaire , play radio le matin et stop le soir. Quel est la syntax pour stopper ?
            Ou puis je mettre un stop au dela des 119mn ?

          2. N.i.c.O dit :

            Piclodio integre un autostop lors de la création de l’alarme. Il suffit de choisir le temps en minute.
            Si vous voulez le faire manuellement il vous faut scripter un kill de mplayer.

          3. N.i.c.O dit :

            Vous pouvez dans ce cas modifier le range du snooze.
            dans le code du script form.py (https://github.com/Sispheor/Piclodio2/blob/master/webgui/forms.py)
            Il y a une ligne choice_snooze = [(str(i), i) for i in range(0, 120)]
            Vous pouvez remplacer le 120 par 240 pour avoir 4 heures de délais.

  38. Alex dit :

    ok je vais essayer le kill mplayer… car il me faut 4h de délai. 8h/12h et 14h/18h

    1. Alex dit :

      Merci pour l’info du Snooze , modif faite. A voir si cela s’eteins ce soir…

  39. Alex dit :

    la modification du Snooze fonctionne et j’ai rajouter un  »killall mplayer » à une heure précise au cas ou dasn le crontab

  40. Meuldor dit :

    Bonjour, et tout d’abord merci pour ce projet et ce tuto 🙂

    J’avance un projet de radio-réveil idéal basé sur Piclodio, en ajoutant notamment un vibreur (ou autre device motorisé, peut importe, le principe est le même).

    J’ai un script motor.py qui permet de faire bourdonner un vibreur via le GPIO, et il fonctionne quand je le lance la commande python motor.py. Ce script est basé sur cet exemple : http://computers.tutsplus.com/tutorials/controlling-dc-motors-using-python-with-a-raspberry-pi–cms-20051

    Par contre, j’ai essayé de l’insérer dans runWebRadio.py avec execfile(« motor.py »), à la fin ou au début, et plus rien de fonctionne, la radio ne se lance même plus. Ce n’est sans doute pas la bonne façon d’appeler mon script, mais alors comment faire pour l’intégrer dans le script existant ?

    Je débute en Python, désolé si la question peut sembler un peu basique. Tout ce que j’ai trouvé sur le sujet me fait tourner en rond.

    Par ailleurs si vous trouvez cette fonction vibreur intéressante, pourquoi ne pas prévoir d’intégrer une checkbox aux alarmes, permettant d’exécuter un script externe personnalisé simultanément au streaming ?

    Merci

    1. N.i.c.O dit :

      Bonjour, il vous faut sortir du thread principal de Piclodio pour faire cela. Car avec « Sleep » vous bloquez le programme principal. Soit faire un thread, un subprocess, appeler un nouveau fichier python ou utiliser un message broker comme Celery + RabbitMQ. Je ne souhaite pas intégrer la fonction car je souhaite que Piclodio reste natif au RPI en lui même sans besoin d’extension. Bon courage pour la suite !

      1. Meuldor dit :

        Merci pour votre réactivité.
        J’ai dupliqué le player_thread et après quelques adaptations tout fonctionne parfaitement, reste à interfacer un servomoteur terminé d’un maillet en bois pour me taper sur la tête si la radio n’a pas suffi 😉
        Merci encore.

  41. rayahz dit :

    bonjour,

    j’ai lu les 2 articles concernant le radio Pi. je compte faire l’installation dans les prochaines semaines.
    j’aimerai savoir si avec la nouvelle version l’appli android fonctionne toujours ?
    de plus, comme matos une rasp 2B, une alimentation pour la Pi, des enceintes et un ecran LCD ?

    merci

    1. N.i.c.O dit :

      L’écran n’est pas nécessaire. Et l’application Android fonctionne toujours oui.

  42. Djidane dit :

    Bonjour,

    L’application fonctionne parfaitement et correspond parfaitement à mes besoins.
    Malheureusement quand je tente de lancer le flux audio sur une enceinte bluetooth, cela ne fonctionne pas… cela reste sur la sortie par défaut (HDMI ou jack).
    Malgré les recherches dans le code et sur de nombreux forum, je n’arrive pas trouver la solution.

    Y a t’il un paramètre ou une variable d’environnement à modifier ?

    Merci d’avance

    1. N.i.c.O dit :

      Le code n’y est pour rien. Il faut régler le Pi pour que le son sorte via bluetooth.
      Je vois ici une solution, a tester https://www.raspberrypi.org/forums/viewtopic.php?t=68779

      Bonne chance !

      1. Djidane dit :

        Bonjour,

        Merci pour le lien. Malheureusement il ne s’agissait pas d’un problème de renvoi de flux audio, mais d’un problème de droits :
        [pi] mplayer backup.mp3 –> Sortie sur enceinte bluetooth
        [www-data] mplayer backup.mp3 –> Sortie jack

        J’ai actuellement modifié 2 ou 3 lignes de code pour que la commande soit lancée via le user « pi » et cela fonctionne maintenant.
        [www-data] sudo su – pi -c ‘mplayer backup.mp3’ –> Sortie sur enceinte bluetooth

        Par contre, c’est loin d’être propre car « www-data » possède maintenant tous les droits…
        Y a t’il un autre moyen pour que « www-data » puisse lancer une commande en « pi » sans avoir tous les droits ? Ou peut-être une autre commande permettant de ne pas passer par « pi » ?

        Merci d’avance !

        1. N.i.c.O dit :

          C’est la que intervient le sudoer file justement.
          Si vous avez choisis la méthode d’installation avec serveur web Apache, c’est normal que www-data possède tous les droits. Et ces droits sont limité par la déclaration dans le sudoer file.

  43. Tucky dit :

    Bonjour,

    Super appli, merci !

    En revanche je dispose d’un petit écran LCD 2×16 caractères, et je souhaiterai pouvoir afficher dessus la prochaine alarme prévue dans piclodio : comment récupérer facilement cette information?
    Elle semblerait être stockée dans piclodio.db mais je ne la retrouve pas.

    Merci à bientot,
    Tucky.

    1. N.i.c.O dit :

      Il faut récupérer l’information via le framework Django lui même. Alarmclock.objects.all(). Voila c’est fini 🙂

  44. Jerome dit :

    Bonjour,

    Merci beaucoup pour ce tutos très utile et bien fait !
    Je rencontre un petit problème dont je voulais vous faire part : Quand je modifie les jours de déclenchement d’une alarme, la sélection se fait bien sur la page web, cependant je constate que ça ne prend pas en compte la modification.
    Par exemple : je crée une alarme à 07h15 le mardi et jeudi. Tout fonctionne correctement. Puis la semaine suivante je souhaite que l’alarme se déclenche le lundi et vendredi. Sauf que l’alarme va continuer à se déclencher le mardi et jeudi (alors que ces jours ne sont plus actifs).
    Je ne sais pas si cela est spécifique à mon installation, je n’ai pas encore essayer de repartir de zéro.
    Merci de votre aide !
    Bonne journée,
    Jérôme

    1. N.i.c.O dit :

      Effectivement, c’est un bug que j’ai relevé également, j’ai ouvert une issue pour cela sur le projet. Je vais le fix dans les prochains jours.
      Je suis en train de faire un POC pour une version de Piclodio en version 3 avec Angular 2.

  45. Marc dit :

    Bonjour

    Ca fait maitnenant un petit bout de temps que je galère…

    J’ai bien suivi le tuto, mais comme notre ami au dessus, je ne souhaites pas utiliser une enceinte BT, mais USB.
    Tous le son du rasp pi sort bien sur l’enceinte USB, sauf … Piclodio.

    Je suis en train de m’arracher les cheveux dessus …

    Autre idée d’amélioration :
    – Permettre de changer le fond des pages d’interface par défaut, car blanc ca piques les yeux dans une chambre obscure.
    j’ai tenté de mettre des bgcolor à droite et à gauche pour la passer en gris sans succès …

    Ce sont les deux derniers points bloquants qui ne me font pas mettre en prod le réveil, avec le superbe écran 7pouces 😉

    A bientôt et merci pour votre travail.

    1. N.i.c.O dit :

      Piclodio se base sur mplayer. Il vous faut régler la sortie son par défaut pour utiliser le périphérique USB. Normalement si le système est correctement réglé ça doit aller. Faite le test en lançant mplayer manuellement depuis la console avec une URL.

      1. Marc dit :

        aussi étonnant que cela puisse paraitre, la commande :
        mplayer /var/www/Piclodio2/backup_mp3/backup.mp3

        Sort bien le son sur le périphérique USB …

        Alors que via l’interface web piclodio, je ne puis écouter RTL2 sur l’USB.

        J’en perds mon latin.

        1. N.i.c.O dit :

          Et que donne un mplayer de l’URL de rtl2 ? Ça marche ?

        2. Marc dit :

          Il s’agit bien d’un problème via l’interface WEB (méthode 2 apache)

          En prenant l’url de la webradio configuré sur piclodio et en lancant en ligne de commande cela marche bien, via le terminal.
          Même flux : via la GUI piclodio : Ko

          1. N.i.c.O dit :

            Et le sudoer file est bien configuré ?

  46. Marc dit :

    Je viens de vérifier a l’instant : oui, je viens de refaire un copier / coller de la ligne pour valider.
    reboot et toujours ko

    1. N.i.c.O dit :

      Alors la je ne sais pas quoi répondre. Normalement l’app est juste un wrapper sur mplayer. Rien de fou. Peut etre il y a eu un changement au niveau système. Vous êtes sur la derriere Raspbian?

      1. Marc dit :

        En effet sur jessie.

        Je vais voir pour étendre les droits donnés a www-data au cas ou …

        1. N.i.c.O dit :

          Avez vous ajouter le user www-data au groupe « audio »?

          1. marc dit :

            En effet.

  47. Marc dit :

    trouvé :
    J’ai fait les opérations suivantes :

    $ cat /proc/asound/modules
    0 snd_bcm2835
    1 snd_usb_audio

    J’ai créé le fichier : /etc/modprobe.d/alsa-base.conf et j’ai mis dedans :

    # This sets the index value of the cards but doesn’t reorder.
    options snd_usb_audio index=0
    options snd_bcm2835 index=1

    # Does the reordering.
    options snd slots=snd_usb_audio,snd_bcm2835

    et ça marche.

    J’espère que cela aidera d’autres personnes.

  48. Alain P dit :

    Bonjour,
    J’ai installé Piclodio sur un Raspberry Pi3 sous Jessy Pixel

    J’écoute certaines radio qui ne sont pas en MP3 tel Radio Classique Suisse
    http://www.radiosuisseclassique.ch/live/aacp.m3u
    J’ai lancé mplayer et il ne reconnaît pas ce format « failed to recognize file format ».
    J’ai installé gnome-mplayer et lui le reconnait.
    Piclodio2 pourrait-il utiliser gnome-MPlayer en remplacement de mplayer afin d’avoir plus de choix de sortie audio notamment ?
    Si je rajoute une carte HiFiBerry DAC+ au Raspberry, comment cela sera reconnu et déclaré par Piclodio2?
    Cordialement

    1. N.i.c.O dit :

      Salut! Alors si tu édite ton fichier m3u tu y trouvera une URL: http://stream.srg-ssr.ch/m/rsc_fr/aacp_96. Tu donne cette URL à Piclodio et ça marche.

      En ce qui concerne le son. Piclodio se base sur la sortie défini par défaut. Si tu arrive à régler ta carte pour que le son sorte, le soft marchera avec cette dernière. Piclodio et le choix de la sortie son sont deux choses totalement dissociées.

      1. Alain P dit :

        Merci pour l’info. Effectivement c’est mieux.
        A quant la version Piclodio 3 sur une page, lecteur, liste et contrôle du volume ?
        Cordialement

        1. N.i.c.O dit :

          Sur une page unique ça ne se fera pas. La taille de l’écran n’est pas suffisante. La cible pour moi étant un écran de smartphone. Par contre la V3 est en route. Elle permettra d’avoir une API et donc de fonctionner avec Kalliopé pour commander Piclodio avec la voix.

  49. Marc dit :

    Salut,

    Bon, voilà le pi est en « production »

    Je viens de finir le boitier l’acceuillant :
    https://goo.gl/ToAhVv

    Merci pour le soft.

    J’ai modifié le CSS pour que l’heure soit en blanc et que le fond des pages soit noir.
    De même j’ai mis une coupure d’écran au bout de 3 secondes d’inactivité.
    (ce qui permettra d’avoir l’heure de temps en temps sans éclairer la chambre)

    J’ai aussi modifié le pas du volume pour qu’il aille de 1% en 1%, j’ai le sommeil légers, et les enceintes « gueulent » à 5%

    Merci encore pour le soft.

    1. N.i.c.O dit :

      Salut, bravo pour le boitier! Si vous voulez tester la nouvelle version de Piclodio, je viens de la sortir. Meme fonctionnalités mais plus fluide, plus beau et disposant d’une Rest API pour le coupler avec d’autres programmes comme Kalliopé.
      https://github.com/Sispheor/piclodio3

      1. Jerome dit :

        Très bonne cette nouvelle version 🙂 Merci beaucoup.
        En effet plus fluide et plus belle (les couleurs sont appréciables).
        Je rencontre cependant un léger défaut : Quand je suis connecté en local avec mon smartphone, de temps en temps certains éléments ne s’affichent pas (comme la date, la planification des alarmes, le player…). Pour qu’ils s’affichent, je dois aller dans le menu web radio, puis revenir sur la homepage.
        Étrangement, quand je me connecte par internet ou en 4G, je ne parviens pas à afficher les éléments, et ce quelque soit le navigateur…
        Bonne journée.

        1. N.i.c.O dit :

          Ah oui il faut aussi le port 8000 pour le backend. Donc si vous redirigé le port 80 et 8000 de votre boxe internet vers le Pi ça doit marcher. Par contre attention il n’a pas de mot de passe par défaut. Mais vous pouvez modifier le vHost de Apache pour ajouter un htaccess. Vous trouverez des chose la dessus sur internet sans problème.

          1. Jerome dit :

            En fait, j’ai correctement accès au site par internet, mais certains bloc ne remontent pas correctement (on peut le voir sur cette capture http://hpics.li/5e83c8d). Je n’avais ce problème avec l’ancienne version.
            Quand je me connecte sur mon réseau local, je n’ai pas de problème.

          2. N.i.c.O dit :

            Oui, via internet il faut que votre router redirige le port 80 et 8000 vers le Rpi.

      2. Marc dit :

        bonjour,

        Merci.

        Je teste la nouvelle version tout de suite ^^

  50. Christian dit :

    Salut,

    le 3 décembre 2014 à 17 h 53 min, tu mets :
    « La dernière version est la 1.3 qu’il faut checkout depuis GIT. Il est possible bien sur d’ajouter un bouton physique qui enverra l’ordre d’arrêt du réveil. »

    Pour le bouton d’arret,
    ça veut dire que c’est techniquement possible en le faisant nous meme ou alors que c’est prévu dans le backend via un parametre (genre GPIO xxx = bouton Arret, GPIO yyyy = bouton snooze 5 minutes ) ?

    je n’ai pas encore installé piclodio, je suis en phase de reflexion pour faire un truc pour ma fille…
    Merci

    1. N.i.c.O dit :

      salut, la dernière version est la 3.0 https://github.com/Sispheor/piclodio3.
      Et oui c’est possible d’ajouter un bouton physique en modfiant le code du backend.

      1. Christian dit :

        j’ai fait l’install à partir de la doc du git, mais j’ai un problème pour la partie front (raspberry 3 dernière version de raspbian à jour) :

        tout est ok jusque là :

        pi@raspberrypi:~ $ sudo npm install -g @angular/cli
        /usr/bin/ng -> /usr/lib/node_modules/@angular/cli/bin/ng
        mime@1.2.11 node_modules/@angular/cli/node_modules/url-loader/node_modules/mime
        /usr/lib
        -- @angular/cli@1.0.0-beta.32.3
        +-- css-loader@0.26.2
        |
        — loader-utils@1.0.2
        +– resolve@1.3.1
        | -- path-parse@1.0.5
        +-- rimraf@2.6.1
        +-- style-loader@0.13.2
        |
        — loader-utils@1.0.2
        -- url-loader@0.5.8
        — loader-utils@1.0.2

        npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/@angular/cli/node_modules/chokidar/node_modules/fsevents):
        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {« os »: »darwin », »arch »: »any »} (current: {« os »: »linux », »arch »: »arm »})

        Je continue l’install de la doc :

        cd piclodio3/front/
        sudo npm install

        [plein de sortie]
        …./….
        +– isstream@0.1.2
        | +– json-stringify-safe@5.0.1
        | +– mime-types@2.1.14
        | | -- mime-db@1.26.0
        | +-- oauth-sign@0.8.2
        | +-- qs@6.3.1
        | +-- stringstream@0.0.5
        | +-- tough-cookie@2.3.2
        | +-- tunnel-agent@0.4.3
        |
        — uuid@3.0.1
        `– UNMET PEER DEPENDENCY zone.js@0.6.26

        npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
        npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.1: wanted {« os »: »darwin », »arch »: »any »} (current: {« os »: »linux », »arch »: »arm »})
        npm WARN @angular/core@2.4.1 requires a peer of zone.js@^0.7.2 but none was installed.

        J’essaie quand meme :

        pi@raspberrypi:~/piclodio3/front $ ng serve –host 0.0.0.0
        Environment configuration does not contain « environmentSource » entry.

        A new environmentSource entry replaces the previous source entry inside environments.

        To migrate angular-cli.json follow the example below:

        Before:

        « environments »: {
        « source »: « environments/environment.ts »,
        « dev »: « environments/environment.ts »,
        « prod »: « environments/environment.prod.ts »
        }

        After:

        « environmentSource »: « environments/environment.ts »,
        « environments »: {
        « dev »: « environments/environment.ts »,
        « prod »: « environments/environment.prod.ts »
        }

        y’a un truc qui va pas.
        je ne sais pas trop quoi faire. on dirait qu’il y a un probleme avec zone.js@^0.7.2

        1. N.i.c.O dit :

          Je vous recommande d’installer directement depuis l’image à déployer sur le Rpi. https://github.com/Sispheor/piclodio3/releases

          1. Christian dit :

            je voulais un peu l’éviter mais bon… c’est basé sur quel systeme ?
            c’est quoi le user , password de cette image ?

          2. N.i.c.O dit :

            Basé sur la dernière Raspbian avec les login et password par défaut.

  51. Christian dit :

    ok merci.

  52. Christian dit :

    ça marche impec, merci.
    Bon boulot !

    1. N.i.c.O dit :

      Bon réveil à vous 😉

  53. Retardabus dit :

    Bonjour,

    Piclodio3 ? Je suis encore en 1.3 :/
    Où peut-on voir les différents « changelogs » ?

    1. N.i.c.O dit :

      Au niveau changelog il n’y a pas grand chose. Les fonctionnalités sont les mêmes. J’avais besoin de réécrire le programme pour avoir une vrai API. C’est plus fluide en revanche que la version précédente.

  54. Christian dit :

    Salut,
    un petit probleme :
    si la carte son est une carte USB, le contenu de l’interface ne se charge pas, je n’ai plus de radio, ni d’alarme.
    En fait, il ne trouve pas la carte son, du coup il n’affiche rien.
    J’ai modifié piclodio3/back/webapi/Utils/SoundManager.py pour aller avec ma config mais il faudrait trouver un truc générique :
    try:
    m = alsaaudio.Mixer()
    except alsaaudio.ALSAAudioError:
    # no master, we are on a Rpi
    #m = alsaaudio.Mixer(« PCM »)
    m = alsaaudio.Mixer(« Speaker ») <—–

    (mon Usb s'appelle Speaker dans alsamixer)
    pourtant le commentaire du 4 janvier 2017 à 22 h 34 min avait l'air d'avoir trouvé le truc, moi j'ai pas trouvé comment faire autrement (je ne sais pas vraiment si elle est definie par defaut)

    Petite demande :
    Est ce qu'il est possible de pouvoir choisir le "backup file" dans la liste des radios des alarmes ? si on ne veut pas de radio mais le mp3 (meme si internet fonctionne).
    D'ailleurs il me semble qu'il y a un bug, si l'alarme lit le backup file, elle ne tient pas compte de l'auto stop pour s'arreter.

    1. N.i.c.O dit :

      Non le backup file est forcement un MP3. Car le plus gros danger est de perdre la connection internet.
      En mode « backup », l’auto stop est ignoré. Ce n’est pas un bug mais un choix d’implémentation.
      En ce qui concerne l’USB. Normalement il n’y a pas a effectuer de modification du code. Piclodio se base sur la conf de sortie par défaut du Pi. Il faut plutot regarder du coté du fichier .asound. Voir google.

      1. Christian dit :

        en fait, je me suis mal exprimé, je voudrais choisir mon fichier backup plutot qu’une radio pour être réveillé.
        Pourquoi on aurait pas besoin d’autostop quand on utilise le backup ? on peut certes mettre un mp3 avec une durée égale à l’autostop mais ce n’est pas pratique, ça devrait réagir comme pour la radio ?

        1. N.i.c.O dit :

          Ah oui ce n’est pas possible. Ce n’est pas le but de Piclodio. Il y a d’autres soft pour ça 🙂
          Et oui pour moi le MP3 se joue entièrement. C’est un choix de le laisser se finir et d’ignorer l’auto stop.

  55. Christian dit :

    autre remarque, la vue « homepage » consomme une dizaine de Ko de mémoire toutes les secondes dans chrome.
    Surement a cause du rafraîchissement de l’heure, il y a un leak de memoire.
    Note pour plus tard : Ne pas laisser ouverte cette page dans chrome, ça a planté mon raspberry…(un redémarrage et c’est reparti )

    1. N.i.c.O dit :

      Effectivement, angular propose un abonnement à une resource. Je vais voir pour améliorer ça et faire le calcule uniquement coté client. ça devait être le cas en faite..

  56. Christian dit :

    Hello,
    le projet est terminé !

    vue de face:
    http://www.chrisnsoft.com/wp-content/uploads/20170320_184750.jpg

    Décoration fille :
    http://www.chrisnsoft.com/wp-content/uploads/20170320_184721.jpg

    Ecran luminosité maxi ( se met en veille au bout de 10minutes, luminosite minimum mais visible quand meme ) :
    http://www.chrisnsoft.com/wp-content/uploads/20170320_185049.jpg

    Quand le reveil « sonne », on appui sur stop pour arreter (ecran tactile) , touche tactile pour le volume +/- :
    http://www.chrisnsoft.com/wp-content/uploads/20170320_185217.jpg

    l’intérieur :
    Ecran tactile 3.5 pouces, haut parleur alimentés par USB, carte son USB, micro USB pour utiliser « Jarvis » (reconnaissance vocale ) :
    http://www.chrisnsoft.com/wp-content/uploads/20170320_184811.jpg

    j’ai modifié le réglage du volume +2 , -2 au lieu de +10/-10.
    et dans les web radios, si je met une radio avec l’URL = « MP3 », ça lit le fichier backup directement.
    J’ai aussi modifié la commande du cron pour rajouter un commande qui met la luminosité de l’écran au maximum lors de l’alarme.
    Dans mon interface Html, j’utilise ton API via ajax pour modifier le volume et démarrer/arreter la radio (la dernière lue, il n’y a pas d’interface html de selection de la radio, j’ai fait simple… )

    Le reveil est officiellement en production dans la chambre de ma fille… a voir s’il sera efficace…
    Premier test grandeur nature demain matin.

    Merci pour ton projet, j’ai rien compris au code « global » (la techno angular) mais c’est super modulaire et j’imagine que si on prend vraiment le temps ça doit être super simple et efficace…
    A+

    1. N.i.c.O dit :

      Bravo!! C’est super sympa! Content de savoir que le projet est en prod ailleurs que dans ma chambre!
      Je croise les doigts pour que le réveil se passe bien demain alors 😉
      Merci pour les photos, ça donnera surement des idées aux gens de passage sur le blog.

  57. Quentin dit :

    Hello

    Petite question, est il possible de le rendre compatible BT ?
    En gros s’endormir en écoutant la radio avec un écouteur BT dans l’oreille et de le faire sonner sur le HP le lendemain matin ?

    Merci

    1. N.i.c.O dit :

      Salut. Piclodio sort le son sur la sortie déclarée comme étant la sortie par défaut.
      Donc passer par le BT oui ça doit marcher. Après pour le changement tu peux te faire un petit script sh dans la crontab pour le changer de temps en temps. Je n’ai pas intégré le changement depuis l’interface encore.

  58. alain dit :

    Bonjour
    J’admire la maîtrise de Nico
    Eh bien pour ma part ultra débutant sur linux et j’ai tapé à la lettre les lignes de commande, sans trop comprendre
    résultat ça me met une erreur option 2 vHost sudo a2ensite piclodio site piclodio qui n’existe pas. j ai essayé Piclodio et piclodio2 et Piclodio2
    rien.
    Pour écrire à la fin du fichier pas trouvé comment on sauvegarde
    pas sûr d’avoir réussi.
    Ensuite sudo service apache2 reload rien ne se passe

    et pour finir cerise sur le gateau http://adresse_IP_du_RPI/piclodio

    mon adresse ip du bestiau bonne question. Oula la procédure sur trop facile.net me paraît plus que difficile et je sens déjà le risque d’avoir encore un beau message d’erreur.
    Je travaille sur le petit écran 5″ tactile joyit
    j’ai besoin de pouvoir prolonger le connecteur gpio, et de prendre que les connexions nécessaires, déconnecter le 5V pour pouvoir réellement éteindre l’écran indépendemment du Pi, et pouvoir utililser les ports gpio pour commander un vrai afficheur de radio réveil.
    Beau projet j’espère y arriver aussi
    Merci d’avance

    1. N.i.c.O dit :

      Salut ! Piclodio 3 est dispo! Et installable via une image toute prete! Ici: https://github.com/Sispheor/piclodio3

  59. alain dit :

    Salut
    bon eh bien de mal en pis
    j ai décompressé l’image et … rien
    Lorsqu’on suit les étapes dans backend sur github eh bien il veut pas installer car le dossier existe déjà (logique puisqu’on l’a décompacté) donc j’efface l’image.
    Ca copie mais 800ko alors que l’image fais 2,5Go
    je ne sais pas comment désinstaller proprement tout le blabla que j avais tappé pour essayer d’installer piclodio ancienne version
    Bref il faudrait me guider pour enlever tout ce qui ne sert à rien
    sur windows je connais, là pas du tout. Snif
    Et me donner la méthode simple pour installer cette image
    Merci

    1. Nico dit :

      L’image est une image de raspbian à installer sur la carte SD de votre raspberry comme vous le faites habituellement pour installer un nouveau raspberry

  60. alain dit :

    aie! j aurais cru que piclodio était un logiciel et non un sytème d’exploitation complet.
    Je suis complétement perdu
    J’ai 2 dossiers piclodio3-master.zip et l autre piclodio3.0_raspian.zip
    j ai juste decompressé le master dans le même dossier téléchargement et quoi faire?
    j ai pas envie de reformatter ma carte sd j ai tout installé raspbian et l ecran y compris le tactile et système mis à jour.

    1. N.i.c.O dit :

      Et bien dans ce cas il vous faudra suivre l’installation manuelle depuis la doc du Github (en anglais) https://github.com/Sispheor/piclodio3

      1. alain dit :

        Et bien oui on tourne en rond, j’ai suivi l’installation manuelle et c’est à partir de là que rien ne va plus.

        erreur option 2 vHost sudo a2ensite piclodio site piclodio qui n’existe pas.
        L’anglais n’est pas un problème
        autre soucis ensuite est ce lié au premier? sudo service apache2 reload

        je cherche éventuellement une façon plus simple et surtout plus efficace d’y arriver.
        Je veux bien taper des centaines de ligne si ça fdonctionne, là le soucis c’esst qu’au bout de quelques lignes du début les problèmes commencent.
        sur ce lien j’espérais mais https://mespotesgeek.fr/fr/web-radio-reveil-sur-raspberry/ tout en ligne de commande aussi, alors que pour régler la date et le son par exemple y a juste à aller dans les réglages et cliquer sur le haut parleur dans la barre en haut. j’ai toruvé ça tout seul en peu de temps. C’est intuitif

      2. alain dit :

        Et bien oui on tourne en rond, j’ai suivi l’installation manuelle et c’est à partir de là que rien ne va plus.

        erreur option 2 vHost sudo a2ensite piclodio site piclodio qui n’existe pas.
        L’anglais n’est pas un problème
        autre soucis ensuite est ce lié au premier? sudo service apache2 reload

        je cherche éventuellement une façon plus simple et surtout plus efficace d’y arriver.
        Je veux bien taper des centaines de ligne si ça fonctionne, là le soucis c’est qu’au bout de quelques lignes du début les problèmes commencent.
        sur ce lien j’espérais https://mespotesgeek.fr/fr/web-radio-reveil-sur-raspberry/ tout en ligne de commande aussi, alors que pour régler la date et le son par exemple y a juste à aller dans les réglages et cliquer sur le haut parleur dans la barre en haut. j’ai toruvé ça tout seul en peu de temps. C’est intuitif

        Je cherche juste un logiciel à installer simplement ou pas, mais qui fonctionne pour remplir la fonction radio réveil par défaut au démarrrage du pi3. Pouvoir régler autant d’alarmes que souhaité par un fichier excel par exemple.
        Ensuite je me débrouillerai avec les outils de programmation plus ou moins pratique pour paramétrer le port GPIO.
        L’électronique (la vraie n’est pas un problème, je constate tristement que ça se perd)
        Quelle est la taille de ce programme? Je n’en sais rien tantôt 4Mo ou bien 622Mo compressé
        L’adresse ip du pi? on la trouve où et comment?

  61. alain dit :

    non j efface dossier de 4Mo c ‘est pas possible le picolo3.0_raspbian.zip fait 622Mo

    en revanche en voulant lancer xarchiver rien ne se passe

  62. alain dit :

    Perdu
    Rien je ne sais pas quoi faire
    Pour moi il n’y a pas de habituellement
    c’est quoi la marche à suivre?
    je débute vraiment, mais j’ai envie de progresser et j’en ai besoin

  63. alain dit :

    comment on édite un message pour corriger les fautes et enlever les doublons?

  64. alain dit :

    sur le site là https://mespotesgeek.fr/fr/web-radio-reveil-sur-raspberry/
    le serveur web installé
    Mais pas de possibilité de tester comme dit
    Est ce qu’on s’en fou, pas important?
    On verra bien, continuons… Quand je veux tester le lecteur multimédia, connecting to server provisioning.streamtheworld.com[208.92.53.145]: 80. . .

    cache size set to 320 KBytes
    Unknow entry type NumberofEntries=0
    Unknow entry type Version=2
    Entry 1 don’t have a file !!!!
    Entry 2 don’t have a file !!!!
    Error while parsing playlist
    Warning: empty playlist
    Error parsing option on the command line: -playlist
    Mplayer 1.3.0 (bebian), built with gcc-6.2.1 (c) 2000-2016 Mplayer Team

    Jusque là erreur mais bon,

    Utilisation

    Vous pouvez utiliser l’application via n’importe quel navigateur d’un terminal de votre réseau local. Il suffit de se rendre à l’adresse IP du Rpi et d’ajouter le nom du dossier de piclodio à la fin de l’url comme ceci
    http://192.168.0.20/piclodio
    là pourtant c’est du français mais en gros ça veut sire quoi?
    Quand je tape ça dans chromium, je tombe sur le site mespotesgeek et ça sert donc à rien
    passons
    Youpi sur tunein j’ai trouvé une radio de bien, je n’ose plus rien toucher lol
    ni l’éteindre
    En revanche pour la suite
    le clic droit sur la page OK inspection OK
    onglet network OK

    Trouver le script qui transfert le plus de données (celui qui à la plus grande bare jaune)
    Copié la « Request URL » dans Piclodio
    j’ai rien de tout ça
    et en admettant qu’on s’en cogn…
    pour copier l’adresse de la radio dans la barre en français ça ok mais après pas réchauffé pour autant pour la mettre dans piclodio surtout que pas sûr qu’il y soit
    coment on le voit comment on le lance etc???
    je sais ça fait beaucoup de questions mais je rêve pas ça va pas comme prévu

  65. alain dit :

    bon alors j’ai suivi ça
    https://mespotesgeek.fr/fr/web-radio-reveil-sur-raspberry/
    ca se passe pas trop mal à part quelques erreurs trop long à taper et j’aurais dû faire un fichier texte
    effacé tout seul au bout d’un moment donc pas envie de recommencer
    en gros je peux pas tester le serveur web mais on va dire qu’il n’y a pas de raison
    l audio ok
    le lecteur pas moyen de tester erreur liste vide
    piclodio a priori installé mais je sais pas ou ni comment on le voit
    application fantôme lol
    Utilisation

    Vous pouvez utiliser l’application via n’importe quel navigateur d’un terminal de votre réseau local. Il suffit de se rendre à l’adresse IP du Rpi et d’ajouter le nom du dossier de piclodio à la fin de l’url comme ceci
    http://192.168.0.20/piclodio
    ca a beau être du français ça me parle pas du tout
    d’auilleurs ça fonctionne pas ça non plus bref passons

    youpie tunein fonctionne j ai plus envie d’éteindre le pi3 de peur que ça ne fonctionne plus lol
    le clic droit sur la page et onglet network ok pour le reste y a rien de tout pas de barre jaune ni rien ni headers
    je mets le lien de la radio précieuse que j’ai trouvé en favori
    mais on est loin de copier dans piclodio qui est je sais pas où comme les fantômes
    quand à mettre android snif j ai pas trop envie
    je vois pas trop l’intérêt de passer encore par piclodio mais sur android franchement je vois pas le but
    avcec le gros risque encore que ça ne fonctionne pas

    1. N.i.c.O dit :

      Vous devriez passer sous un autre programme. Merci !!!

  66. alain dit :

    j essaie avec cette version qui paraît plus simple
    https://mespotesgeek.fr/fr/web-radio-reveil-sur-raspberry/

    tout va bien, je ne peux pas tester le serveur web pas grave
    Utilisation

    Vous pouvez utiliser l’application via n’importe quel navigateur d’un terminal de votre réseau local. Il suffit de se rendre à l’adresse IP du Rpi et d’ajouter le nom du dossier de piclodio à la fin de l’url comme ceci
    http://192.168.0.20/piclodio
    là c est du français mais c’est pas clair et ça fonctionne pas
    je me retrouve sur la page mespotesgeek on croirait une boucle lol

    tunein OK
    inspecter et network OK
    après y a rien de pareil ni le tableau pas de jaune pas d headers
    et après ça balance copier au pire je mets en favori ça oui ok mais pour copier sur piclodio qui est fantôme je ne sais ni où le trouver ni le lancer
    et encore moins copier
    Trouver le script qui transfert le plus de données (celui qui à la plus grande bare jaune)
    Copié la « Request URL » dans Piclodio

    barre?
    copié? ou copiez la là
    bref pas sorti de l’auberge
    et en plus après y a l application piclodio mais sur android snif
    Moi qui pensais pouvoir y échapper
    au secours

  67. alain dit :

    un autre programme? un exemple? en cherchant on tombe que sur piclodio c’est très bien j’en serais content
    mais faudrait juste expliquer un petit peu
    les erreurs retournées grave, pas grave
    piclodio doit être installé mais je ne le vois nulle part
    je vois bien le dossier mplayer dans pi
    y a un fichier master.zip de 68Ko à quoi ca sert?
    où trouver l’application
    dans les onglets j’ai programmation
    bureautique
    internet
    jeux
    accessoires
    outils systeme
    son et video
    help
    preferencees
    run
    shutdown
    j ai cherché dans toutes ces rubriques

  68. N.i.c.O dit :

    Installez l’image toute prete sur votre carte SD. ça sera plus simple. par contre c’est une image sans interface graphique.

  69. Xavier dit :

    Bonjour
    Je souhaite ajouter une fonction Repeat, comment faire ?

    1. N.i.c.O dit :

      Repeat? Comment ça?
      Sinon le code est open source alors hésitez à faire vos modifications.
      Moi je n’ai pas trop le temps en ce moment pour modifier ce projet.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *