Récepteur ADS-B sur Raspberry Pi

Parce que les applications du Raspberry Pi sont illimités...

Modérateur : Francois

Mmega
Messages : 8
Enregistré le : dim. 21 sept. 2014 17:10

Re: Récepteur ADS-B sur Raspberry Pi

Message par Mmega » dim. 30 nov. 2014 17:20

Bonjour, voici mon tutoriel :
Je vais vous montrer comment utiliser un Raspberry Pi comme récepteur ADS-B, l'ADS-B sont les codes envoyés par les avions pour informer la tour de contrôle de leur position, leur altitude, leur code transpondeur...
Ces codes sont envoyés sur la fréquence 1090MHz (soit 1,09GHz), il faut donc un récepteur spécial pour communiquer avec le Raspberry Pi. Il faut pour cela un récepteur TNT Usb utilisant le chipset Realtek RT2832U ainsi que le tuner R820T. Je précise qu'il faut que la clé soit connectée à un hub alimenté.
Pour le coté logiciel, il faut les drivers rtl_sdr qu'il faut compiler pour qu'ils fonctionnent sur Raspberry. On a besoin ensuite le logiciel dump1090, qui est le logiciel qui capte les signaux reçu par le récepteur USB et qui décode les signaux ADS-B. Le logiciel dispose de son propre serveur web qui créé un carte interactive avec tous les avions captés par le récepteur.

Materiel necessaire : - Un Raspberry Pi configuré avec Raspbian (peut-être que cela fonctionne avec Arch ou Fedora mais je n'ai pas testé)
- Une clé USB TNT disposant d'un chipset R2832U et d'un tuner R820T
- Un clavier ou un autre ordinateur connecté en SSH à votre Pi

Il vous faut démarrer le Raspberry et vous connecter en ssh (ssh pi@ipdevotrepi) ou brancher un clavier et vous loguer sur une session (pi par défaut).
Pour pouvoir télécharger et compiler rtl-sdr pour le Raspberry, il faut installer quelques paquets :

Code : Tout sélectionner

sudo apt-get install git git-core cmake libusb-1.0-0-dev build-essential
Il faut ensuite télécharger les sources de rtl-sdr :

Code : Tout sélectionner

git clone git://git.osmocom.org/rtl-sdr.git
Placez vous ensuite dans le dossier rtl-sdr :

Code : Tout sélectionner

cd rtl-sdr
Executez ensuite ces commandes pour compiler et installer rtl-sdr :

Code : Tout sélectionner

mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON -DDETACH_KERNEL_DRIVER=ON
make
sudo make install
sudo ldconfig
Ensuite avec votre clé branchée, vérifiez si celle ci est bien reconnu :

Code : Tout sélectionner

rtl_test -t
Il faut maintenant install dump1090 sur votre Pi :
Retournez d'abord à la racine de votre répertoire personnel : Puis téléchargez le code :

Code : Tout sélectionner

git clone https://github.com/MalcolmRobb/dump1090.git
cd dump1090
Enfin compilez le :

Code : Tout sélectionner

make
Pour l’exécuter faites :

Code : Tout sélectionner

./dump1090 --quiet --net
L'interface web est maintenant démarrée sur le port 8080 et vous pouvez y accéder à partir d'un autre pc avec l'adressedevotrepi:8080 dans le navigateur

Pour que dump1090 se lance automatiquement au démarrage de votre pi faites :

Code : Tout sélectionner

crontab -e
Et ajoutez cette ligne à la fin de votre fichier :

Code : Tout sélectionner

@reboot cd dump1090 && ./dump1090 --quiet --net
Voila ce tuto est maintenant terminé. Si vous avez des questions n’hésitez pas à me les poser.

Avatar du membre
chakram
Messages : 12
Enregistré le : mar. 23 sept. 2014 22:12
Contact :

Re: Récepteur ADS-B sur Raspberry Pi

Message par chakram » dim. 30 nov. 2014 17:58

Mmega a écrit :Bonjour, voici mon tutoriel :
Je vais vous montrer comment utiliser un Raspberry Pi comme récepteur ADS-B, l'ADS-B sont les codes envoyés par les avions pour informer la tour de contrôle de leur position, leur altitude, leur code transpondeur...
Juste pour ramener ma framboise :ugeek: , l'ADS-B est un système embarqué par certains avions pour transmettre des données régulièrement et automatiquement d'où le B pour Broadcast. Aujourd'hui, il peut être utilisé par le contrôle aérien (ce qui n'est pas encore nécessairement la norme), les compagnies aériennes ou d'autres systèmes embarqués comme les TCAS pour obtenir des données sur des avions environnant.

La principale différence avec les transpondeurs classiques (Mode A, C ou S) réside dans l'absence d'interrogation venant du sol ce qui permet de s'affranchir des coûteux radars secondaires. Il nécessite quand même un maillage conséquent d'antennes au sol comme le montre des sites comme FR24 & Co.

Sinon, après avoir suivi un tuto de ce genre, je suis tombé sur un problème : le message

Kernel driver is active, or device is claimed by second instance of librtlsdr s'affichait et dump1090 ne s'exécutait donc pas...

Apparemment, le système aurait tendance à installer un driver pour la clé USB qu'il faut donc blacklister.

Selon le site satsignal (http://www.satsignal.eu/raspberry-pi/dump1090.html), il faut éditer le fichier modprobe.d

Code : Tout sélectionner

cd /etc/modprobe.d
sudo nano no-rtl.conf
Et ajouter dans ce fichier les lignes :

Code : Tout sélectionner

blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
Les deux dernières lignes ne seraient pas obligatoires mais ça fonctionne après un reboot, donc, perso, je ne m'en suis pas préoccupé.

++

Chak

Mmega
Messages : 8
Enregistré le : dim. 21 sept. 2014 17:10

Re: Récepteur ADS-B sur Raspberry Pi

Message par Mmega » dim. 30 nov. 2014 18:01

chakram a écrit :
Mmega a écrit :Bonjour, voici mon tutoriel :
Je vais vous montrer comment utiliser un Raspberry Pi comme récepteur ADS-B, l'ADS-B sont les codes envoyés par les avions pour informer la tour de contrôle de leur position, leur altitude, leur code transpondeur...
Juste pour ramener ma framboise :ugeek: , l'ADS-B est un système embarqué par certains avions pour transmettre des données régulièrement et automatiquement d'où le B pour Broadcast. Aujourd'hui, il peut être utilisé par le contrôle aérien (ce qui n'est pas encore nécessairement la norme), les compagnies aériennes ou d'autres systèmes embarqués comme les TCAS pour obtenir des données sur des avions environnant.

La principale différence avec les transpondeurs classiques (Mode A, C ou S) réside dans l'absence d'interrogation venant du sol ce qui permet de s'affranchir des coûteux radars secondaires. Il nécessite quand même un maillage conséquent d'antennes au sol comme le montre des sites comme FR24 & Co.

Sinon, après avoir suivi un tuto de ce genre, je suis tombé sur un problème : le message

Kernel driver is active, or device is claimed by second instance of librtlsdr s'affichait et dump1090 ne s'exécutait donc pas...

Apparemment, le système aurait tendance à installer un driver pour la clé USB qu'il faut donc blacklister.

Selon le site satsignal (http://www.satsignal.eu/raspberry-pi/dump1090.html), il faut éditer le fichier modprobe.d

Code : Tout sélectionner

cd /etc/modprobe.d
sudo nano no-rtl.conf
Et ajouter dans ce fichier les lignes :

Code : Tout sélectionner

blacklist dvb_usb_rtl28xxu
blacklist rtl2832
blacklist rtl2830
Les deux dernières lignes ne seraient pas obligatoires mais ça fonctionne après un reboot, donc, perso, je ne m'en suis pas préoccupé.

++

Chak
Ce n'est pas nécessaire lorsque l'on mets "DDETACH_KERNEL_DRIVER=ON" comme argument de cmake comme je l'ai mis dans le tutoriel.

Avatar du membre
brandt71
Messages : 28
Enregistré le : mer. 17 sept. 2014 20:09
Localisation : Clermont-Ferrand

Re: Récepteur ADS-B sur Raspberry Pi

Message par brandt71 » mar. 14 avr. 2015 22:12

Bonsoir à tous, j'ai moi même mis en place ce montage et je "l'utilise" depuis de nombreux mois. Une seule chose me chagrine avec dump1090 : j'aimerais disposer en local (c'est à dire sans en passer par FlightRadar24) des informations de vols (départ, arrivée) des logos des compagnies aériennes, photos des avions etc. Si quelqu'un a déjà mis en place cela je suis preneur ;)

Mmega
Messages : 8
Enregistré le : dim. 21 sept. 2014 17:10

Re: Récepteur ADS-B sur Raspberry Pi

Message par Mmega » mar. 14 avr. 2015 22:20

brandt71 a écrit :Bonsoir à tous, j'ai moi même mis en place ce montage et je "l'utilise" depuis de nombreux mois. Une seule chose me chagrine avec dump1090 : j'aimerais disposer en local (c'est à dire sans en passer par FlightRadar24) des informations de vols (départ, arrivée) des logos des compagnies aériennes, photos des avions etc. Si quelqu'un a déjà mis en place cela je suis preneur ;)
Il existe le logiciel Virtual Radar sous Windows qui permets cela. Vous devrez donc relier le logiciel à la "Basestation" c'est a dire dump1090 sur le raspberry pi.

Avatar du membre
brandt71
Messages : 28
Enregistré le : mer. 17 sept. 2014 20:09
Localisation : Clermont-Ferrand

Re: Récepteur ADS-B sur Raspberry Pi

Message par brandt71 » mar. 14 avr. 2015 22:27

Mmega a écrit :
brandt71 a écrit :Bonsoir à tous, j'ai moi même mis en place ce montage et je "l'utilise" depuis de nombreux mois. Une seule chose me chagrine avec dump1090 : j'aimerais disposer en local (c'est à dire sans en passer par FlightRadar24) des informations de vols (départ, arrivée) des logos des compagnies aériennes, photos des avions etc. Si quelqu'un a déjà mis en place cela je suis preneur ;)
Il existe le logiciel Virtual Radar sous Windows qui permets cela. Vous devrez donc relier le logiciel à la "Basestation" c'est a dire dump1090 sur le raspberry pi.
J'aurais dû préciser (au temps pour moi) : j'ai effectivement essayé cette solution mais elle ne me convient pas pour deux raisons. La première c'est la gestion des bases de données (infos de vols, images) complexe (ou alors je n'ai pas trouvé le bon outil). Le deuxième problème et le plus important est que je souhaite une solution qui tourne entièrement sur mon Rpi (comment ça je suis chiant ? :mrgreen: )

Mmega
Messages : 8
Enregistré le : dim. 21 sept. 2014 17:10

Re: Récepteur ADS-B sur Raspberry Pi

Message par Mmega » mar. 14 avr. 2015 22:32

brandt71 a écrit :
Mmega a écrit :
brandt71 a écrit :Bonsoir à tous, j'ai moi même mis en place ce montage et je "l'utilise" depuis de nombreux mois. Une seule chose me chagrine avec dump1090 : j'aimerais disposer en local (c'est à dire sans en passer par FlightRadar24) des informations de vols (départ, arrivée) des logos des compagnies aériennes, photos des avions etc. Si quelqu'un a déjà mis en place cela je suis preneur ;)
Il existe le logiciel Virtual Radar sous Windows qui permets cela. Vous devrez donc relier le logiciel à la "Basestation" c'est a dire dump1090 sur le raspberry pi.
J'aurais dû préciser (au temps pour moi) : j'ai effectivement essayé cette solution mais elle ne me convient pas pour deux raisons. La première c'est la gestion des bases de données (infos de vols, images) complexe (ou alors je n'ai pas trouvé le bon outil). Le deuxième problème et le plus important est que je souhaite une solution qui tourne entièrement sur mon Rpi (comment ça je suis chiant ? :mrgreen: )
Je n'ai moi non plus malheuresement pas trouvé de logiciel semblable sur le raspberry (Linux ARM).Je pense qu'il ne reste qu'une solution, modifier dump1090 pour le relier à une base de données contenant les n° de vol ainsi que leurs infos associés.

Avatar du membre
brandt71
Messages : 28
Enregistré le : mer. 17 sept. 2014 20:09
Localisation : Clermont-Ferrand

Re: Récepteur ADS-B sur Raspberry Pi

Message par brandt71 » mar. 14 avr. 2015 22:40

Mmega a écrit :Je n'ai moi non plus malheuresement pas trouvé de logiciel semblable sur le raspberry (Linux ARM).Je pense qu'il ne reste qu'une solution, modifier dump1090 pour le relier à une base de données contenant les n° de vol ainsi que leurs infos associés.
Je suis arrivé à la même conclusion, mais je n'ai ni le temps ni vraiment les compétences pour effectuer ces modifications. Dommage.

sawaguna
Messages : 34
Enregistré le : lun. 27 avr. 2015 13:55

Re: Récepteur ADS-B sur Raspberry Pi

Message par sawaguna » lun. 27 avr. 2015 14:19

brandt71 a écrit :Bonsoir à tous, j'ai moi même mis en place ce montage et je "l'utilise" depuis de nombreux mois. Une seule chose me chagrine avec dump1090 : j'aimerais disposer en local (c'est à dire sans en passer par FlightRadar24) des informations de vols (départ, arrivée) des logos des compagnies aériennes, photos des avions etc. Si quelqu'un a déjà mis en place cela je suis preneur ;)
Salut,

utilise ModeSDeco2 à la place de dump1090.
Tu peux le trouver ICI

le logiciel supporte les silhouettes, photos et les routes. Suffit d'indiquer les dossiers/fichiers en arguments

Chez moi, ça donne :

Code : Tout sélectionner

./modesdeco2 --gain 49.6 --freq-correction 21 --beast 30006 --rbs --agc --web 8081 --db /root/dossier/basestation.sqb --silhouettes /root/dossier/SilhouettesLogos --pictures /root/dossier/Photo --frdb /root/dossier/flightroute.sqb
pour les Silhouettes, tu peux télécharger les fichiers ICI ou ICI
pour les Photos, tu peux télécharger les fichiers ICI
le fichier flightroute.sqb ICI (faut s'enregistrer sur le groupe Yahoo)

sur mon raspberry pi :
Image
Image (suffit de passer la souris sur le code de l’aéroport pour avoir les détails)
Image

Bon après, y a pas toutes les photos, ni toutes les routes d'enregistrées comme sur Flighradar24.
Mais c'est déjà pas mal :)
Modifié en dernier par sawaguna le lun. 27 avr. 2015 23:34, modifié 2 fois.

Avatar du membre
brandt71
Messages : 28
Enregistré le : mer. 17 sept. 2014 20:09
Localisation : Clermont-Ferrand

Re: Récepteur ADS-B sur Raspberry Pi

Message par brandt71 » lun. 27 avr. 2015 14:45

Merci beaucoup sawaguna, c'est exactement quelque chose comme cela que je cherchais ! Merci, merci, et merci ! Je vais tester ça très vite ;)

Edit : bon après essai c'est juste ... MAGIQUE ! C'est exactement ce que je cherchais (et même plus). Quand j'aurais résolu deux trois petits détails je prendrai le temps de vous faire un petit tuto vite fait, par contre sawaguna j'ai trois petites questions pour toi :

- Pourquoi mettre --freq-correction à 21 et pas à 62 comme dans la doc (et surtout qu'est-ce que cela change, j'ai un peu de mal à saisir)
- Sais-tu si on peux faire (ou non) deux trois réglages sur la vue Map (supprimer les trais gris qui convergent vers ta position par exemple)
- A quoi sert le paramètre --filter-nocountry je ne saisi pas
Merci :D

Répondre

Retourner vers « Et tout le reste »