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.
Au sommaire :
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 ?
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
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.
[stextbox id= »warning » caption= »Pas d’affiliation Amazon ! »]Je précise que je n’ai d’affiliation ni avec Amazon ni avec FlightAware et que les liens ci-dessous pour l’accès au matériel sont donnés uniquement à titre indicatif 😀 Si vous décidez d’acheter je ne toucherai pas un kopeck [/stextbox]
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. [stextbox id= »info » caption= »F11 ne fonctionne pas »]Normalement pour entrer/sortir du mode plein écran avec Chromium on utilise la touche F11. Ici ça ne fonctionne pas… Vous pouvez fermer la fenêtre avec ALT F4.[/stextbox]
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.
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 !
Une petite remarque,pour le ctl aérien actuel, on n’emploie plus de radars primaires,( sauf les militaires), ces radars secondaires dits « cooperatifs », interrogent les transpondeurs embarqués des avions et rapatrient un certain nombre de données si ils sont mode S.
Il ne sont en rien capables de détecter un avion qui coupe ou n’a pas de transpondeur.
Bonjour Guy
merci pour cette info
cordialement
François
Les radars primaires ne sont plus utilisé pour le ctrl en route, mais bien encore utilisés pour les zones d’approches…
Exact, à Paris-Orly par exemple ( 234.000 mouvements), c’est encore le radar primaire qui reste le principal. Mais l’ATC est assisté par du secondaire, notamment pour les véhicules terrestres.
Selon la DSNA avec laquelle nous coopérons (association de riverains), le fait que tous les aéronefs ne sont pas (encore) équipés ADS-B ne permet pas son usage unique : le primaire demeure indispensable.
merci pour ces compléments d’infos qui sont les bienvenus ! 🙂
Bien sûr, au delà de la mise en œuvre du rpi, il y a le site :
https://www.flightradar24.com/45.49,-0.15/6
^_^
bonsoir
bin oui mais quand tu le fais avec tes petites mains pleines de doigts je trouve ça plus amusant 🙂
bonne soirée
cordialement
François
Bonsoir,
pour le lien amazon.com les frais de ports sont un peu élevés.
Sur amazon.fr :
https://www.amazon.fr/s/ref=nb_sb_noss?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&url=search-alias%3Daps&field-keywords=FlightAware+Europe
(faire une recherche FlightAware+Europe sur amazon.fr)
l’antenne et le filtre sont sans frais de port.
Je viens de suivre votre procédure, tout marche parfaitement.
J’ai fait de me avec :
https://www.flightradar24.com/raspberry-pi
Cyrille
merci pour le retour Cyrille 🙂
Merci pour la procedure, je l’avais deja fait avec un tuner TNT et sous windows assez interessant de voir que l’on peut surveiller les avions qui nous survole depuis son ordinateur.
pour info en plus de surveiller les frequence des avions on peu normalement aussi craquer et ecouter les GSM, je ne post pas ca dans le but de pousser les gens a hacker mais pour faire realiser que le gsm n’est pas inviolable !
https://ferrancasanovas.wordpress.com/cracking-and-sniffing-gsm-with-rtl-sdr-concept/
Bonjour Francois
Ça fait déjà un certain temps que j’utilise flightradar24 mais c’est quand même un gros petit plus quand on passe par notre framboise.
Et allez donc, Dongle, antenne, filtre et tutti quanti, . Et comme dit ma moitié à 100 % : « Encore ? »
Merci pour tout 😉
Bonjour Bernard
désolé si je suis à l’origine de remarques de votre moitié (attention au WAF)
C’est vrai qu’avec un RasPi on ne mobilise pas un PC pour le décodage.
Après si on veut recevoir convenablement effectivement il faut investir 🙂
cordialement
François
Et on peut faire la même chose pour suivre les bateaux en décodant l’AIS avec le même matériel (ou le dongle de NooElec NESDR SMArt par exemple), et le logiciel opensource Opencpn pour la cartographie. La « distribution » OpenPlotter comporte tous les outils (et bien plus) pour cet usage.
merci pour l’info ! bon depuis la Bourgogne j’aurai du mal à suivre les bateaux, je pense… Même en 160MHz ça fait loin… Mais si quelqu’un est partant pour écrire un article là dessus 🙂 les pages de framboise314 sont ouvertes !
cordialement
François
Merci pour cet excellent tutoriel. Je pense qu’il est intéressant de souligner, qu’outre FlightAware ou FlightRadar24 qui sont des services commerciaux, on peut envoyer ses données ADS-B à d’autres hubs de partage communautaire. Pour ma part, je n’envoie pas mon feed à FlightAware car ce serveur capture les données de la communauté mais ne les partage pas, il est seul à pouvoir les réutiliser. Je partage mes données avec ADSBHub (https://www.adsbhub.org), qui partage réellement les données avec la communauté: tous les utilisateurs envoyant des données peuvent récupérer et utiliser le flux global avec toutes les données du monde entier.
Merci Daniel pour cette information intéressante
Je ne connaissais pas ADSBHub
A voir !
Ping : SDRuno 1.41 et ADSB – F5SVP
Ping : SDRuno 1.41 et pluging ADSB – Passion-SWL
Ping : Serveur Radio Swl de la Petite Pierre 67
Bonjour,
je souhaiterais plus basiquement utiliser un écran de display de mon compte FR24 ou flight aware qui s’affiche en plein écran et se connecte automatiquement au lancement. Est il possible de s’inspirer de la dernière partie de vote tutoriel a savoir utiliser chromium en lancement automatique au démarrage du système ?
Merci !
Bonjour JB
a priori je dirai oui il est possible d’ouvrir le navigateur sur la page de votre choix
si vous rencontrez des soucis n’hésitez pas, vous avez le mail de contact en bas de chaque page du blog