Technique SDR 5

Technique SDR 5

CinquiĂšme partie Partie

Découverte la réception SDR sous Raspberry Pi OS

J’ai Ă©crit cette suite d’articles dans un but pĂ©dagogique afin d’aider tous ceux qui, comme moi, souhaitaient dĂ©couvrir, en les pratiquant, les techniques de rĂ©ception SDR. Les spĂ©cialistes du domaine trouveront sans doute quelques approximations et erreurs dans mes explications. J’espĂšre qu’ils ne m’en voudront pas et qu’ils me contacteront pour que nous les rectifions ensemble par la suite. Je parle aussi, ici ou lĂ , de difficultĂ©s ou de bugs, si certains les ont surmontĂ©s, qu’ils me contactent pour que nous mettions Ă  jour ce document. S’ils ont aussi parfois de meilleures solutions d’installation ou d’utilisation, qu’ils n’hĂ©sitent pas Ă  me l’écrire.

CONTACTEZ-MOI Ă  l’adresse : f80543@gmail.com

Trafic aĂ©rien – Introduction

Pour un futur Ă©couteur, voici une intĂ©ressante vidĂ©o d’une quinzaine de minutes traitant des communications aĂ©riennes et de la rĂ©ception SDR : https://www.youtube.com/watch?v=K0tecn_9hoke. AprĂšs visionnage de ce petit film rĂ©alisĂ© par Thomas Cholakov (N1SPY), vous pourrez, plus facilement j’en suis sĂ»r, poursuivre l’écoute et le dĂ©codage des divers modes de communication qui couvrent le domaine. Ce cinquiĂšme article vous y aidera, pour les signaux ADB-S, dans l’environnement Raspberry Pi. Le suivant traitera de l’environnement Windows et de l’ensemble des communications aĂ©riennes.

Quoi dĂ©coder ?

Voici, mis Ă  jour, le tableau prĂ©sentant un aperçu des dĂ©codages traitĂ©s dans cette sĂ©rie d’articles. Les cases vierges dans la derniĂšre colonne signifient que la rĂ©ception sera traitĂ©e dans les mois qui viennent.

traffic aeérien
traffic aeérien

traffic aeérien
Source illustration : asdreports.com

Bande UHF (signaux GPS ADS-B)

traffic aeérien
Source ADS-B Technologies (repris de https://arduino103.blogspot.com/2018/07/waterloo-traquer-les-avions-avec.html)

L’ADS-B (Automatic-Dependent Surveillance-Broadcast) est un moyen de surveillance coopĂ©ratif du trafic aĂ©rien. Il permet au contrĂŽle aĂ©rien de connaĂźtre pĂ©riodiquement la position GPS des avions, leur identification, leur vitesse, leur cap, et leurs intentions (listes des prochains points de route prĂ©vues). Les retransmissions sont disponibles sur 1090 MHz en mode 1090ES. Elles ne sont pas cryptĂ©es. Aux Etats-Unis, ce trafic occupe aussi la frĂ©quence de 978 MHz (mode UAT – Universal Access Transponder) ; ce dernier est principalement utilisĂ© par les petits avions.

Dump1090 / Raspberry Pi OS

De nombreuses versions du logiciel dump1090 originellement dĂ©veloppĂ© en 2013 par Salvatore Sanfilippo, permettent d’intercepter ces informations.
Au sujet de « dump1090 » signalons, pour le mode UAT, l’existence d’un logiciel dump978 : https://github.com/mutability/dump978 et https://discussions.flightaware.com/t/dump978-add-on-installation-procedures/49377

Les donnĂ©es collectĂ©es peuvent ensuite ĂȘtre envoyĂ©es vers des sites collaboratifs tels que FlightRadar24 ou RadarVirtuel par le biais d’un programme feeder. Celui-ci dialogue avec le serveur via des ports logiciels utilisĂ©s par les protocoles TCP/UDP (Transmission Control Protocol/User Datagram Protocol) :

  • 30001 et 30002 30002 pour le format AVR,
  • 30003 pour le format BaseStation,
  • 30004 et 30005 pour le format binaire Beast.

Sous Raspberry Pi OS, nous allons voir l’usage, et les limites, de trois versions de dump1090.

Installation de dump1090 (et abandon)

Ayant lu (https://www.jpcheney.org/spip.php?article418) que la version packagĂ©e de dump1090 installable via un apt install ne permettait pas de se connecter en http, voici la procĂ©dure passant la compilation des fichiers sources :

  • cd /home/pi
  • git clone git://github.com/MalcolmRobb/dump1090.git
  • cd dump1090
  • make

traffic aeérien
Dump1090 – make

La clĂ© SDR Ă©tant connectĂ©, d’un cĂŽtĂ© sur la carte Raspberry Pi, et de l’autre sur une antenne couvrant la frĂ©quence de 1090 MHz, la vĂ©rification d’une installation rĂ©ussie se fait par la commande :

./dump1090 –interactive

traffic aeérien
Dump1090

Hex :

Il s’agit – ici en hexadĂ©cimal – de le l’identification OACI 24 bits de l’appareil. C’est l’identifiant unique du transpondeur de l’avion, de l’hĂ©licoptĂšre ou du planeur. Les 24 bits, permettent plus de 16 millions de combinaisons (soit 2 Ă  la puissance 24) Ă©vitant que deux avions aient le mĂȘme code transpondeur. Chaque pays, en fonction de son importance, gĂšre une plage de code.

Mode :

Type du transpondeur. Avec cette version, on trouve ici généralement le mode S.

Sqwk :

code squawk[*] ; en systĂšme de numĂ©ration octal Ă  4 chiffres (de 0 Ă  7). Émis par le transpondeur en fonction de la rĂ©alitĂ© du moment, il permet aux organismes de contrĂŽle d’identifier le type d’appareil, l’objet de son vol ou une situation particuliĂšre. Il est possible de retrouver la liste de ces codes ici : http://files.frequences-aeronautiques.webnode.fr/200000202-90c7491c17/codes%20squawk.pdf
[*] Squawk, en anglais, signifie « cri rauque, » en lien avec le systĂšme de transpondeur Parrot (perroquet) dĂ©veloppĂ© par les britanniques au cours de la seconde guerre mondiale. Voir  https://web.archive.org/web/20090123150519/https://www.usatoday.com/travel/columnist/getline/2006-04-17-ask-the-captain_x.htm

Flight : NumĂ©ro de vol pour un avion de ligne, immatriculation pour un avion lĂ©ger.

Alt :      Altitude en pieds.

Spd :    Vitesse en nƓuds.

Hdg :   Cap de vol. Le Nord est Ă  0°

Lat :     Latitude Nord

Long :  Longitude Ouest

Sig :     Force relative du signal

Msgs :  Nombre de messages reçus

Ti/ :      Temps Ă©coulĂ© (en dixiĂšme de secondes ?) depuis le dernier signal reçu.

La commande suivante permet de lancer l’interface graphique que l’on retrouvera sur le navigateur Internet Ă  l’URL : http://localhost:8080/

  • ./dump1090 –interactive –net –net-beast –net-ro-port 31001

traffic aeérien
Dump1090 – interface graphique

Pour rĂ©duire le trafic rĂ©seau, il est possible de remplacer le paramĂštre —interactif par celui de  –quiet. Dans ce cas, le listing des avions repĂ©rĂ© ne s’affiche plus dans la fenĂȘtre CMD (command prompt).
Comme le montre la capture d’écran ci-dessus, l’interface graphique pose problĂšme ; l’application Google Maps renvoyant une carte grisĂ©e avec le message For development purpose only.
Plusieurs forums expliquent qu’il est super simple de rĂ©soudre ce problĂšme en se crĂ©ant une clĂ© Google Maps Ă  partir du lien : https://developers.google.com/maps/documentation/javascript/get-api-key.
AprĂšs plusieurs tentatives et sans avoir pu trouver de tutoriel expliquant clairement la marche Ă  suivre, j’ai abandonnĂ© l’idĂ©e, dans l’attente – peut-ĂȘtre grĂące Ă  cet article – d’un lien ou d’un document dĂ©crivant clairement la procĂ©dure.

traffic aeérien
Une procĂ©dure super simple ????

Installation de dump1090-fa

Ayant abandonnĂ© l’idĂ©e d’utiliser dump1090, passons maintenant Ă  dump1090-fa. C’est une Ă©volution du prĂ©cĂ©dent, maintenue par les dĂ©veloppeurs de FlightAware.com. Elle transmet les messages reçus Ă  2 autres programmes : fr24feeder et ngnix. Le premier renvoie les donnĂ©es collectĂ©es aux serveurs de FlightRadar24.com pour contribuer au rĂ©seau de rĂ©cepteurs ; le second sert d’interface web pour l’affichage local de la position des avions sur une carte OpenStreetMap. Le rang de la derniĂšre version semble ĂȘtre 3.7.1.
La procĂ©dure d’installation disponible sur la page : https://fr.flightaware.com/adsb/piaware/install passe par la mise en place de PiAware (le client FlightAware).

Si, comme moi, vous possĂ©dez une version d’OS buster, voici la suite d’instructions Ă  saisir dans une fenĂȘtre LXterminal :

  • wget https://fr.flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_5.0_all.deb
  • sudo dpkg -i piaware-repository_5.0_all.deb
  • sudo apt-get update
  • sudo apt-get install piaware
  • sudo piaware-config allow-auto-updates yes
  • sudo piaware-config allow-manual-updates yes
  • sudo apt-get install dump1090-fa
  • sudo reboot

À l’issue du redĂ©marrage, il faut ouvrir le fichier de configuration pout dĂ©finir sa position gĂ©ographique.

  • sudo nano /etc/default/dump1090-fa

traffic aeérien
Dump1090-fa – Premiùre configuration

AprĂšs reboot du systĂšme, on en vĂ©rifie l’état :

  • sudo systemctl restart dump1090-fa
  • sudo systemctl status dump1090-fa -l

traffic aeérien
État du service dump1090-fa  

  • sudo systemctl status piaware -l

traffic aeérien
État du service piaware

Et pour finir, les derniĂšres lignes du retour de la commande systemctl status nous confirment non seulement l’état des services dump1090-fa et piaware (ils sont lĂ , donc ils sont actifs), mais aussi leurs options de lancement :

traffic aeérien
Propriété des services dump1090-fa et piaware

  • /usr/bin/dump1090-fa –device-index 0 –gain -10 –ppm 0 –max-range 360 –lat 44.0793 –lon -1.2585 –net –net-heartbeat 60 –net-ro-size 1300 –net-ro-interval 0.2 –net-ri-port 0 –net-ro-port 30002 –net-sbs-port 30003 –net-bi-port 30004,30104 –net-bo-port 30005 –json-location-accuracy 1 –write-json /run/dump1090-fa –quiet
  • /usr/bin/piaware -p /run/piaware/piaware.pid -plainlog -statusfile /run/piaware/status.json
  • /usr/lib/piaware/helpers/faup1090 –net-bo-ipaddr localhost –net-bo-port 30005 –stdout
  • /usr/sbin/cups-browsed

Le paramĂštre –help de dump1090-fa rĂ©sume l’ensemble des options disponibles.

traffic aeérien
traffic aeérien
dump1090-fa –help

A la premiĂšre ouverture de l’interface web (http://localhost/dump1090-fa/), tout semble fonctionner, mais un seul avion, trĂšs proche de mon QRA est visible. Le LNA n’est pas activĂ©. La commande suivante permet de l’alimenter :

  • sudo service dump1090-fa stop && cd ~/rtl_biast/build/src && ./rtl_biast -b 1 && sudo service dump1090-fa start

Pour une activation automatique, rĂ©fĂ©rez-vous au prĂ©cĂ©dent article (R.A.F. N°7 de juillet 2021, page 69). Contrairement Ă  ce qui y est dĂ©crit, la procĂ©dure passant par la modification du fichier /etc/rc.local fonctionne ici. C’est uniquement avec le feeder de radarvirtuel qu’il faut envisager, comme nous le verrons ensuite, une autre procĂ©dure.

Le LNA Ă©tant sous tension, tout fonctionne. Notons cependant le message au bas de la fenĂȘtre :

traffic aeérien
dump1090-fa – (ancienne) interface locale Web

[This version of SkyAware will soon be depcrecated. Visit URL: [local IP Address]/skyaware for the most up-to-date SkyAware interface.]

Il suffit alors d’ouvrir http://localhost/skyaware/ pour atteindre la nouvelle interface, sans oublier ensuite de l’insĂ©rer dans ses favoris.

traffic aeérien
dump1090-fa – Interface locale Web Skyaware 5.0

Avec cette installation, dump1090-fa se charge automatiquement au dĂ©marrage. Pour passer en mode manuel (si l’on souhaite mener des tests), il suffit de stopper les services :

  • sudo service dump1090-fa stop
  • sudo service piaware stop

Suite Ă  cela, le simple lancement de :

  • dump1090-fa –interactive


 nous retourne un Ă©cran similaire Ă  celui de dump1090.

traffic aeérien
dump1090-fa –interactive

Il y a cependant lieu de noter les diffĂ©rences suivantes :
Mode : Lorsque ceci est possible, en lieu et place du simple « S », le logiciel prĂ©cise le type d’appareil :

A- = Aéronef propulsé non spécifié
A1 = LĂ©ger (< 7 tonnes)
A2 = Petit (de 7 Ă  35 000 tonnes)
A3 = Grand (de 35 Ă  150 tonnes)
A4 = Grand avec tourbillon (Vortex) important (avions tels que B-757)
A5 = Lourd (> 150 tonnes)
A6 = Haute Performance (> 5 g d’accĂ©lĂ©ration et > 750 km/h)
A7 = HĂ©licoptĂšre et autre giravion
B- = Aéronef non motorisé ou sans pilote (UAV) ou engin spatial non spécifié
B1 = Planeur
B2 = Ballon
B3 = Parachutiste
B4 = ULM, deltaplane ou parapente
B5 = Réservé
B6 = AĂ©ronef sans pilote (UAV)
B7 = Engin spatial ou transatmosphérique
C- = Installation au sol ou véhicule non spécifié
C1 = VĂ©hicule de surface – VĂ©hicule d’urgence
C2 = VĂ©hicule de surface – VĂ©hicule de service
C3 = Obstruction au sol fixe ou captive

RSSI :  Indicateur de puissance du signal reçu (Received Signal Strength Indicator). En dĂ©cibel pleine Ă©chelle (dB FS), il indique le rapport entre le niveau du signal reçu et le niveau maximal.

Installation de dump1090-mutability (expérience 1 et abandon)

Ayant maintenant pour objectif une interconnexion avec le site radarvituel, intĂ©ressons-nous maintenant le logiciel dump1090-mutability. Celui-ci semble ne plus ĂȘtre mis Ă  jour. Sa derniĂšre version (V1.15~dev) est celle utilisĂ©e par les correspondants du site. L’interface Web locale utilise aussi une carte OpenStreetMap.

Pour cette installation, je passe par l’interface graphique (Framboise / PrĂ©fĂ©rences / Add / Remove Software). AprĂšs avoir sĂ©lectionnĂ© le programme, le poussoir APPLY tĂ©lĂ©charge et installe les paquets.

traffic aeérien
Recherche du programme dump1090-mutability

On quitte ensuite par OK.

L’installation se passe, semble-t-il, sans problĂšme. Aucune icĂŽne n’apparait, ni sur le bureau, ni dans le menu des applications. La commande :

  • apt policy dump1090-mutability


 me précise cependant la version installée.

traffic aeérien
Appel de la version de dump1090-mutability

AprĂšs alimentation du LNA (rtl_biast), la commande :

dump1090-mutability – interactive


fait dĂ©filer – d’une maniĂšre similaire aux prĂ©cĂ©dents – les informations relatives aux avions volant dans mon environnement.
Conclusion : le logiciel fonctionne. Il ne se lance pas au dĂ©marrage de la Pi et aucune invite de configuration ne m’a Ă©tĂ© proposĂ©e pour modifier le fichier de paramĂ©trage dump1090-mutability qui se situe dans le rĂ©pertoire /etc/default.

traffic aeérien
dump1090-mutability –interactive

L’appel de l’interface web l (http://localhost/dump1090-mutability/gmap.html) ne nous affiche aucun avion mais un message d’erreur qui semble bien connu des internautes :

Problem fetching data from dump1090.
AJAX call failed (error: Not Found). Maybe dump1090 is no longer running?
The displayed map data will be out of date.

traffic aeérien
Dump1090-mutability – Pas d’avion en vue et message d’erreur à l’appel de l’interface web locale

Aux vues de ce message d’erreur dont je ne trouve pas la parade malgrĂ© de (trĂšs) longues recherches, je prends contact avec les gestionnaires du site RadarVirtuel.

Installation de dump1090-mutability (expérience 2)

RadarVirtuel est un radiodĂ©tecteur français permettant de suivre le mouvement des avions en temps rĂ©el. Sur son site, il montre gratuitement et de maniĂšre trĂšs prĂ©cise les mouvements aĂ©riens, principalement en Europe occidentale. La mise Ă  jour, qui a lieu toutes les 10 Ă  20 secondes, est rendue possible grĂące aux nombreuses stations de rĂ©ception-sol qui captent les signaux ADB-S pour les retransmettre au serveur du radar en ligne. Ce rĂ©seau de rĂ©cepteurs compte aujourd’hui plus de 400 stations dont plus d’un quart sont situĂ© dans l’hexagone, souvent chez des radioamateurs ou radio-Ă©couteurs qui se passionnent sur les digimodes et leurs modes de dĂ©codage.
Radarvirtuel a Ă©tĂ© crĂ©Ă© en 2009 en tant que projet amateur non commercial. Il a attirĂ© l’attention des mĂ©dias (donc du public) et des autoritĂ©s un an plus tard, lors de l’éruption du volcan islandais Eyjafjallajökull. Proposant Ă©galement un suivi du nuage, le site reçu en quelques jours un nombre impressionnant de visiteurs et acquit sa notoriĂ©tĂ© (https://www.passion-radio.org/blog/suivre-le-nuage-de-cendres-avec-radar-virtuel/38334).
traffic aeérien
InspirĂ©s par ce succĂšs, les crĂ©ateurs de ce radar en ligne sont aujourd’hui Ă  la tĂȘte de la compagnie ADS-B NETWORK (http://www.adsbnetwork.com/#.home) qui propose une offre de service complĂšte basĂ©e sur l’utilisation des donnĂ©es de surveillance de l’espace aĂ©rien.

RentrĂ© en contact avec les administrateurs du site, je reçois de nombreux conseils et dĂ©marre une nouvelle installation selon la procĂ©dure suivante. La premiĂšre Ă©tape passera par l’installation d’une version de dump1090-mutability issue de leur serveur :

  • Sur une carte MicroSD toute neuve, installation de la derniĂšre version du Raspberry Pi OS (buster). La procĂ©dure a Ă©tĂ© dĂ©crite en Annexe du prĂ©cĂ©dent article.
  • Mises Ă  jour :
    • sudo apt-get update
    • sudo apt-get upgrade
  • Initialisation d’un compte administrateur root (par saisie – par deux fois – d’un mot de passe) :
    • sudo passwd root

    Une fois cette action rĂ©alisĂ©e, on obtient le privilĂšge root au travers de la commande su :

    • su

    traffic aeérien>
    Obtention des droits « root Â»

    Il faut maintenant autoriser l’accĂšs root via ssh en modifiant le fichier sshd_config. AprĂšs ouverture, il faut rechercher la ligne PermitRootLogin without-password en la modifiant comme suit : PermitRootLogin yes.

    traffic aeérien
    Modification du fichier « sshd_config Â»

    Optionnellement, installation de l’ application locate:

    CrĂ©ation d’un numĂ©ro de sĂ©rie particulier (et reconnaissable) pour la clĂ© rtl-sdr :

    • rtl_test
    • rtl_eeprom -s 001090

    traffic aeérien
    Changement du numéro de série de notre clé RTL_SDR

    Installation de dump1090-mutability depuis le dépÎt com/abcd567a/dump1090 :

    • sudo bash -c « $(wget -O –
      https://raw.githubusercontent.com/abcd567a/dump1090/master/install_dump1090_mut_1.15.sh) »
    raw.githubusercontent.com renvoie le contenu brut des fichiers stockĂ©s dans github, afin qu’ils puissent ĂȘtre tĂ©lĂ©chargĂ©s simplement sur votre ordinateur.
    Pour voir le contenu de raw.githubusercontent.com/${repo}/${branch}/${path} dans l’interface habituelle de github:

    1. remplacez raw.githubusercontent.com par github.com
    2. insĂ©rez « blob » entre le nom du repo et le nom de la branche. 

    Dans notre cas, le nom de la branche est « master » (ce qui est un nom de branche trÚs courant), vous remplacerez donc /master/ par /blob/master/, et donc https://raw.githubusercontent.com/abcd567a/dump1090/master/install_dump1090_mut_1.15.sh deviendra
    https://github.com/abcd567a/dump1090/blob/master/install_dump1090_mut_1.15.sh

    D’aprùs : https://www.it-swarm-fr.com/fr/github/que-representent-les-url-raw.githubusercontent.com/826788205/

    À l’ouverture de l’outil de configuration, la rĂ©ponse aux questions se fait de la maniĂšre suivante :

    traffic aeérien
    DĂ©marrage de l’outil de configuration

    • OUI
    • dump1090
    • /var/log/dump1090-mutability.log
    • 001090
    • Max
    • 0
    • OK
    • 300
    • Entrez votre latitude
    • Entrer votre longitude
    • 30001
    • 30002
    • 30004,30104
    • 30005
    • 30003
    • 60
    • 500
    • 1
    • 262144
    • Mettez Ă  vide (effacer 127.0.0.1)
    • 3600
    • 1
    • OK
    • approximate
    • /run/dump1090-mutability
    • Oui (dans un premier temps, uniquement pour les tous premiers essais).
    • Laissez Ă  vide.

    Toute ces informations sont alors stockĂ©es dans le fichier /etc/default/dump1090-mutability dont voici le contenu :

    pi@raspberrypi:~ $ cat /etc/default/dump1090-mutability
    # dump1090-mutability configuration file
    # This is a POSIX shell fragment.
    # You can edit this file directly, or use
    # « dpkg-reconfigure dump1090-mutability »

    # Set to « yes » to start dump1090 on boot.
    START_DUMP1090= »yes »

    # User to run dump1090 as.
    DUMP1090_USER= »dump1090″

    # Logfile to log to
    LOGFILE= »/var/log/dump1090-mutability.log »

    #
    # Receiver options
    #

    # RTLSDR device index or serial number to use
    # If set to « none », dump1090 will be started in –net-only mode
    DEVICE= »001090″

    # RTLSDR gain in dB.
    # If set to « max » (the default) the maximum supported gain is used.
    # If set to « agc », the tuner AGC is used to set the gain.
    GAIN= »max »

    # RTLSDR frequency correction in PPM
    PPM= »0″

    #
    # Decoding options
    #

    # If yes, fixes messages with correctable CRC errors.
    FIX_CRC= »yes »

    # If set, supplies a reference location for local position decoding.
    LAT= »44.0793″
    LON= »-1.2585″

    # If set, provides the absolute maximum receiver range used to
    # filter bad position reports, and to determine when local position
    # decoding is safe to use. Specify this in nautical miles (NM).
    MAX_RANGE= »300″

    #
    # Networking options
    #

    # Port to listen on for raw (AVR-format) input connections. 0 disables.
    RAW_INPUT_PORT= »30001″

    # Port to listen on for raw (AVR-format) output connections. 0 disables.
    RAW_OUTPUT_PORT= »30002″

    # Port to listen on for SBS-format output connections. 0 disables.
    SBS_OUTPUT_PORT= »30003″

    # Port to listen on for Beast-format input connections. 0 disables.
    BEAST_INPUT_PORT= »30004,30104″

    # Port to listen on for Beast-format output connections. 0 disables.
    BEAST_OUTPUT_PORT= »30005″

    # TCP heartbeat interval in seconds. 0 disables.
    NET_HEARTBEAT= »60″

    # Minimum output buffer size per write, in bytes.
    NET_OUTPUT_SIZE= »500″

    # Maximum buffering time before writing, in seconds.
    NET_OUTPUT_INTERVAL= »1″

    # TCP buffer size, in bytes
    NET_BUFFER= »262144″

    # Bind ports on a particular address. If unset, binds to all interfaces.
    # This defaults to binding to localhost. If you need to allow remote
    # connections, change this.
    NET_BIND_ADDRESS= » »

    #
    # Misc options
    #

    # Interval (in seconds) between logging stats to the logfile. 0 disables.
    STATS_INTERVAL= »3600″

    # Path to write json state to (for use with an external webserver). Blank disables.
    JSON_DIR= »/run/dump1090-mutability »

    # Interval between writing json state (in seconds). 0 disables.
    JSON_INTERVAL= »1″

    # Accuracy of receiver location to write to json state, one of « exact » / « approximate » / « none »
    JSON_LOCATION_ACCURACY= »approximate »

    # Set to yes to log all decoded messages
    # This can get large fast!
    LOG_DECODED_MESSAGES= »no »

    # Additional options that are passed to the Daemon.
    EXTRA_ARGS= » »

    Cette configuration entrainera le lancement du programme avec les options suivantes :

    /usr/bin/dump1090-mutability –net –device-index 001090 –ppm 0 –fix –lat 44.0793 –lon -1.2585 –max-range 300 –net-ri-port 30001 –net-ro-port 30002 –net-bi-port 30004,30104 –net-bo-port 30005 –net-sbs-port 30003 –net-heartbeat 60 –net-ro-size 500 –net-ro-interval 1 –net-buffer 2 –stats-every 3600 –write-json /run/dump1090-mutability –write-json-every 1 –json-location-accuracy 1 –quiet

    traffic aeérien
    traffic aeérien
    dump1090-mutability –help

    Redémarrage de la Pi (sudo reboot).
    Si nous en possédons un, programmation de la mise en alimentation du LNA, au démarrage, avant le chargement du service dump1090-mutability:

    Comme indiquĂ© prĂ©cĂ©demment, la mise sous tension de l’alimentation du LNA au travers du fichier /etc/rc.local ne fonctionne pas ici. Son lancement entre en conflit avec celui de dump1090-mutability. Il faut donc, dans notre cas (et aprĂšs avoir supprimĂ© la ligne dans rc.local), modifier le fichier /etc/init.d/dump1090-mutability pour ajouter la ligne de commande de lancement aprĂšs l’instruction do_start()  [*]Voir : https://discussions.flightaware.com/t/dump1090-mutability-v1-15-dev-and-rtl-sdr-v3-bias-t-auto-switch-on/34693]

    traffic aeérien
    Auto alimentation du LNA préalablement au lancement de dump1090-mutability.

    La seconde Ă©tape consiste en l’installation du feeder RadarVirtuel selon la procĂ©dure suivante :
    CrĂ©ation d’un rĂ©pertoire /home/py (Ă  ne pas confondre avec le rĂ©pertoire /home/pi dĂ©jĂ  existant :

    • cd /home/
    • mkdir py
    • cd py

    TĂ©lĂ©chargement et mise en place du feederspĂ©cifiquement prĂ©parĂ© par les administrateurs du site. Cet envoi sera spĂ©cifique Ă  votre (future) station. Les 4 digits xxxx correspondent au code OACI (Organisation de l’Aviation Civile Internationale) de l’aĂ©roport le plus proche de votre domicile. Sur la carte radarvirtuel, votre station sera reconnue par ce code Ă  4 digits.

    • sudo wget http://[URL_donnĂ©e_par_l_administrateur]/AnFeeder_xxxx.zip
    • sudo unzip AnFeeder_xxxx.zip
    • cd ANFeeder
    • sudo chmod 775 ANfeeder-raspy [*] chmod 775 donne les droits rwx (4+2+1) Ă  l’utilisateur propriĂ©taire (u) et Ă  ceux membres de son groupe (g) et rx (4+1) au autres utilisateurs.
    • sudo chmod 775 imalive.sh
    • sudo chmod 775 RestartANfeeder.sh
    • sudo chmod 775 sh

    Le fichier sANfeeder_xxxx.sh contient une clĂ© de chiffrement ainsi que l’URL et le numĂ©ro de port de rĂ©ception de donnĂ©es correspondant Ă  votre zone gĂ©ographique.

    • Lancement automatique du feeder au boot de la Pi par ajout de la ligne /home/py/ANFeeder/sANfeeder_xxxx.sh dans le fichier /etc/rc.local :
      • cd /etc/
      • sudo nano rc.local

      traffic aeérien
      Modification de /etc/rc.local

      Création des liens symboliques suivants :

      • sudo ln -s /home/py/ANFeeder/imalive.sh /usr/bin/
      • sudo ln -s /home/py/ANFeeder/RestartANfeeder.sh /usr/bin/

      Modification du fichier /etc/ crontab en y ajoutant la ligne : */10 * * * * root/usr/bin/imalive.sh &

      
 afin qu’il lance pĂ©riodiquement le script « I am alive Â» (je suis actif) vers le serveur radarvirtuel :

      • sudo nano /etc/crontab

      traffic aeérien
      Modification du fichier /etc/crontab

      RedĂ©marrage du service :

      • cd /home/py/ANFeeder
      • ./RestartANfeeder.sh

      Il ne reste plus maintenant à vérifier que tout fonctionne.
      Tout d’abord, la commande ps axu qui liste l’ensemble des process en y associant leur propriĂ©taire devrait retourner, entre autres, ANfeeder-raspy et dump1090-mutability.

      traffic aeérien
      Retour de la commande ps axu

      Les trames ADS-B devant transiter par le port 30002, nous pouvons vĂ©rifier leur prĂ©sence par la commande : nc 127.0.0.1 30002.

      traffic aeérien
      Retour de la commande nc 127.0.0.1 30002

      Tout fonctionnant normalement, il ne faut surtout pas oublier de remettre Ă  NO, la variable LOG_DECODED_MESSAGES, puis de rebooter la station.
      A l’occasion d’essais non concluant, voici un extrait du fichier log (/var/log/dump1090-mutability.log) :

      traffic aeérien

      Voici un mĂȘme retour en fonctionnement normal :

      traffic aeérien
      traffic aeérien
      traffic aeérien
      traffic aeérien

      Finalement, vous visualiserez, en local, le bon fonctionnement de votre station au travers de l’interface Web sur http://localhost/dump1090/gmap.html.

      traffic aeérien
      dump1090-mutability – Interface locale Web

      Sur le site de radar virtuel, un suivi de votre station sera disponible depuis l’URL : https://alpha.radarvirtuel.com/stations/XXXX ou XXXX reprĂ©sente les 4 digits de votre station.

      traffic aeérien
      La station LFCZ sur le site alpha.radarvirtuel.com

      Le bouton Coverage vous donnera une idĂ©e de la couverture d’écoute de votre station.

      traffic aeérien
      La couverture de la station LFCZ sur le site alpha.radarvirtuel.com

      A suivre

      Suivi du trafic aĂ©rien : mode MLAT sous Raspberry Pi, retour sous Windows


      traffic aeérien

      par François F-80543 | F-80543

      Auteur / autrice

      • Aujourd'hui retraitĂ©, j'ai passĂ© ma prime jeunesse Ă  Lourdes (Ă©cole Saint-Joseph). Ensuite c'est Paris (Saint-Thomas d'Aquin puis le lycĂ©e Jacquard). CotĂ© travail, 20 ans chez Thomson DFH/Alcatel Telspace, 20 ans chez McAfee.