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.
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 !
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.
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 :
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
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 :
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 :
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 :
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 :
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 :
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
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.
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
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
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$ :

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.

ç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 !
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.
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 !