RadioK

Radiok est un radio-réveil internet construit avec une Raspberry Pi que j'ai installée dans ma chambre.
Il peut être contrôlé par la voix.

Le code est disponible sur GitHub.

Mon vieux réveil radio Sony marchait de plus en plus mal. Le tuner changeait l'accord sur une station au moindre de mes mouvements dans le lit. Aussi je me levais de mauvais poil après m'être énervé un quart d'heure sur le bouton de réglage du poste. Ayant entendu parler de la raspberry pi je décidais d'en acheter une, de la programmer pour écouter en streaming mes radios préférées et déclencher une alarme chaque matin pour me réveiller. C'était aussi pour me rappeler le ZX81 de ma jeunesse.

La première installation a été effectuée en juillet 2014 et le système continue à fonctionner correctement. Il y a encore quelques bugs un peu casse-pieds mais non bloquant. Une nouvelle version basée sur une autre raspberry est en cours de développement. L'application a été nommée RadioG. J'ai voulu profiter de l'occasion pour mettre à jour les versions d'angular, nodejs, bootstrap, less mais j'ai compris rapidement que c'était mission impossible : en 6 ans les choses avaient tellement évolué qu'il valait mieux repartir de 0.

Au mois de juin 2020 la première version de RadioG a été mise en service et elle fonctionne correctement. La partie backend RadioG de est utilisée par la nouvelle version de RadioK qui, elle, est conçue comme un nouveau module frontend.

En janvier 2023 RadioK a été mise à jour pour tenir compte de toutes les évolutions apparues sur les bibliothèques utilisées. L'application tourne maintenant aussi sur Ubuntu. Les modules javascript pour nodejs sont gérés par npm. Pour le moment tout ça reste un peu foutraque, il faudrait reprendre proprement l'architecture, l'API rest, etc.

Le matériel

Le matériel a été acheté chez Amazon à l'exception du dongle wifi. Après avoir passé un peu de temps sur l'internet pour faire mon choix de composants j'ai passé commande de la rpi, d'un boitier, suite
Note : presque 10 ans après la mise en service le matériel fonctionne toujours correctement.

L'architecture logicielle

Le système est bâti autour du programme mplayer qui permet d'écouter la radio en streaming. La boîte à outils logicielle comprend les composants suivants

L'installation

Les fichiers nécessaires à l'installation de l'application sont disponibles sur GitHub. Mais attention ! ce n'est pas un produit fonctionnant out of the box. Le code est disponible pour fournir un exemple de programmation mais une installation demandera un peu d'effort pour obtenir un résultat. Quelques explications

L'implémentation

Les fichiers source disponibles sur GitHub sont relativement bien documentés mais il n'est pas forcément inutile de compléter les commentaires accompagnant le code par quelques informations supplémentaires …

Le contrôle vocal

Le plus fun dans cette application est le contrôle vocal : on peut parler à la rpi , lui demander de faire quelque chose et la plupart du temps elle comprend ! elle-même répond après quelques secondes de réflexion. Tout est expliqué sur cette page

Cette fonctionnalité n'est plus opérationnelle. Il n'est pas impossible qu'elle soit remise en service dans les mois qui viennent.

La feuille de route

Ce programme est maintenant utilisé sans gros problème depuis plusieurs mois. Je me réveille en douceur tous les matins, à l'heure choisie, avec une radio sélectionnnée. Cependant il reste des bugs à corriger, des options à implémenter alors j'envisage pour la suite

Modification: