ATC – écoute via SDR (3)

ATC – écoute via SDR (3)

Faisant suite à la description de l’installation de RTLSDR-Airband, cette page décrit maintenant l’installation du serveur de flux audio Icecast.

Icecast est un serveur de diffusion multimédia (audio/vidéo) qui prend actuellement en charge les flux Ogg (Vorbis et Theora), Opus, WebM et MP3.
Il peut être utilisé pour créer une station de radio Internet ou un juke-box privé et bien d’autres choses… Il est polyvalent dans la mesure où de nouveaux formats peuvent être ajoutés aisément et prend en charge les normes ouvertes de communication et d’interaction.

A ce stade, voici l’architecture logicielle de l’ensemble :

Architecture logicielle

Installation

Se connecter en SSH sur le Raspberry, puis taper la commande :
sudo apt-get install icecast2

Le serveur et les dépendances s’installent.

Configuration

Le fichier de configuration d’Icecast2 (icecast.xml) se trouve dans le répertoire /etc/icecast2, on utilisera donc la commande suivante pour le modifier :
sudo nano /etc/icecast2/icecast.xml

Attention : le fichier de configuration d’Icecast2 est au format XML, qui ne permet pas d’erreurs dans la syntaxe. Une erreur fréquente est l’oubli de fermeture d’une balise. Si une erreur existe dans le fichier de configuration et que le serveur ne démarre pas, on peut obtenir certaines informations concernant ladite erreur dans les fichiers de logs et notamment /var/log/icecast2/error.log.

Modifier les mots de passe

Il s’agit autant du mot de passe de l’administrateur que celui des sources devant se connecter à Icecast.

....
<authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>hackme</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
</authentication>
....

Il suffit de modifier les valeurs de hackme et de admin. Conserver le nom de user “source” car il est configuré ainsi dans RTLSDR-Airband.

avec :

source-password : mot de passe principal utilisé par RTLSDR-Airband pour se connecter. Icecast2 permet d’avoir une identification spécifique par point de montage avec nom d’utilisateur et mot de passe mais ce mot de passe permet de se connecter à l’ensemble des points de montage en utilisant le nom d’utilisateur “source” ;
relay-password : mot de passe utilisé pour les relais avec comme nom d’utilisateur “relay” comme pour source-password  (sans intérêt dans notre architecture, on laisse ainsi);
admin-user : nom d’utilisateur pour accéder à l’interface web d’administration du serveur (nomalement http://ip_ou_nom_du_serveur:8000 par défaut) ;
admin-password : mot de passe administrateur de cette même interface ;

Modifier les paramètres de base du serveur

A minima il est nécessaire de modifier le hostname du serveur.

<icecast>
        <admin>email@admin_serveur.tld</admin>
        <hostname>ssdomaine.admin_serveur.tld</hostname>
        <location>votre_localisation</location>
        .....
        <!-- Suite de la configuration -->
        .....
</icecast>

Création d’un point de montage

Dans l’état actuel de l’installation il n’est pas nécessaire de créer un point de montage spécifique; la configuration par défaut suffit. Sauf besoin spécifique vous pouvez maintenant sauver le fichier de configuration et quitter l’éditeur.

Test de la configuration

Afin de tester la configuration, il est nécessaire de changer d’utilisateur :
su icecast2 -s /bin/bash

Lancer le serveur :
icecast2 -c /etc/icecast2/icecast.xml

On doit pouvoir voir le serveur à l’adresse http://RASPI_IP_ADDRESSE:8000 et voir ses fichiers de logs dans le répertoire /var/log/icecast2.

Configuration du démon

Le démon Icecast2 est désactivé par défaut, pour activer son fonctionnement, il suffit de modifier le fichier de configuration par défaut :

sudo nano /etc/defaults/icecast2

Puis de modifier la ligne :

ENABLE=false en ENABLE = true

On lance alors le démon :
sudo /etc/init.d/icecast2 start

Si vous n’avez pas modifié les données de port, la page d’administration du serveur devrait dorénavant être accessible à l’adresse : http://RASPI_IP_ADDRESSE:8000.

Tests de l’ensemble

  1. Démarrer RTLSDR-Airband : sudo /usr/local/bin/rtl_airband -f
  2. L’interface d’administration de Icecast doit maintenant indiquer le point de montage de la source
  3. En utilisant un client lecteur mp3 (Safari, iTunes, FStream, etc.) se connecter sur http://RASPI_IP_ADDRESSE:8000/ATC.mp3. On doit entendre les conversations sur le fréquences programmées.

Lors du Boot RTLSDR-Airband ne démarre pas. Il est nécessaire de modifier le fichier rc.local pour lancer le service :
sudo nano /etc/rc.local
Avant la ligne exit 0 ajouter la commande :
/usr/local/bin/rtl_airband

Sauver et quitter.

sudo reboot

Si le trafic le permet (quand on pilote on ne passe pas son temps à la radio 😉  ) on doit entendre les communications en se connectant au flux : http://RASPI_IP_ADDRESSE:8000/ATC.mp3.

Bonnes écoutes…


Références

[1] Doc. technique Debian

Rédigé en : juin 2023

error: Ce contenu est protégé !!