Écouter les avions avec un RTL-SDR : ADS-B et carte en direct
Écouter les avions avec un RTL-SDR : comprendre l'ADS-B, choisir l'antenne 1090 MHz, installer readsb et tar1090, améliorer la portée et partager vos données.
Pour écouter les avions, ou plutôt les voir, il suffit d'un RTL-SDR, une clé radio USB, d'une antenne accordée sur 1090 MHz et du logiciel libre readsb. Vous obtenez une carte en temps réel des avions autour de chez vous, alimentée uniquement par votre antenne. Comptez une heure pour l'installation sur un PC Linux ou un Raspberry Pi.
Ce guide porte sur les données ADS-B, diffusées publiquement par les avions, et pas sur les communications vocales.
ADS-B : ce que les avions diffusent
L'ADS-B (Automatic Dependent Surveillance–Broadcast) est un système par lequel un avion calcule sa position par satellite et la diffuse automatiquement, plusieurs fois par seconde, sur 1090 MHz. Les contrôleurs aériens, les autres avions et n'importe quel récepteur au sol peuvent la capter.
Chaque message contient l'une des informations suivantes :
| Donnée | Exemple |
|---|---|
| Adresse OACI (identifiant unique sur 24 bits) | 4840D6 |
| Indicatif de vol | AFR1234 |
| Position (latitude, longitude) | Codée, décodée par le logiciel |
| Altitude | 36 000 pieds |
| Vitesse et cap | 450 nœuds, 135° |
| Code transpondeur (squawk) | 7000 |
En Europe, la quasi-totalité des avions de ligne et d'affaires en sont équipés. Certains petits avions de tourisme, planeurs et appareils militaires ne diffusent pas, ou pas toujours, l'ADS-B. Une partie du trafic restera donc invisible.
Le système 978 MHz (UAT) utilisé aux États-Unis n'existe pas en Europe : ici, tout se passe sur 1090 MHz.
Matériel : clé, antenne 1090 MHz, Raspberry Pi optionnel
La clé
N'importe quel RTL-SDR couvrant 1090 MHz convient. Un modèle à oscillateur TCXO, comme notre récepteur RTL-SDR, chauffe et dérive moins, ce qui aide pour une station qui tourne jour et nuit. Si la clé n'est pas encore installée, suivez d'abord notre guide d'installation RTL-SDR.
L'antenne
À 1090 MHz, la longueur d'onde est d'environ 27,5 cm. Deux options simples :
- Un dipôle : deux brins d'environ 6,9 cm chacun (λ/4), placés à la verticale, car les avions émettent en polarisation verticale. Le dipôle télescopique de notre kit d'antennes SDR se règle à cette longueur.
- Une antenne quart d'onde à plan de sol : un brin vertical de 6,9 cm et quatre radians, faciles à fabriquer avec un connecteur et du fil rigide.
Les antennes colinéaires ou commerciales dédiées à l'ADS-B gagnent encore quelques dizaines de kilomètres, mais elles ne servent à rien tant que l'antenne reste à l'intérieur.
Le Raspberry Pi (optionnel)
readsb tourne sur tout ordinateur Debian ou Ubuntu. Un Raspberry Pi devient intéressant quand vous voulez une station permanente, placée près de l'antenne dans un grenier ou derrière un velux. Le décodage est peu gourmand.
Vérification rapide
Avant d'installer quoi que ce soit, le paquet rtl-sdr contient un petit décodeur ADS-B qui permet de vérifier que la chaîne fonctionne :
rtl_adsb
Si des lignes de caractères hexadécimaux défilent, comme *8D4840D6202CC371C32CE0576098;, vous recevez déjà des avions. Arrêtez avec Ctrl+C.
Installer readsb/dump1090 et afficher la carte
Le décodeur de référence aujourd'hui est readsb, dans la version maintenue par wiedehopf, un descendant de dump1090. Il est accompagné de l'interface web tar1090. Le script officiel installe les deux sur Debian, Ubuntu ou Raspberry Pi OS.
Étape 1 : vérifier le pilote
Sur Debian 12, Ubuntu 22.04 ou Raspberry Pi OS Bookworm, le pilote fourni (version 0.6.0) ne gère pas les clés de type V4 ou V4L. La documentation de readsb le signale explicitement. Vérifiez avec :
apt policy rtl-sdr
En version 2.0 ou plus (Debian 13, Ubuntu 24.04 et suivantes), tout va bien. Sinon, installez le pilote osmocom depuis les sources, comme expliqué dans notre guide d'installation.
Étape 2 : installer readsb et tar1090
Le script vient du dépôt adsb-scripts. Comme pour tout script lancé avec sudo, vous pouvez le télécharger et le lire avant de l'exécuter.
sudo bash -c "$(wget -O - https://github.com/wiedehopf/adsb-scripts/raw/master/readsb-install.sh)"
sudo reboot
Le script retire les autres décodeurs déjà installés, comme dump1090-fa ou dump1090-mutability, car une seule application peut utiliser la clé à la fois.
Étape 3 : indiquer votre position
Elle sert au décodage des positions et à l'affichage de la carte. Indiquez la latitude puis la longitude, en degrés décimaux :
sudo readsb-set-location 48.85661 2.35222
Étape 4 : régler le gain
sudo readsb-gain auto
Le mode automatique convient pour démarrer. Si vous voulez ajuster à la main, une valeur fixe comme sudo readsb-gain 43.9 est un point de départ. Le wiki du projet propose une méthode détaillée.
Étape 5 : ouvrir la carte
Depuis un navigateur sur le même réseau, ouvrez :
http://adresse-de-la-machine/tar1090
Vous voyez les avions reçus, leurs traces, leur altitude par couleur et un tableau détaillé. Si la page affiche « Connection refused », installez le serveur web lighttpd (sudo apt install -y lighttpd) puis relancez le script.
En cas de problème, le journal du service est la première chose à consulter :
sudo journalctl --no-pager -u readsb
Améliorer la portée (antenne, emplacement, filtre)
La limite physique : l'horizon radio
À 1090 MHz, les ondes se propagent en ligne droite. La portée maximale dépend donc de la hauteur de votre antenne et de celle de l'avion. Une formule approchée donne la distance d'horizon radio en kilomètres, avec les hauteurs en mètres :
d ≈ 4,12 × (√h_antenne + √h_avion)
Pour une antenne à 10 m et un avion à 10 000 m : 4,12 × (3,2 + 100) ≈ 425 km. C'est un plafond théorique. Le relief, les bâtiments et la qualité de l'installation réduisent la portée réelle.
Ce qui change vraiment les résultats, par ordre d'importance
- Sortir l'antenne. Passer de l'intérieur d'une pièce à l'extérieur est le gain le plus important. Derrière une fenêtre, vous ne voyez qu'une partie du ciel. Les vitrages isolants à couche métallique atténuent aussi le signal.
- Monter l'antenne. Chaque mètre compte, surtout pour dégager les toits voisins.
- Raccourcir le câble. À 1090 MHz, un câble coaxial fin et long perd une grande partie du signal. Placez la clé, ou le Raspberry Pi, près de l'antenne, et rallongez plutôt le câble réseau ou USB. Sinon, utilisez un coaxial faibles pertes.
- Filtrer. Les réseaux mobiles proches, autour de 900 MHz, peuvent saturer une clé à 8 bits. Un filtre passe-bande 1090 MHz entre l'antenne et la clé réduit ce problème.
- Amplifier près de l'antenne. Un préamplificateur faible bruit (LNA) placé au pied de l'antenne compense les pertes du câble. Placé côté clé, il amplifie aussi ces pertes et sert beaucoup moins.
Mesurer votre portée
Plutôt que de croire les chiffres annoncés en ligne, mesurez les vôtres :
- dans tar1090, ajoutez
?pTracksà l'adresse (/tar1090/?pTracks) pour afficher les traces accumulées : la forme obtenue dessine votre couverture réelle ; - graphs1090, du même auteur, trace la portée maximale, le nombre de messages et d'avions dans le temps.
Laissez tourner 24 heures avant et après chaque changement (antenne, hauteur, filtre) pour comparer à trafic équivalent.
Partager ses données (FR24, ADS-B Exchange)
Les sites de suivi de vols reposent en grande partie sur des milliers de récepteurs bénévoles. Partager votre réception est simple et apporte quelques contreparties :
| Réseau | Installation | Contrepartie annoncée |
|---|---|---|
| FlightAware | Paquet piaware sur Raspberry Pi OS (Trixie, Bookworm, Bullseye) | Compte Enterprise gratuit pour les contributeurs |
| Flightradar24 | Logiciel fr24feed | Abonnement offert, selon leurs conditions du moment |
| ADS-B Exchange | Script feed.sh qui s'ajoute à readsb | Accès à une carte de vos propres réceptions |
Pour ADS-B Exchange, le script s'installe à côté de readsb sans le remplacer :
curl -L -o /tmp/axfeed.sh https://adsbexchange.com/feed.sh
sudo bash /tmp/axfeed.sh
Depuis le rachat d'ADS-B Exchange par une société privée en 2023, une partie de la communauté alimente aussi des agrégateurs communautaires comme adsb.lol ou airplanes.live. Vous pouvez alimenter plusieurs réseaux en même temps.
Deux points à garder en tête :
- La multilatération (MLAT) permet de localiser des avions qui n'envoient pas leur position, à partir des temps d'arrivée mesurés par plusieurs récepteurs. Elle demande de déclarer la position précise de votre antenne.
- Votre vie privée : les réseaux publient en général la position de votre station de façon approximative. Lisez leurs conditions avant de vous inscrire.
Ce qui relève du cadre légal
Les messages ADS-B sont diffusés en clair, à destination de tous les récepteurs. Leur réception par des amateurs, leur affichage sur une carte et leur partage avec les réseaux publics sont des pratiques ouvertes et très répandues. Un RTL-SDR est un récepteur : il n'émet rien et ne peut rien perturber.
Deux nuances :
- Les communications vocales entre pilotes et contrôleurs, autour de 118 à 137 MHz, sont un sujet plus délicat au regard du secret des correspondances. Ce guide ne les couvre pas. Si vous les écoutez, ne les enregistrez pas et ne les diffusez pas.
- Les données elles-mêmes sont publiques, mais leur usage reste soumis au droit commun. Suivre et publier les déplacements d'une personne précise, par exemple, pose d'autres questions.
Nous détaillons les textes (Code pénal, CPCE, ANFR) dans notre article sur la légalité de l'écoute SDR en France. Ce contenu est informatif et ne constitue pas un conseil juridique.
Pour démarrer votre station
Une clé à TCXO, une antenne 1090 MHz bien placée et un vieux PC ou un Raspberry Pi suffisent pour une station ADS-B qui tourne en permanence. Notre RTL-SDR (≈ 24 MHz – 1,7 GHz, réception uniquement, autour de 60 €) et notre kit d'antennes SDR reviendront bientôt : inscrivez-vous pour être prévenu.
Questions fréquentes
Peut-on écouter les avions sans Raspberry Pi ?
Oui. readsb et tar1090 s'installent sur n'importe quel ordinateur sous Debian ou Ubuntu. Le Raspberry Pi est simplement pratique pour une station qui tourne en permanence près de l'antenne.
Quelle portée attendre avec un RTL-SDR ?
Elle dépend surtout de l'antenne et de son emplacement. Derrière une fenêtre, comptez quelques dizaines de kilomètres. Avec une antenne extérieure dégagée, plusieurs centaines de kilomètres sont possibles pour les avions en altitude, dans la limite de l'horizon radio.
Pourquoi certains avions n'apparaissent pas sur ma carte ?
Tous les aéronefs ne diffusent pas l'ADS-B : certains petits avions, planeurs ou appareils militaires n'en sont pas équipés ou ne l'activent pas. Les avions bas ou masqués par le relief peuvent aussi être hors de portée.
Est-ce légal de recevoir l'ADS-B en France ?
Les messages ADS-B sont diffusés en clair à destination de tous les récepteurs, et leur réception par des amateurs est une pratique ouverte et répandue. Ce guide se limite à ces données ; les communications vocales relèvent d'un cadre plus délicat.
Ma clé V4 ne reçoit rien avec readsb, pourquoi ?
Le pilote est probablement trop ancien. Sur Debian 12 ou Raspberry Pi OS Bookworm, le paquet rtl-sdr est en version 0.6.0, qui ne gère pas les clés V4 et V4L. Passez à une distribution plus récente ou installez le pilote osmocom à jour.