jeudi 17 avril 2014

L'ADS-B sous Linux

On reste avec une version Kubuntu, légère et simple à utiliser .. et la tête dans les nuages avec un petit soft pour décoder l' ADS-B ( comprendre Automatique Dependant Surveillance Broadcoast ), une sorte de balise de position pour les aéronefs à destination des centres de contrôle aériens où notre avion calcule sa propre position, et l'envoie régulièrement par voie radio. Les autres avions équipés peuvent également connaître la position de l'avion emeteur mais en plus, de connaître son identification, son cap, sa vitesse, sa destination ... autant de paramètres utiles aux différents vols. Plus d'infos sur ce mode ici : ADS-B

Il faudra disposer d'un petit récepteur TNT type rtl2832 que l'on trouve sur internet ou dans les grandes surfaces pour 20/30€ . Après cela, il nous faudra installer l'ensemble des sources qui va nous permettre de pouvoir utiliser ce récepteur. Le plus simple est de copier/coller ces lignes de code dans le terminal :
sudo apt-get update
sudo apt-get install \
libqt4-opengl-dev \
qtmobility-dev \
libusb-0.1-4 \
libusb-dev \
libfftw3-dev \
portaudio19-dev \
libpulse-dev \
libsamplerate0-dev \
libusb-1.0-0-dev \
libconfig8-dev \
xdg-utils \
libortp-dev \
gcc-multilib \
libssl-dev \
libevent-dev \
libglu1-mesa-dev
\
freeglut3-dev

Après un petit moment de travail ( le temps d'un bon café ;) ) il vous faudra installer le rtl via ces petites lignes de commande :
- git clone git://git.osmocom.org/rtl-sdr.git ( on récupère les sources : si git n'est pas installé, sudo make install git )
- cd rtl-sdr ( on se place dans le répertoire crée)
- mkdir build ( on crée le répertoire build )
- cd build ( on se place dans le répertoire build )
- cmake ../ -DINSTALL_UDEV_RULES=ON ( on crée la source en attribuant l'accès aux rtl à tous les utilisateurs : si cmake n'est pas installé, sudo make install cmake )
- make ( on la compile )
- sudo make install ( on l'installe )
Ensuite, il faut installer les sources GnuRadio pour la bonne reconnaissance et l'exploitation du rtl :
- git clone git://git.osmocom.org/gr-osmosdr
- cd gr-osmosdr/
- git checkout gr3.6
- mkdir build
- cd build/
- cmake ../
- make
- sudo make install
- sudo ldconfig

Vous pouvez dès à présent contrôler que votre rtl est bien reconnu et opérationnel par une commande toute simple : rtl_test -t
Si tout à bien fonctionné, vous devriez avoir le résultat du test qui ressemble à ceci :
jeff@RadioLite:~$ rtl_test -t
Found 1 device(s):
0: Generic, RTL2832U, SN: 77771111153705700

Using device 0: Generic RTL2832U
Found Elonics E4000 tuner
Supported gain values (14): -1.0 1.5 4.0 6.5 9.0 11.5 14.0 16.5 19.0 21.5 24.0 29.0 34.0 42.0
Sampling at 2048000 S/s.
Benchmarking E4000 PLL...
[E4K] PLL not locked for 51000000 Hz!
[E4K] PLL not locked for 2205000000 Hz!
[E4K] PLL not locked for 1103000000 Hz!
[E4K] PLL not locked for 1242000000 Hz!
E4K range: 52 to 2204 MHz
E4K L-band gap: 1103 to 1242 MHz

Passons maintenant à l'installation du logiciel pour la réception ads-b; il s'agit de gr-air-modes . Il vous faudra la dernière version de python ( excellent tuto ici : Python ) avant de commencer. on peut la trouver également dans le 'package manager'. Il vous faudra ensuite télécharger et décompresser le programme Gr-air-modes.Une fois cela acquis, il faudra exécuter via notre brave terminal, ces quelques lignes de commande :
- cd gr-air-modes
- mkdir build
- cd build
- cmake ../
- make
- sudo make install
- sudo ldconfig

Le programme est installé et pour le lancé, il suffit de se rendre dans son répertoire avec un cd gr-air-modes et de taper la commande modes_gui. Une fenêtre va s'ouvrir :

adsb4
Sélectionnez alors dans la source : Osmocom ( ou RTLSDR )
Vérifiez bien que SBS-1 est coché
rentrez vos coordonnées géographiques ( http://www.coordonnees-gps.fr/ )
Appuyez sur start en bas à droite.
Si votre antenne est bien dégagée, vous devriez commencer à recevoir des positions dans les minutes qui suivent. Placez vous sur l'onglet map ( au besoin, replacez vous au bon endroit sur la carte ). Les avions reçus s'afficheront dans le bandeau de gauche et se positionnerons sur la carte en temps réel.

adsb2

adsb3
La réception est effectuée avec la petite antenne d'origine fournie avec le rtl et placée sur le rebord de la fenêtre. Je compte bien réaliser une antenne colinéaire afin d'avoir une couverture plus importante.
Amusez vous bien !

dimanche 13 avril 2014

Acars et Linux

Je possédais un vieux pc (Emachines E520) que je voulais faire revivre mais installer un windows dessus, pas question. Je me suis alors tourné vers des distributions libres. J'ai donc essayé divers OS comme ubuntu, xubuntu, linux mint, bodhi, debian puis finalement, je me suis arrêté à une version 12.04LTS de Kubuntu qui m'a ravi de par sa rapidité et facilité de prise en main.


Jusque là, pas de soucis mais l'écouteur que je suis avait besoin d'outils orientés radio afin d'assouvir ma passion. Donc c'était parti pour de longues heures à installer les softs nécessaires. Aujourd'hui, je vais vous montrer comment recevoir les Acars et de pouvoir afficher sur une carte les aéronefs donnant leur position.


Tout d'abord, dans un terminal, il faut récupérer le merveilleux logiciel de F4DWV, Thierry, ACARSDEC, le dezippé et l'installer .. pour ce faire, une fois l'archive extraite, se placer dans son répertoire et exécuter dans un terminal, la commande 'sudo make install'. Ce logiciel peut fonctionner avec les dongle RTL à condition d'avoir installer les sources mais pour ma part, je ne vais utiliser que mon fidèle récepteur AOR 8600 MK2 avec sa sortie discri .Une fois le logiciel installé sur votre machine, vous pouvez vérifier son fonctionnement en ouvrant un terminal et en lançant la commande : "./acarsdec -d hw:0,0" J'ai remarquer que pour certaines machines, il fallait plutôt lancer : "padsp ./acarsdec -d hw:0,0" tout en ayant vérifier au préalable que l'entrée audio était bien active via la commande "alsamixer". Si tout se passe bien, vous devriez avoir, en vous mettant à l'écoute du 131.725AM par exemple, ce genre de messages qui défileront à l'écran :



RX_IDX: 790

ACARS mode: e, message label: _
ACARS ML description: No information to transmit
Aircraft reg: .D-ABON, flight id: DE09XK
Aircraft vendor: Boeing, short type: B753, full type: B757-330, cn: 29023
Carrier IATA: DE, ICAO: CFG, remarks: Condor
Airlines: Condor
Block id: 75, msg. no: M31A
Message content:-
00259214700GCLP,,
----------------------------------------------------------[13/04/2014 10:53]

RX_IDX: 791
ACARS mode: E, message label: B9
ACARS ML description: Request ATIS information
Aircraft reg: .HB-IHX, flight id: WK1247
Aircraft vendor: Airbus, short type: A320, full type: A320-214, cn: 0942
Carrier IATA: , ICAO: EDW, remarks:
Airlines: Edelweiss Air
Block id: 49, msg. no: M64A
Message content:-
/LSZH.TI2/040LSZHA2E59
----------------------------------------------------------[13/04/2014 10:53]

Maintenant, le but du jeu va être, via XASTIR, un programme de la même famille que UI-View, de visualiser les différents appareils sur une carte. Pour cela, il faudra installer le programme Xastir grâce au centre de logiciel de kubuntu. Vous pouvez aussi taper la commande ' sudo apt-get install xastir ' dans un terminal. Après cela, ouvrir xastir ( soit dans le menu Kubuntu / search/ en tapant xastir , soit dans une fenêtre terminal en tapant simplement ' xastir & ' ) configurer les paramètres de base ( indicatifs, position géo, locator) puis aller dans l'onglet Interface puis contrôle de l'interface. Cliquer ensuite sur ajouter puis dans le choix, sélectionner "Serveur internet".


Dans ce nouvel onglet, rentrer les paramètres suivants :


hôte : 127.0.0.1  /  port : 14000  / commentaire : acars  / valider "activer au démarrage"


on clique sur OK puis on ouvre un terminal dans lequel, on retourne dans le répertoire ou acarsdec est installé puis on tape cette commande : 'padsp ./acarsdec -d hw:0,0 -s 14000' ( on rajoute un -s pour dire au programme d'envoyer les données sur un serveur sur le port 14000 ). Retour dans Xastir où l'on va sélectionner dans la liste "contrôle d'interface", notre périphérique nommé acars, on clique sur Démarrer puis on ne ferme pas mais on réduit la fenêtre en cliquant sur la petit flêche bas en haut à droite. Les avions donnant leur position apparaîtront sur la carte à l'écran.


snapshot3
Vous pourrez, si vous le souhaiter récupérer vos anciennes cartes d'UI-View ou n'importe quelle carte APRS pour la sélectionner dans Xastir. Pour convertir une carte avec l'extension INF, dans un terminal, allez dans le dossier où se trouve votre fichier INF puis taper cette commande :' /usr/lib/xastir/inf2geo.pl NOM_DU_FICHIER.inf '. Un fichier de type GEO sera crée que vous pourrez copier dans le répertoire map de xastir : ' sudo cp NOM_DU_FICHIER.geo /usr/share/xastir/maps/ '  avec les deux autres fichiers inf et bmp/png/jpg de la carte.


Je suis loin d'être doué pour les tutos mais si vous avez des questions, n'hésitez pas à me contacter. Bonnes écoutes !