Écouter la radio en streaming

J'ai d'abord réalisé LaRocola , dont le but est de reproduire des fichiers mp3 en obéissant au doigt et aux ondes wifi aux ordres passés par l'intermédiaire de mon smartphone.
LaRocola fonctionne parfaitement depuis plusieurs mois, me permettant de rester dans mon hamac tout en sélectionnant mes disques, augmentant ou diminuant le volume, etc...
Mais c'est bien connu, on n'est jamais satisfait de ce que l'on possède et encore moins de ce que l'on a bidouillé pendant de longues heures.
Puisque j'ai un microcontrolleur, une interface ethernet et un module de reproduction mp3, je voudrais bien écouter, en plus de ma collection de fichiers musicaux, des radios en streaming!
Quelques calculs, quelques recherches sur internet et il faut avouer qu'avec le matériel de LaRocola il va être difficile d'alimenter le décodeur mp3 au rythme soutenu du streaming, même en se contentant des radios qui transmettent à 32 kb/s.
J'ai donc choisi une autre configuration matérielle, tout en conservant l'esprit Arduino :
Une platine Arduino Due, pour sa mémoire ram (96k) et son horloge (86MHz)
Un module Sparkfun MP3 Player qui permet l'accès direct au circuit décodeur (VS1053 ) contrairement au module Rogue rMP3 utilisé dans LaRocola. Cela implique un surcroît de programmation, mais donne la liberté d'alimenter le buffer du décodeur non seulement à partir du contenu d'un fichier mais aussi depuis les données reçues par internet.
Un module WIZ820io, beaucoup plus rapide que le module Arduino Ethernet.
Cet matériel constitue LaRocola II et me permet d'écouter des radios qui transmettent jusqu'à 320 kb/s.

Une fois réalisé l'assemblage de LaRocola II , on doit installer les bibliothèques qui permettent de piloter les différents modules :
Pour accéder à la mémoire microSD, j'utilise la bibliothèque SdFat de Bill Greiman.
Pour piloter le circuit décodeur VS1053, j'ai modifié la bibliothèque SFEMP3Shield de Bill Porter. Cette bibliothèque modifiée est accessible sur ma page GitHub.
Pour le module WIZ820io, j'utilise la bibliothèque Ethernet incluse dans l'ide Arduino, avec quelques petites modifications.
Une description détaillée de l'assemblage de LaRocola II et l'installation des bibliothèques est ici.

J'ai écrit une première version du sketch pour LaRocola II que je compte publier lorsqu'elle sera assez stable.
Pour la télécommande depuis le smartphone Android ou Symbian, j'ai repris celle de LaRocola à laquelle j'ai ajouté quelques petites améliorations qui seront aussi bientôt publiées.

J'ai ouvert un dépôt sur GitHub où sont disponibles tous les fichiers nécessaires à la programmation de LaRocola et des télécommandes sur PC, smartphones Android et Symbian.
Les instructions pour installer ces divers software sont sur le site de LaRocola
Dans le dépôt, se trouve en particulier le fichier Radios.zip qui contient les programmations de quelques radios.
Vous trouverez aussi ici les instructions pour programmer de nouvelles radios.
Bonne écoute!