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

A propos de l'auteur

Index