Comment installer Virtual Radar Server sur Linux

Aujourd’hui, nous allons voir comment installer Virtual Radar Server (VRS) ainsi que Dump1090 sous Linux.

Cette application permet de suivre les avions grâce aux données des transpondeurs mode S, et ne nécessite que très peu de matériel. Ce tutoriel devrait fonctionner sous n’importe quel OS linux, que ce soit un Raspbian, Debian classique ou même Ubuntu. Il n’y a besoin d’aucune interface graphique pour mettre en service VRS, tout peut se faire en lignes de commandes. Enfin, si vous êtes un néophyte, ce tutoriel devrait tout de même être compréhensible, pourvu que vous soyez un minimum débrouillard.

Liste du matériel nécessaire :

Machine

Ce tutoriel nécessitera une machine tournant sous linux. Ce peut être sur une VM, un Banana Pi, un Orange pi, un Raspberry pi, etc…

Une clé

Il vous faudra une clé équipée d’un chipset RTL2832U et d’un tuner R820T2. Exemple sur AMAZON ici.

Récepteur SDR

Ces clés sont, de base, conçues pour recevoir la TNT via son ordinateur. Mais il s’avère qu’elles peuvent être utilisées pour une multitude d’autres applications, impliquant l’écoute de signaux allant de 24 à 1800 Mhz. Aujourd’hui, plus personne ne les achète pour regarder la télé mais bien pour l’écoute de signaux. Les signaux que nous allons écouter sont émis par les transpondeurs des avions, et se captent sur 1090 Mhz.

Une antenne

Vous avez tout à fait la possibilité de fabriquer une antenne maison, mais pour votre première installation, ce ne sera pas nécessaire car les récepteurs tels que cités ci-dessus en incluent une.

Attention : cette antenne fournie de base n’est pas taillée pour la réception de signaux ADS-B. Il faudra la couper à l’aide d’une pince pour l’adapter au quart d’onde de la fréquence 1090 Mhz, c’est à dire 6,8 cm depuis la base comme le montre cette image. Ne négligez pas cette petite étape, elle aura beaucoup d’influence sur la qualité de réception !

Coupe d'une antenne 1090 Mhz

Divers

Après, à vous de voir si vous avez besoin d’autre chose (alimentation pour votre machine, câble ethernet, etc..) Pour ce tutoriel, je ferai la démonstration sur un Raspberry pi 3B+ sur lequel j’ai installé Raspbian, avec un petit setup composé d’une clé AirNav et une antenne basique taillée au quart d’onde. Il ne faut rien de plus pour mettre en oeuvre une station.

Comment installer Virtual Radar Server sur Linux 13

A savoir :

  • Par défaut, le clavier est en QWERTY (sauf si accès en SSH). Il faudra penser à mettre le clavier en AERTY si vous bidouillez directement dessus.
  • Les commandes sont sensibles aux majuscules et minuscules. Attention à bien les respecter.
  • Mes commandes se feront avec l’utilisateur pi, adaptez-les en fonction de votre distribution

1 – L’adresse IP

Pour que vous n’ayez pas à changer vos réglages  régulièrement, je vous conseiller affecter une adresse IP fixe à votre machine. Vous pouvez le faire depuis l’interface de votre box internet en assignant une IP à l’adresse MAC de votre machine (voir sur internet selon votre box), ou indiquer à votre linux une IP statique.

2 – Accès à la machine

Si vous configurez votre machine directement avec un clavier et un écran branchés, vous pouvez défiler vers l’étape suivante.

Si vous voulez configurer en SSH, avec le logiciel Putty par exemple, vous serez peut-être obligés de l’activer selon votre distribution linux. C’est le cas de Raspbian où il faut activer manuellement la fonction SSH. Pour cela, il faudra créer un fichier texte appelé SSH, vide, sur la partition boot de la carte micro SD. Cette action peut se faire depuis windows :

Comment installer Virtual Radar Server sur Linux 14

Et pour trouver l’IP de votre raspberry pi par exemple, vous pouvez utiliser un logiciel comme NETwork Manager permettant de scanner votre réseau.

Au démarrage, identifiez-vous. Je vous conseille de changez immédiatement votre mot de passe pour être tranquille. Récemment, je me suis fait pirater un raspberry pi par un botnet. Evidemment, j’avais laissé les identifiants par défaut… Trop facile.

Vous pouvez changer un mot de passe avec la commande sudo passwd VOTRE_UTILISATEUR. Exemple :

sudo passwd pi

Laissez-vous guider et entrez simplement votre nouveau mot de passe, puis confirmez-le une nouvelle fois. Vous êtes maintenant tranquilles sur ce point. Passons aux choses sérieuses.

3 – Téléchargement des outils nécessaires

Première étape : L’installation des pilotes qui permettront de reconnaître votre dongle USB. On commence avec nos premières commandes pour mettre à jour les paquets. Sans cela, vous risquez de ne pas pouvoir télécharger d’autres paquets par la suite :

sudo apt-get update
sudo apt-get upgrade

On installe maintenant nos drivers pour le dongle :

sudo apt-get install rtl-sdr

Comment installer Virtual Radar Server sur Linux 15

On continue… Donc pressez Y

Puis :

sudo apt-get install libusb-1.0-0-dev

Une fois fini, on installe git et cmake

sudo apt-get install git
sudo apt-get install cmake

Et on installe le reste des composants RTL-SDR avec les commandes suivantes (l’une après l’autre) :

sudo git clone git://git.osmocom.org/rtl-sdr.git
cd rtl-sdr/
sudo mkdir build
cd build
sudo cmake ../
sudo make
sudo make install
cd ~
sudo ldconfig

Une fois fini, on télécharge le pack dump1090. C’est le logiciel qui va décoder les signaux ADS-B reçus par la clé.

sudo git clone git://github.com/antirez/dump1090.git

Un dossier vient d’être créé : dump1090.

On accède à ce dossier avec la commande suivante

cd dump1090

Puis on lance l’installation

sudo make

Vous devez normalement obtenir cela :

Comment installer Virtual Radar Server sur Linux 16

On arrive aux choses intéressantes. Assurez-vous d’avoir mis l’antenne près de votre fenêtre, puis lancez dump1090 avec la commande suivante

sudo ./dump1090 --interactive

Félicitations, vous venez de décoder vos premiers signaux mode S :

Signaux Dump 1090

On y retrouve quelques informations comme les callsigns, l’altitude, la vitesse, et même la position des avions. On peut à présent quitter dump1090 avec le raccourci CTRL + C, et on va lui créer un script pour qu’il se lance automatiquement au démarrage.

On créé donc le script de démarrage automatique avec la commande suivante :

sudo nano /etc/init.d/dump1090.sh

On édite le fichier avec les informations suivantes :

#!/bin/sh
sudo /home/pi/dump1090/dump1090 --net --net-http-port 8085

On sauvegarde avec CTRL + O et on quitte avec CTRL + X.

On rend notre script exécutable en modifiant les permissions, à l’aide de la commande suivante :

sudo chmod +x /etc/init.d/dump1090.sh

Puis on créé le service associé au script :

sudo nano /etc/init.d/dump1090.service

On remplit le fichier avec ceci :

[Unit]
Description=Startup

[Service]
ExecStart=/etc/init.d/dump1090.sh

[Install]
WantedBy=multi-user.target

On sauvegarde, et enfin, on active le service au démarrage :

sudo systemctl enable dump.service

Voilà, Dump1090 se lancera automatiquement au démarrage. On aura besoin qu’il tourne après, donc on redémarre la machine

sudo reboot

Une fois le redémarrage effectué et que vous êtes de nouveau identifiés, on peut vérifier s’il s’est bien lancé dans les processus en cours avec la commande htop (ou la commande top si htop n’est pas installé sur votre distrib)

htop

Vous devriez voir quelques lignes indiquant que dump1090 est en cours d’exécution :

Comment installer Virtual Radar Server sur Linux 17

Si c’est le cas, bravo, sinon, vous avez fait une erreur lors de l’étape précédente.

Mono et VRS

On va maintenant télécharger mono. Mono permet d’exécuter du code .net framwork sous linux. VRS est, de base, conçu pour fonctionner sous un environnement Windows, et cet outil permettra de l’exécuter sous linux. On lance la commande suivante :

sudo apt-get install mono-complete

L’installation sera un peu plus longue que les autres, de 3 à 15  minutes selon votre connexion internet. En attendant, n’hésitez pas à aller boire de l’eau pour vous hydrater, c’est important !

Une fois que c’est fait, on s’attaque au téléchargement de VRS. On va le mettre dans un dossier nommé vrs, créé avec la commande suivante :

cd
mkdir vrs

On accède ensuite au dossier avec la commande cd

cd vrs

Une fois dans le dossier, on télécharge Virtual Radar Server avec wget

wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz

On lance l’extraction de l’archive avec tar

tar xvf VirtualRadar.tar.gz

ça, c’est fait. Comme on tourne sous un environnement en ligne de commande, on va télécharger un plugin qui donnera accès à une interface web pour configurer VRS depuis un navigateur web :

wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.WebAdminPlugin.tar.gz

Et on décompresse l’archive

tar xvf VirtualRadar.WebAdminPlugin.tar.gz

Si on tente de lancer VRS dès maintenant, il y aura une erreur. C’est un problème connu que l’on va régler avant toute chose en créant un petit fichier config :

sudo nano VirtualRadar.exe.config

Si vous êtes en SSH ou sur un environnement desktop, facile, vous pouvez copier coller la conf… Sinon, il faut taper à la main (mais attention aux erreurs et aux majuscules / minuscules !!).

<?xml version="1.0"?>
<configuration>
    <configSections>
    </configSections>
    <startup>
        <supportedRuntime version="v2.0.50727"/>
    </startup>
    <runtime>
        <assemblyBinding  xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="Mono.Data.Sqlite"
                                  publicKeyToken="0738eb9f132ed756"
                                  culture="neutral" />
                <bindingRedirect oldVersion="2.0.0.0"
                                 newVersion="4.0.0.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

Comme les fichiers texte précédents, on sauvegarde avec CTRL + O, on valide, puis on quitte avec CTRL + X.

On va dès maintenant pouvoir lancer VRS, et créer nos identifiants pour la partie admin. Pour cela on utilisera la commande suivante. Remplacez les champs admin et password avec les identifiants que vous voulez.

sudo mono VirtualRadar.exe -nogui -createAdmin:admin -password:password

VRS est maintenant lancé, vous pourrez y accéder depuis n’importe quel ordinateur du réseau depuis son adresse locale. Si son adresse locale est 192.168.0.21 par exemple, vous devrez vous rendre sur l’adresse http://192.168.0.21:8080/VirtualRadar/ depuis un navigateur. Si vous vous connectez depuis la machine qui héberge VRS, vous pouvez aussi utiliser 127.0.0.1 ou localhost

La page va prendre plus ou moins de temps à charger selon la puissance de votre machine. Sur mon raspberry, elle prend entre 10 et 15 secondes. Vous devriez obtenir cette fenêtre :

Comment installer Virtual Radar Server sur Linux 18

Il n’y a rien, et c’est normal, car il reste encore à le configurer. Pour ce faire, on va utiliser l’interface WebAdmin installée précédemment en accédant à l’adresse : http://192.168.0.21:8080/VirtualRadar/WebAdmin/Index.html

Identifiez-vous.

Voir les avions

C’est un peu vide, je vous l’accorde… Nous allons arranger cela en ajoutant notre flux de données, provenant de Dump1090 installé au tout début.

Pour cela, on se rend sur l’interface webadmin vue précédemment. RDV dans l’onglet à droite Options, puis dans la partie à droite allez sur l’onglet Receivers. Vous devriez avoir cela :

onglet receivers de VRS

On peut supprimer le récepteur créé par défaut, puis on ajoute le notre avec le bouton Add.

Name : Le nom que vous voulez
Format : BaseStation
Location : Rien pour l’instant, vous pourrez vous en occuper plus tard.
Connexion type : Network

Dans la rubrique Network, on va entrer les paramètres de notre logiciel Dump1090.
Adress : 127.0.0.1
Port : 30003

L’adresse 127.0.0.1 est l’adresse locale, qui correspond à votre machine. On peut aussi désigner cette adresse par localhost. Le résultat devrait ressembler à cela

Configuration VRS

Vous pouvez cliquer sur Test Connection pour vérifier si la config entrée fonctionne. Si c’est bon, le message « A connection can be made with these settings » s’affichera. Maintenant, on peut fermer cette fenêtre avec la petite croix en haut à droite, puis on défile tout en bas de la page pour appuyer sur Save.

sauvegarder

Vous pouvez dès à présent retourner sur la page principale, toujours en changeant l’IP avec la vôtre. Dans mon cas : http://192.168.0.29:8080/VirtualRadar/desktop.html

Virtual radar server

Regardez ces magnifiques avions qui viennent d’apparaître ! En haut à gauche, vous avez un bouton Menu qui permet de changer la langue, mettre des filtres, customiser votre carte, les étiquettes, etc. A vous d’aller faire un tour et de tester un peu toutes les options.

Idem sur la partie WebAdmin où nous avions entré les paramètres du récepteur, il y a encore plein d’options avec lesquelles vous pouvez jouer.

Démarrage automatique

VRS peut se lancer manuellement à l’aide de la commande suivante :

sudo mono /home/pi/vrs/VirtualRadar.exe -nogui

Mais si vous n’avez plus envie de vous embêter avec cela (et je pense que c’est le cas), il est possible de créer un script de lancement automatique de la même façon que dump1090 tout à l’heure.

sudo nano /etc/init.d/vrs.sh

On édite le fichier texte avec les infos suivantes

#!/bin/sh
sudo mono /home/pi/vrs/VirtualRadar.exe -nogui

On sauvegarde, on quitte, puis on rend notre script exécutable

sudo chmod +x /etc/init.d/vrs.sh

On crée le service

sudo nano /etc/systemd/system/vrs.service

On remplit le fichier

[Unit]
Description=Startup

[Service]
ExecStart=/etc/init.d/vrs.sh

[Install]
WantedBy=multi-user.target

Et enfin, on active le service au démarrage :

sudo systemctl enable vrs.service

Il est temps de voir si tout ce travail a été efficace, donc on redémarre notre machine :

Sudo reboot

Maintenant que notre machine a redémarré, on peut se reconnecter dessus, et on peut voir si tout s’est lancé au démarrage avec la commande htop

htop

commande htop

En vert, nous voyons que VirtualRadar et Dump1090 sont tous les deux en cours d’exécution au travers de plusieurs processus. Tout est bon.

Voilà, Virtual Radar Server et Dump1090 se lanceront automatiquement au démarrage du système. Vous venez de créer votre première station ADS-B autonome, et vous pouvez en être fier ! Bien entendu, beaucoup d’améliorations seront possibles par la suite. Si vous souhaitez pousser l’application un peu plus loin, vous pouvez vous procurer une clé bien plus performante de ce type pour environ 15$ :

Dongle Airnav
Dongle AirNav

Cette clé à l’avantage d’être très peu chère et conçue spécialement pour la réception sur 1090 Mhz. Elle inclut en plus de cela un filtre et un amplificateur, ce que n’ont pas les dongles classiques. Ne vous fiez pas à la marque dessus. Même si elle est vendue par le site de suivi d’avions RadarBox, elle possède le même chipset et le même tuner, donc fonctionne parfaitement avec tout le reste. Enfin, pour améliorer grandement la réception, vous pouvez aussi vous fabriquer une antenne comme je l’ai déjà montré dans CE TUTORIEL.

Avec ces deux améliorations, vous aurez une station très performante. Voici mon diagramme de réception. Chaque cercle représente 100 km, ce qui fait donc une portée de 400 km. La réception sera bien entendu variable selon la position de l’antenne, sa hauteur, les obstacles environnants, etc.

couverture adsb
Diagramme de réception ADS-B

ça y est, une fois que vous avez mis les pieds dedans, vous n’en sortirez plus. Après avoir passé du temps à expérimenter ce genre d’installation, rien ne vous empêche d’en faire une station fixe, proprement installée avec une antenne sur votre toit, et partager ces données pour améliorer la couverture de sites de suivis d’avions tels que Flightradar24. Celui-ci offre par exemple un abonnement premium d’une valeur de 600€ par an pour les contributeurs, ça vaut le coup !

2 Comments on “Comment installer Virtual Radar Server sur Linux”

  1. Bonjour, j’ai installé tout ok (VirtualRadar,) tout marche ok mais qd j’affiche la carte là aussi ok mais je n’arrive pas à afficher ce qu’ils appellent « Show altitude stalk » ni l’icone des avions j’ai juste un carré avec les infos des avions en visibilité. Avez-vous des infos sur ce pb je suis sur un Ubuntu 18 04 à jour et en Mono JIT compiler version 6.8.0.96. Bien sûr, j’ai coché la case « Show altitude stalk » et désinstallé et réinstallé plusieurs fois tjs pareil Merci pour vos retours.

    1. Bonjour, je n’ai jamais rencontré ce problème sur mes diverses installations, idem sur ubuntu lorsque j’avais fait des tests en VM il y a quelques mois.

      Comme ça, trois idées à tester me viennent :
      – Vider le cache du navigateur, sinon essayer d’y accéder depuis un autre ordinateur du réseau / autre navigateur ? Parfois même, des extensions anti-pub, anti-cookies, etc, peuvent affecter les sites.
      – Lancer VRS et Mono en sudo
      – Modifier les permissions du dossier où VRS est installé

      Si ces solutions ne fonctionnent pas, n’hésitez pas à demander de l’aide sur le forum VRS, comme cela semble être un problème très spécifique. A bientôt !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.