[FR] Digital Radio for Raspberry Pi

Bonjour,

J’ai reçu mon module il y a quelques jours et je ne l’ai branché que hier.
Je lance les différentes commandes demandées. Je me rends sur http://piradio.local:8686/ → rien / erreur. je remplace piradio.local par l’ip de mon raspberry pi, j’arrive à accéder à l’interface web. je lance le scan, ça tourne mais il ne se passe rien, aucune station trouvée.
J’essaie en FM, pareil.

Je veux bien de l’aide

Avez-vous branché l’antenne fournie ?

Oui

Est-ce qu’il existe une commande cli pour vérifier que tout est ok ? Ou pour lancer le scan et surveiller ce qu’il se passe tours via le terminal ?

Le premier scan peut être très long plus de 10mn refaite un scan et soyez sur d’attendre longtemps ça devrait marcher

J’ai laissé tourner 24h, il ne s’est rien passé

Bonjour,

Oui, vous pouvez tester le shield directement en ligne de commande pour avoir plus d’informations.

D’abord, vérifiez que SPI est bien activé sur le Raspberry Pi :

ls /dev/spidev*

Vous devriez voir quelque chose comme :

/dev/spidev0.0 /dev/spidev0.1

Si rien n’apparaît, activez SPI avec :

sudo raspi-config

Puis :
Interface Options → SPI → Enable

Ou en ligne de commande :

sudo raspi-config nonint do_spi 0
sudo reboot

Ensuite, connectez-vous au Raspberry Pi en SSH, allez dans le dossier du projet, puis lancez le serveur en mode visible pour voir les messages de debug :

cd ~/Digital-Radio-for-Raspberry-Pi
python3 radio.py serve --port 8686

Dans un deuxième terminal SSH, vous pouvez tester :

python3 radio.py status
python3 radio.py boot --mode dab
python3 radio.py scan --mode dab
python3 radio.py stations --mode dab
python3 radio.py play 0

Pour obtenir plus de détails techniques sur l’état courant :

python3 radio.py status --json

Si le scan bloque ou échoue, envoyez-nous la sortie complète du terminal où tourne :

python3 radio.py serve --port 8686

ainsi que le résultat de :

ls /dev/spidev*
python3 radio.py status --json

À vérifier aussi :

  • l’antenne DAB/FM doit être branchée
  • le shield doit être bien enfiché sur le connecteur 40 pins
  • SPI doit être activé dans Raspberry Pi OS
  • les dépendances Python doivent être installées

sudo apt install python3-spidev python3-rpi.gpio python3-smbus2 alsa-utils

On avance !
En effet, SPI n’était pas activé
Le scan fonctionne en FM et en DAB+

Est-il possible d’écouter depuis l’interface web ? Je ne vois pas de commande de player.
L’affichage du logo se cale sur la hauteur du logo. En DAB+, l’image demandé au éditeur est rectangulaire 320*240. Il serait préférable de caler l’affichage sur la largeur max du logo.

Oui, c’est maintenant possible.

Il y a deux façons d’écouter :

  1. La sortie audio physique du shield
    Le comportement de base reste celui d’une vraie radio : le son sort par la sortie jack / ampli du shield vers onboard speaker ou Speaker externe.

  2. Un flux audio local en URL
    Le serveur peut aussi exposer un flux MP3 local sur le réseau. Après mise à jour du repo, vous pouvez utiliser par exemple :

http://piradio.local:8686/audio/live.mp3

Cela streame la station actuellement sélectionnée.

Vous pouvez aussi récupérer une playlist DAB complète :

http://piradio.local:8686/playlists/dab.m3u

Ou uniquement les favoris :

http://piradio.local:8686/playlists/favorites.m3u

Chaque entrée de la playlist pointe vers une URL du type :

http://piradio.local:8686/audio/stations/<station_id>.mp3

Quand vous sélectionnez une station dans cette playlist, le serveur fait automatiquement le tune sur la bonne station DAB, puis démarre le stream.

Attention : le shield contient un seul tuner radio. Donc si vous lancez une autre station depuis la playlist, cela retune le matériel pour tout le monde.

Si piradio.local ne fonctionne pas sur votre réseau, remplacez simplement par l’adresse IP de votre Raspberry Pi, par exemple :

http://192.168.x.x:8686/playlists/dab.m3u

Pour mettre à jour :

cd ~/Digital-Radio-for-Raspberry-Pi
git pull
python3 radio.py serve --port 8686
graffiti@rpi4:~/Digital-Radio-for-Raspberry-Pi $ cd ~/Digital-Radio-for-Raspberry-PiPi
git pull
python3 radio.py serve --port 8686
Already up to date.
Raspiaudio radio server started
Open one of these URLs:
  http://127.0.0.1:8686/
  http://192.168.1.24:8686/
  http://piradio.local:8686/
Suggested network alias: piradio
  If your hostname or mDNS alias is set to `piradio`, try http://piradio.local:8686/
Current host name: rpi4

mais je n’ai rien sur les urls indiquées :

192.168.1.24:8686/playlists/favorites.m3u
192.168.1.24:8686/audio/live.mp3
→ Firefox ne peut pas se connecter au serveur à l’adresse **192.168.1.24:8686**

J’accède bien à l’interface web via l’url 192.168.1.24:8686

cela veut probablement dire que votre installation n’a pas encore le patch “Music Assistant / streaming URLs” appliqué dans le code serveur actif.

Dans le repo, la fonctionnalité en cours de dev est disponible sous forme de patch. Pouvez-vous essayer :

cd ~/Digital-Radio-for-Raspberry-Pi
git pull
git apply patches/0001-add-music-assistant-streaming-metadata-support.patch
python3 radio.py serve --port 8686
graffiti@rpi4:~ $ cd ~/Digital-Radio-for-Raspberry-Pi
git pull
git apply patches/0001-add-music-assistant-streaming-metadata-support.patch
python3 radio.py serve --port 8686
Already up to date.
error: patch failed: README.md:167
error: README.md: patch does not apply
Raspiaudio radio server started
Open one of these URLs:
  http://127.0.0.1:8686/
  http://192.168.1.24:8686/
  http://piradio.local:8686/
Suggested network alias: piradio
  If your hostname or mDNS alias is set to `piradio`, try http://piradio.local:8686/
Current host name: rpi4

reesayez svp on a mis à jour

voir le readme

pour streamer sur votre reseau local il faudra installer le device I2S voir readme

graffiti@rpi4:~ $ cd ~/Digital-Radio-for-Raspberry-Pi
git pull
git apply patches/0001-add-music-assistant-streaming-metadata-support.patch
python3 radio.py serve --port 8686
remote: Enumerating objects: 72, done.
remote: Counting objects: 100% (69/69), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 50 (delta 32), reused 38 (delta 20), pack-reused 0 (from 0)
Unpacking objects: 100% (50/50), 126.88 KiB | 1.19 MiB/s, done.
From https://github.com/RASPIAUDIOadmin/Digital-Radio-for-Raspberry-Pi
   b79dac0..091c217  main           -> origin/main
 * [new branch]      MusicAssistant -> origin/MusicAssistant
Updating b79dac0..091c217
Fast-forward
 README.md                      | 106 +++++++++++++++++++++++----
 legacy/dab_radio_i2c_safe2.py  | 102 ++++++++++++--------------
 pic/vlc.png                    | Bin 0 -> 113248 bytes
 raspiaudio_radio/backend.py    | 221 ++++++++++++++++++++++++++++++++++++++++++++------------
 raspiaudio_radio/cli.py        |   7 ++
 raspiaudio_radio/server.py     | 660 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 raspiaudio_radio/static/app.js |   7 +-
 7 files changed, 987 insertions(+), 116 deletions(-)
 create mode 100644 pic/vlc.png
error: patch failed: README.md:167
error: README.md: patch does not apply
error: patch failed: raspiaudio_radio/backend.py:73
error: raspiaudio_radio/backend.py: patch does not apply
error: patch failed: raspiaudio_radio/server.py:1
error: raspiaudio_radio/server.py: patch does not apply
Raspiaudio radio server started
Open one of these URLs:
  http://127.0.0.1:8686/
  http://192.168.1.24:8686/
  http://piradio.local:8686/
Live MPEG stream:
  http://127.0.0.1:8686/audio/live.mp3
  http://192.168.1.24:8686/audio/live.mp3
  http://piradio.local:8686/audio/live.mp3
Suggested network alias: piradio
  If your hostname or mDNS alias is set to `piradio`, try http://piradio.local:8686/
Current host name: rpi4

Et toujours rien sur le lien mp3 :sad_but_relieved_face:

mon conseil c’est effacer tout votre repertoire d’installation, refaire un clone du github, attendre la fin du premier scan (sans quoi il ne peut pas avoir de liste), essayer l’interface web pour jouer une radio.

Si vous voulez envoyez le stream sur votre reseau local il vous faudra d’abord créer un device I2S sur votre Rpi (voir readme). Si cela marche vous devriez pouvoir enregistrer depuis l’interface web.

si vous avez validez ces étapes alors vous pouvez retrouver la radio en train de jouer ici :slight_smile: http://192.168.1.24:8686/audio/live.mp3

puis l’url de la liste dans vlc par exemple

1 Like

C’est parfait, tout fonctionne
Merci