Titre en cours et Raspberry Pi

Vous souhaitez afficher le titre en cours de diffusion de votre radio sur TuneIn ? de créer un flux Twitter qui créera un post pour chaque titre diffusé ? Cet article énumère les solutions et scripts qui vont vous permettre de le faire. A noter que si vous n’avez pas de Raspberry Pi, vous pouvez utiliser un ordinateur avec Ubuntu ou Debian. Nous allons seulement utiliser le Cron de la machine pour « pousser » le titre en cours vers la plateforme que l’on souhaite alimenter.

Tunein

Pour TuneIn, il faudra avant tout demander une clé et un ID partenaire, pour cela il faudra également que vous ayez déjà ajouté votre flux à la plateforme. Si ce n’est pas déjà fait, vous devrez remplir ce formulaire : http://tunein.com/syndication/new/?IsBroadcaster=true

Une fois que vous avez ajouté votre radio et obtenu la clé et l’ID partenaire, vous avez deux solutions :

  • Soit votre logiciel d’automation radio envoie les données (titre et artiste en cours) vers votre Icecast (Version 2.4 minimum). Vous avez donc une url du type http://nomdelaradio.com:8000/status-json.xsl . Il ne vous reste plus qu’à télécharger ce script : https://github.com/Nomy/tunein-air-api-php/blob/master/tunein-cron.php et à modifier les champs dans les sections « TuneIn API settings » et « Get data from IceCast2 status-json.xsl ».
  • Soit votre logiciel d’automation radio envoie les données vers un script php hébergé sur votre site web qui va générer une url de la forme : http://nomdelaradio.com/title.html. Il ne vous reste plus qu’à télécharger ce script : https://github.com/Nomy/tunein-air-api-php-url/blob/master/tunein-cron.php et à modifier les champs dans les sections « TuneIn API settings » et « Get data in Plain Text from URL »

Il faudra ensuite uploader (via ftp) votre fichier tunein-cron.php sur serveur web afin d’obtenir une url du type http://nomdelaradio.com/tunein-cron.php

C’est maintenant que le Raspberry Pi rentre en jeu. Plutôt que d’utiliser un ordinateur bruitant, gourmand et volumineux nous allons utiliser un Raspberry Pi.

Ouvrez le terminal et tapez :

$ crontab -e

Si c’est la première fois que vous entrez cette ligne de commande, vous devrez choisir un éditeur (nano, vim …). Nano vous sera recommandé. Une fois le fichier ouvert, il suffit d’ajouter la ligne suivante, en prenant soin de modifier « http://nomdelaradio.com » :

* * * * * for i in 0 1 2 3 ; do wget http://nomdelaradio.com/tunein-cron.php -O /dev/null & sleep 15; done

Ctrl+O pour enregistrer puis Ctrl+X pour fermer l’éditeur.

Votre Raspberry Pi enverra donc des requêtes toutes les 15 secondes vers votre fichier tunein-cron.php qui se chargera te mettre à jour les informations (Titre et Artiste) sur la page TuneIn de votre radio. Il ne vous reste plus qu’à vous rendre sur TuneIn et de laisser le Raspberry pi faire son travail.

Merci à Nomy pour ces deux scripts !

Twitter

Le script utilisé dans ce tutoriel prend en charge les serveurs Shoutcast et Icecast. Nous partons du principe que avez un compte Twitter, vous allez devoir ensuite enregistrer une API via http://dev.twitter.com/apps/new afin d’obtenir les informations suivantes : « Consumer key token », « Consumer secret token », « Access Token » et « Access Token Secret »

Il faudra ensuite télécharger l’ensemble des fichiers présents sur ce dépôt Github : https://github.com/dlnetworks/twittercast puis modifier le fichier en fonction de votre serveur (shoutcast_v1.php, shoutcast_v2.php ou icecast.php) en ajoutant les informations de votre serveur de streaming ainsi que pour votre API Twitter.

Si vous préférez utiliser une autre « source » pour récupérer le titre (exemple : http://nomdelaradio.com/titre.html) vous pouvez utiliser ce script :
https://github.com/dlnetworks/twittercast/issues/4#issuecomment-257041933

Nous uploadons les fichiers sur notre serveur web afin d’obtenir une url du type : http://nomdelaradio.com/twittercast/icecast.php . Attention à bien modifier les droits du fichier et à mettre la valeur 755 pour que tout fonctionne.

Comme pour TuneIn, nous allons utiliser le Cron du Raspberry Pi pour envoyer des requêtes régulières au fichier php hébergé sur notre serveur.

$ crontab -e

Et on ajoute la ligne suivante :

*/3 * * * * wget http://nomdelaradio.com/twittercast/icecast.php

Votre Raspberry Pi enverra ainsi des requêtes toutes les 3 minutes au script icecast.php qui créera un nouveau tweet à chaque fois que les informations (titre et artiste) changerons.

5 réflexions au sujet de “Titre en cours et Raspberry Pi”

  1. Salut,
    je viens de découvrir ton site alors que cela fait plus de 3 semaines que j’essaie par tous les moyens de créer ma webradio avec une raspberry, sans succès … Je vais donc tester tes tutos.
    Néanmoins ici tu parles de logiciel d’automation radio, y en a t’il au moins qui fonctionne sous raspberry ? J’ai tenté airtime mais ca ne marche pas …
    Un grand merci pour tes articles !

    Répondre
    • Bonjour,
      Merci pour l’intérêt que vous portez à technic2radio.fr
      Pour ce tuto, j’utilise un PC avec winmedia pour générer une URL avec le titre en cours.
      Concernant les logiciels d’automation, il y a bien une image de Rivendell qui existe pour raspberry (faudrait que je retrouve le lien)
      Sinon, j’attends beaucoup de tester Azuracast lors que les modifications permettront de l’installer sur raspberry pi https://twitter.com/SilverEagleDev/status/891474348753776640

      Répondre
  2. Merci beaucoup,
    je vais tenter de trouver cette image de rivendell également. Et du coup je reste aux nouvelles pour Azuracast.
    L’univers linux est tout nouveau pour moi je suis un peu perdu mais selon vous il est bel et bien possible de créer et gérer une webradio de A à Z diffusant 24/24 uniquement avec une Raspberry ?
    Que je ne me base pas sur de fausses illusions …
    UN grand merci !

    Répondre

Laisser un commentaire