Je vous avais présenté un projet de récepteur ADS-B à base de Raspberry Pi pour suivre les avions.
A l’occasion de l’annonce par FlightAware de la mise en service prochaine de récepteurs ADS-B embarqués sur les satellites Iridium, j’ai voulu tester PiAware, la distribution qu’ils proposent pour équiper nos récepteurs « terrestres ».
Il existe 2 versions, une distribution prête à installer et une installation manuelle. C’est cette dernière que j’ai choisi de vous présenter après avoir testé les deux possibilités. FlightAware vend pour ceux qui sont intéressés un dongle SDR avec LNA (en français? une clé USB récepteur avec un préamplificateur intégré ), une antenne et un filtre ADS-B.
PiAware : Suivre les avions avec un Raspberry Pi
La partie ADS-B est la reprise de l’article paru l’an passé. Si vous voulez passer cette partie : Cliquez ici pour aller directement à la suite…
Comment ça marche, l’ADS-B ?

Principe de l’ADS-B – Source FlightRadar24 ©
La technologie utilisée pour recevoir des informations de vol est appelée ADS-B. Cette technologie est illustrée sur l’image ci-dessus.
- L’avion récupère sa localisation à partir d’un récepteur GPS
- Le transpondeur ADS-B installé sur l’avion transmet un signal à 1090 MHz contenant cette information de position ainsi que d’autres données (N° du vol et indicatif, altitude, vitesse, vitesse ascensionnelle…)
- Le signal du transpondeur ADS-B est capté par un récepteur au sol, connecté aux serveurs de FlightRadar24
- Le récepteur envoie les données reçues à Flightradar24
- Les données s’affichent sur www.flightradar24.com et les applications FlightRadar24

Transpondeur ADS-B
ADS-B est une technologie relativement nouvelle et toujours en cours de développement ce qui signifie qu’actuellement elle est rarement utilisé pour le contrôle de la circulation aérienne. FlightRadar24 estime que près de 65% des avions commerciaux transportant des passagers (75% en Europe, 35% aux États-Unis) sont équipés d’un transpondeur ADS-B. Pour l’aviation en général ce nombre est probablement inférieur à 20%. Mais ce pourcentage est en constante augmentation et l’ADS-B deviendra obligatoire mondialement pour la plupart des avions en 2020. Lorsqu’il sera obligatoire, l’ADS-B remplacera les radars primaires comme méthode de surveillance aérienne utilisé par l’ATC.
FlightRadar24 (basée à Stockholm) dispose d’un réseau de plus de 6000 récepteurs ADS-B répartis dans le monde qui reçoivent les informations de vol des avions équipés de transpondeur ADS-B et renvoie ces informations à ses serveurs. En raison de la haute fréquence utilisée (1 090 MHz) la couverture de chaque récepteur est limitée à environ 250 à 400 km autour de l’antenne en fonction de l’endroit où elle est implantée. Plus un avion vole loin du récepteur plus il doit voler haut pour être dans la zone couverte par le récepteur. La portée maximale fait qu’il est très difficile d’obtenir une couverture ADS-B au-dessus des océans.
Environ 99% de l’Europe est couverte de récepteurs ADS-B. Il ya aussi une bonne couverture ADS-B aux Etats-Unis, Canada, Mexique, Caraïbes, Brésil, Russie, Moyen-Orient, Inde, Japon, Thaïlande, Malaisie, Indonésie, Australie et Nouvelle-Zélande. Dans les autres parties du monde, la couverture ADS-B est très variable.
Les transpondeurs et antennes sur avion
Il existe de nombreux modèles de transpondeurs pour avion, comme ceux qui figurent plus haut dans l’article.
Celui-ci est en deux partie, avec un élément de commande qui peut se monter sur le tableau de bord, et un bloc électronique déporté.
Cet ensemble (qui intègre un transpondeur présenté plus haut) est équipé d’un afficheur qui permet au pilote de voir les appareils équipés d’un ADS-B sur une carte. Ceci améliore la sécurité des vols.
Les antennes peuvent également revêtir des apparences différentes, mais le plus souvent c’est ce type d’antenne qui est utilisé.
FlightRadar24 offre ce modèle pour équiper les stations situées dans des zones qui sont intéressantes pour le service (zones mal ou peu couvertes).
L’offre de FlightAware
FlightAware est un site qui propose des photos d’avions, signale les incidents et affiche les avions en temps réel grâce aux données ADS-B.
Le matériel
La boutique FlightAware sur Amazon propose de nombreuses solutions pour se lancer dans la réception de l’ADS-B.


Antenne
On commence par l’antenne. C’est la partie la plus importante de la station de réception. Un vieux proverbe radioamateur dit : « Ce que vaut l’antenne vaut la station ». Et c’est valable (au passage) pour toutes les réceptions : radio FM, TNT… Si vous avez une antenne de m…auvaise qualité, vous aurez beau ajouter un préampli, vous ne ferez qu’amplifier du bruit !
Cette antenne est spécialement prévue pour la réception des émissions ADS-B sur 1090 MHz. Elle présente un gain de 5 dB (environ 1,8 fois en tension reçue) par rapport à une antenne « idéale ».
Récepteur RTL-SDR
Le récepteur ADS-B proposé par FlightAware intègre un LNA (Low Noise Amplifier = Amplificateur à faible bruit). Un LNA est généralement utilisé dans un système de réception radio pour réduire le facteur de bruit global (NF=Noise Factor)). En termes un peu plus simples, le NF mesure la quantité de bruit (en dB) des composants tels que des amplificateurs, câbles coaxiaux et les filtres qui constituent le système. Le chiffre global de bruit est principalement dû au premier amplificateur rencontré par le signal. En ajoutant un amplificateur à faible NF (LNA) près de l’antenne, le NF du système radio complet peut être considérablement réduit. Par contre il faut qu’il soit placé le plus près possible de l’antenne… Sinon il amplifie aussi le bruit généré par le câble de liaison, le filtre… :).
L’inconvénient de cette solution c’est que le LNA amplifie également les fréquences proches (téléphone un peu plus bas en fréquence et autres fréquences aéronautiques un peu plus haut…). Cela provoque la saturation du récepteur et diminue notablement les performances. Il est donc fortement recommandé d’utiliser un filtre pour ne conserver que la fréquence désirée.
Le dongle est monté dans un boîtier en plastique orange rigide. Le fond est plat avec plusieurs trous de ventilation sur le fond, la face supérieure incurvée. L’entrée d’antenne se fait sur un connecteur SMA. Il utilise une puce R820T2 sans TCXO. Bon… un TCXO n’est pas nécessaire pour les signaux à large bande comme l’ADS-B. Le dongle est fabriqué par Newsky, qui construit la majorité des dongles RTL-DTS du marché.
Si on ouvre le boîtier il n’y a pas de surprise, c’est un récepteur tout ce qu’il y a de classique. Le circuit LNA se trouve en haut à droite, près du connecteur d’antenne. C’est un SKY 7150, qui fonctionne de 0,3 à 2,2 GHz, avec un facteur de bruit (NF) de 0,23 @ 849 MHz.
Filtre ADS-B
La présence du LNA dans le récepteur de FlightAware rend celui-ci sensible aux interférences provoquées par des émissions puissantes et proches. Ces émissions indésirées provoquent une saturation de l’étage amplificateur et réduisent considérablement les performances. C’est particulièrement le cas lorsqu’une station de base GSM (téléphonie mobile) se trouve à proximité. Pour éliminer ce phénomène, on a coutume de placer un filtre avant le LNA.
Ce filtre s’intercale entre l’arrivée d’antenne et l’entrée du dongle RTL-SDR. Il ne laisse passer que la fréquence pour laquelle il est conçu, ici 1090 MHz.
On voit sur le graphique ci-dessus que le filtre possède des flancs abrupts qui garantissent un élimination convenable des fréquences indésirables.
Réception ADS-B avec PiAware
Cahier des charges
Je souhaite mettre en œuvre un récepteur ADS-B avec PiAware, qui puisse m’afficher en permanence sur l’écran du Raspberry Pi les avions qui se trouvent dans les parages.
Créer un compte sur Flightaware
FlightAware propose une distribution prête à l’emploi. Rendez-vous sur le site FlightAware et cliquez en haut à gauche sur le lien « Inscrivez vous à FlightAware« .
Renseignez les informations qui vous sont demandées. Validez et allez voir la boîte mail dont vous avez donné l’adresse. Vous devriez y trouver un message avec un lien d’activation pour votre compte FlightAware.
A partir de là, FlightAware vous identifie avec votre adresse IP publique (votre adresse de connexion est la même que celle depuis laquelle le Raspberry Pi se connectera). Il identifie le Raspberry Pi grâce à son adresse MAC et l’associe à votre compte.
Dans votre profil vous pourrez géolocaliser l’antenne et régler un certain nombre de paramètres dont le délai après lequel FlightAware vous envoie un mail s’il ne reçoit plus de données… Démonstration : pour préparer cet article j’ai fait diverses manips et réinstallations du coup :
Dear François MOCQ,
This email is a friendly notification that your PiAware ‘Maison’ (b8:27:eb:01:xx:xx) is not currently sending live flight data to FlightAware. Your receiver last connected to FlightAware on 06-Oct-2016 08:29AM. This may represent a problem in your setup that may need your attention. Feel free to contact us with any questions about how to setup PiAware to share with FlightAware or the benefits of sharing with FlightAware.
Once you’re up and running, you can view your statistics & rankings here:
https://flightaware.com/adsb/
Thanks for your participation and let us know if we can help!
FlightAware ADS-B Team
La distribution PiAware
J’ai testé dans un premier temps cette distribution. C’est une Raspbian antérieure à PIXEL. Elle est réduite et ne pèse que 600 Mo (et quêque) sur la balance. Une fois dézippée on arrive à 2 Go. Après c’est comme d’habitude : un coup de Win32DiskImager pour écrire la carte micro SD et on glisse la carte dans le connecteur du Raspberry Pi.
Config du Raspi en Français… Quelques soucis avec la gestion du clavier qui reste en QWERTY.
Démarrage du Raspberry Pi 3… tout va bien FlightAware identifie le Raspberry Pi et affiche la réception des positions… La carte est visible sur le PC avec @IP:8080.
Là ou ça se corse, c’est quand je veux afficher la carte sur l’écran du Raspberry Pi ! Ils ont bien allégé la distribution mais il n’y a plus de navigateur. Bon, je n’insiste pas, je vais installer une Raspbian PIXEL et repartir de zéro
Installation sur Raspbian PIXEL
Allez on est parti(e) ! Installation de Raspbian Pixel du 23 sept. 2016. Sans traîner faire la mise à jour car il y a déjà des corrections à apporter
sudo apt-get update sudo apt-get upgrade
Francisation de la distribution avec la fenêtre de configuration, onglet Localisation.
Redémarrage de la bête et on est prêt(e) pour l’installation. Cette procédure est décrite (en anglais) sur le site FlightAware.
On va d’abord récupérer et installer le paquet qui va indiquer à votre Raspbian où se trouve le dépôt (repository) qui contient PiAware:
wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.1.0_all.deb sudo dpkg -i piaware-repository_3.1.0_all.deb
Ceci rajoute le dépôt piaware dans le dossier sources.list.d
pi@raspberrypi:/etc/apt/sources.list.d $ cat piaware.list deb http://flightaware.com/adsb/piaware/files/packages jessie piaware
On peut maintenant prendre en compte ce dépôt (update) et installer piaware et ses dépendances dans PIXEL.
sudo apt-get update sudo apt-get install piaware
Le système vous demande d’accepter l’installation des nouveaux paquets. Répondez voui !
... Les paquets supplémentaires suivants seront installés : itcl3 tcl tcl-tls tcl8.6 tcllib tclx8.4 Paquets suggérés : itcl3-doc dump1090-fa tcl-tclreadline tclx8.4-doc Les NOUVEAUX paquets suivants seront installés : itcl3 piaware tcl tcl-tls tcl8.6 tcllib tclx8.4 0 mis à jour, 7 nouvellement installés, 0 à enlever et 21 non mis à jour. Il est nécessaire de prendre 6 126 ko dans les archives. Après cette opération, 24,7 Mo d'espace disque supplémentaires seront utilisés. Souhaitez-vous continuer ? [O/n] o
On peut maintenant installer dump1090, un décodeur simple du mode S des avions qui gère les récepteurs RTL-DSR.
sudo apt-get install dump1090-fa
A nouveau vous devrez confirmer que vous voulez bien installer les paquets concernés.
Installation du Raspberry Pi, du dongle RTL-DSR et de l’antenne
L’installation pratique est relativement simple. Connectez les prises habituelles : HDMI, Ethernet, dongle pour l’ensemble clavier souris (dans mon cas) et enfin dongle RTL-DSR. Celui-ci est un modèle doté d’un oscillateur TCXO, compensé en température et plus stable en fréquence que les modèles courants. De plus il est protégé des rayonnements parasites car il est protégé par un boîtier en aluminium. Mais je vous rassure, un dongle en boîtier plastique trouvé sur ebay fonctionne également sans problème pour recevoir l’ADS-B
Connectez l’antenne au dongle RTL-SDR. Positionnez là devant une fenêtre. Les fréquences utilisées pour l’ADS-B (1090 MHz) ont un peu de mal à traverser les murs. Ici la fenêtre est exposée plein sud et on verra que la sensibilité dans cette direction est bien meilleure.
Les petites antennes livrées avec les dongle RTL-DSR fonctionnent sans problème. Ici c’est une antenne télescopique qui devrait être réglée aux alentours de 6,5 cm ce qui n’est pas le cas mais ça fonctionne ! Si vous avez un peu de temps vous pouvez construire une petite antenne à plan de sol pour quelques euros…
Quand l’installation est finie, redémarrez le Raspberry Pi pour prendre tous ces changements en compte.
sudo reboot
Premier test
Un tour sur le PC. J’ouvre un navigateur et je saisis l’adresse du Raspberry Pi dans la barre d’adresse : 192.168.1.106:8080. Vous adapterez en fonction de l’adresse de votre RasPi… Mais n’oubliez pas le :8080 qui donne accès à l’affichage de dump1090.
Ma foi ça se présente plutôt bien. Le point noir représente la position de l’antenne et on voit 6 avions à proximité.
FlightAware affiche les avions avec une taille proportionnelle au modèle et les icônes se déplacent en temps réel au fur et à mesure de la réception des bursts ADS-B.
Du fait du dégagement plein sud de l’antenne, la réception est bien meilleure dans cette direction…
Une animation vous montre ce qu’on peut observer sur l’écran :
et si le ciel est clair vous pouvez même voir « en vrai » les avions qui sont sur l’écran
Essai sur le Raspberry Pi avec Chromium
Retour sur le Raspberry Pi. Démarrage de Chromium et je saisis l’adresse du Raspberry Pi lui-même : 192.168.1.106:8080
Vous pouvez également (sur le Raspberry Pi uniquement utiliser l’adresse de bouclage 127.0.0.1 ou encore localhost…
Et après ?
Pour le moment on ne remplit qu’une partie du cahier des charges. Il reste à exécuter Chromium en mode plein écran, et si possible de lancer tout ça en automatique.
Lancer Chromium sur Raspbian PIXEL en mode plein écran
Après avoir refermé la fenêtre de dump1090 (nan, c’est pas à cause des courants d’air ) ouvrez un terminal sur le bureau du Raspberry Pi :
tapez en ligne de commande
chromium-browser http://localhost:8080 -kiosk
puis validez avec Entrée. Chromium s’ouvre sur la page de dump1090 en plein écran… Répndez au message qui s’affiche que vous ne voulez pas traduire ce site sinon le message va s’afficher à chaque démarrage !
Il faut maintenant faire en sorte que cette commande s’exécute au lancement du système.

Dans le répertoire /home/pi/.config créez un répertoire autostart
mkdir /home/pi/.config/autostart
Dans /home/pi/.config/autostart créez un fichier chromium.desktop
sudo nano /home/pi/.config/autostart/chromium.desktop
Dans le fichier que vous êtes en train d’éditer, ajouter les lignes suivantes :
[Desktop Entry] Encoding=UTF-8 Name=Connect Comment=Verifie la connexion Internet Exec=/usr/bin/chromium-browser -incognito --kiosk http://localhost:8080
Redémarrez votre Raspberry Pi et vous avez dump1090 en plein écran…
Bon mais c’est pas fini !
Et pour la souris, là ! On fait quoi ? Ah oui, j’avais pas vu
La souris est positionnée en haut à gauche de l’écran quand Jessie PIXEL démarre et… elle y reste (oui je sais c’est le curseur de la souris, vous ne dites jamais ça vous?). Pas bien si on veut créer un écran qui affiche les avions sans être pollué par le curseur de souris. Heureusement la solution existe, elle s’appelle unclutter.
Installez unclutter et le curseur de la souris disparaîtra après quelques secondes d’inactivité de la la souris… Enfin de celui (celle) qui fait bouger la souris Si ça ne fonctionne pas tout de suite ce sera actif après le prochain redémarrage.
sudo apt-get install unclutter
Les statistiques
Sur la page de FlightAware cliquez sur My ASD-B dans le menu en haut de la page. Vous accédez aux données de votre récepteur :
On voit ici sur le graphique Coverage Distribution (Zone de réception) que la réception est meilleure du côté sud (normal, c’est l’orientation de la fenêtre derrière laquelle se trouve l’antenne). A droite on voit le nombre de positions transmises par heure. La zone à zéro correspond au moment où j’ai fait des tests et des transferts d’images sur carte micro SD.
Conclusion
Après FlightRadar24 que je vous avais présenté précédemment, voici une autre possibilité si vous voulez tester la réception ADS-B avec votre Raspberry Pi et une clé USB récepteur TNT et renvoyer le résultat de vos réceptions en ligne vers FligtAware.

ThumNet N3
Ce système me permettra de réaliser des tests avec d’autres dongle RTL-DSR, en particulier le modèle ThumbNet N3 qui devrait arriver prochainement. En comparant les performances sur plusieurs jours il sera possible d’estimer les performances des différents récepteurs.
Sources
- http://www.rtl-sdr.com/review-flightaware-ads-b-rtl-sdr-lna-positioning/
- http://flightaware.com/adsb/piaware/build
- http://flightaware.com/adsb/piaware/install
- https://www.amazon.com/FlightAware/b/ref=bl_dp_s_web_12022931011?ie=UTF8&node=12022931011&field-lbr_brands_browse-bin=FlightAware
- http://www.0atman.com/auto-start-full-screen-web-page-on-raspbian-jessie-startup.html
- http://www.pobot.org/Configurer-la-Raspberry-Pi-en-mode-kiosk.html
Construisez votre propre antenne ADS-B 1090 Mhz pour quelques euros !