Quantcast
Channel: Framboise 314, le Raspberry Pi à la sauce française….
Viewing all articles
Browse latest Browse all 1015

Suivre les avions avec PiAware et votre Raspberry Pi

$
0
0

piaware_250pxJe 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.

NIVEAU_debutant

Cliquer pour obtenir la définition des niveaux

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 ?

adsb_flightradar

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

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.

AXP340angle

Transpondeur ADS-B

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.

adsb_transponder01Celui-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é.

adsb_transponder02Cet 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.

adsb_antenna2Les antennes peuvent également revêtir des apparences différentes, mais le plus souvent c’est ce type d’antenne qui est utilisé.

adsb_antenna3

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.suivi_adsb

Le matériel

La boutique FlightAware sur Amazon propose de nombreuses solutions pour se lancer dans la réception de l’ADS-B.

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

Antenne

antenne_ads-b_600pxOn 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

flightaware_dongle-500x214Le 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.

dongle_flightaware_600px

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.

piaware_with_antenna-pro

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.

filtre-600x353pxCe 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.

filter_dataOn 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« .

inscriptionRenseignez 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/stats/user/mon adresse
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

piaware_recepteur_600px

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 🙂

antenne_ads-b_perso

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.

flightaware_01_600px

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_02_600pxFlightAware 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.

flightaware_03_600pxDu 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 :

avions2

Cliquez sur l’image pour lire le GIF animé (15 Mo)

et si le ciel est clair vous pouvez même voir « en vrai » les avions qui sont sur l’écran 😀

avion

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 

chromium_01_600px

Vous pouvez également (sur le Raspberry Pi uniquement utiliser l’adresse de bouclage 127.0.0.1 ou encore localhost

chromium_02_600px

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 :

chromium_03_600pxtapez 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.

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.

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 !

juronEt 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 :

statistiques_log_600px

statistiques_600px

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.

thumbsat

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

Construisez votre propre antenne ADS-B 1090 Mhz pour quelques euros !

 

 


Viewing all articles
Browse latest Browse all 1015

Trending Articles