Bricolage d'hiver

Échangez avec des passionnés d'aviation sur une foule de sujets (reliés de près à l'aviation), trucs, aventures aériennes. Obtenez des conseils ou initiez-vous à l'aviation. Prenez contact avec l'association, faites-vous des amis(es), conservez le contact.

Re: Bricolage d'hiver

Messagepar Charles » Mer 12 Juil, 2017 09:58

Ça fait longtemps que j'ai pas fait de mise à jour. C'est pas parce qu'il ne se passe rien mais disons qu'il n'y a pas eu de progrès.

Lorsque j'ai débuté le projet, j'ai utilisé le système d'exploitation Wheezy du Raspberry Pi qui était le plus récent à l'époque. Il a depuis été remplacé par Jessie. Je me suis dit que ça serait probablement une bonne idée d'upgrader un peu les outils utilisés et là, c'est vite devenu très compliqué. Les versions des compilateurs de Jessie ne sont pas compatibles avec la version de Qt que j'utilisais. Il a donc fallu upgrader Qt, ce qui a entraîné quelques changements au programme. Il a aussi fallu changer le compilateur croisé. Le daemon du gps est différent dans Jessie. La combinaison compatible de tous ces outils m'échappe encore. Tout fonctionne sauf le code GPS qui génère un segmentation fault à l'intérieur de la librairie de l'OS.

Je pense que je vais abandonner l'idée d'upgrader pour le moment et revenir à la configuration qui fonctionnait de manière a finalement finir le projet en me consacrant au CAD du boîtier révisé. Je reviendrai à l'upgrade après ça et, tant qu'à upgrader, je vais y aller avec un Pi 3 et un écran tactile capacitif (style iPad plutôt que résistif style Garmin Aera) de 7" pour en faire un EFIS plus complet avec une meilleur qualité d'image.

À suivre...
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Charles » Sam 11 Jan, 2020 11:31

Le mauvais temps du temps des fêtes m'aura permis de rafraîchir ce projet. Voici donc ce qui a changé depuis la première version:

- Le PC roule Windows 10 au lieu de Windows 8
- L'environnement Linux est Ubuntu 19.10 au lieu de 14
- Le compilateur croisé est maintenant à gcc 7.5 (méchant upgrade, le dernier était 4.3)
- C'est maintenant un Raspberry Pi3, plus puissant et avec plus de mémoire que le Pi 1
- L'écran résistif de 5" a été remplacé par un écran tactile capacitif de 7" avec une meilleur résolution. Même look & feel qu'un cellulaire.
- Une antenne ADS-B 1090ES a été ajoutée au système pour capter les transmissions ADS-B des autres avions
- L'environnement de développement est maintenant QML sur Qt 5.13.2 au lieu des QWidgets
- Les composantes ont toutes été fixées à l'écran grâce à une bracket imprimée en 3D
- Une carte géographique avec le trafic reçu de l'antenne ADS-B superposé dessus

Le nouveau setup a été rigoureusement documenté pour être reproduit sans niaisage en cas de pépin. Pour ceux que ça intéresse: https://docs.google.com/document/d/1Zn4 ... sp=sharing

La création de la carte géographique avec le trafic a été intéressante et m'a permis de comprendre la structure des messages ADS-B. J'ai constaté que chaque transmission ne contient généralement qu'un fragment des informations sur un vol, par exemple la position ou la vitesse ou l'altitude, etc. et qu'il faut assembler toutes ces informations au fur et à mesure qu'elles arrivent pour pouvoir créer une cible complète. En tous cas, très éducatif comme projet, je m'amuse pas mal.

La conversion à QML permet maintenant de réutiliser les composantes C++ de l'horizon et de ADS-B dans des programmes très simples. Pour illustrer ça, j'ai inclus le code de la carte géographique avec le traffic à la fin de ce post. C'est environ 30 lignes de code!

Finalement, tout ça est parfaitement portable et peu rouler nativement sur Windows, Linux, iPhone/iPad, Android, Raspberry Pi, etc. Par exemple, voici un screenshot de mon setup pour développer (on peut voir les messages ADS-B dans le bas à droite de l'écran). C'est un hyperlien parce que l'image est trop grosse pour le forum: https://i.ibb.co/fSYwXxC/mapdev.png



Image

Image

Image

Code: Tout sélectionner
import QtQuick 2.13
import QtQuick.Window 2.13
import QtPositioning 5.12
import QtLocation 5.12
import AdsbListenerModel 1.0

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("ADS-B")

    // Start an ADS-B Listener object to read data from the ADS-B antenna
    AdsbListenerModel {
        id: adsbListenerModel
        hostname: 'pi3'
        port: 30003
        start: true
    }

    // Create a custom OSM plugin to read charts from the local chart server
    // installed on our Pi where we put our FAA offline charts
    Plugin {
        id: mapPlugin
        name: "osm"
        PluginParameter { name: "osm.mapping.custom.host"; value: "http://pi3/" }       
    }

    // Create a map object using our plugin and connected to our ADS-B listener
    Map {
        id: mapview
        plugin: mapPlugin
        activeMapType: supportedMapTypes[supportedMapTypes.length - 1]

        anchors.fill: parent
        center: QtPositioning.coordinate(45.6, -73.4)
        zoomLevel: 9

        MapItemView{
            model: adsbListenerModel
            delegate: drawAdsbTarget
        }
    }

    // This component gets a notification each time something happens to an
    // ADS-B target and draws an airplane icon with a text label.
    Component {
       id: drawAdsbTarget
       MapQuickItem {
           id: marker
           anchorPoint.x: image.width/8
           anchorPoint.y: image.height/8
           coordinate: adsbdata.coords

           onXChanged: {
               // Populate data label with ADS-B data
               txt.text= ( (adsbdata.callsign==="" ? adsbdata.address : adsbdata.callsign) + " "
                       + adsbdata.coords.altitude + " \n" + (adsbdata.verticalRate > 0 ? "+" : "")
                       + adsbdata.verticalRate + "fpm " + adsbdata.groundSpeed +"kts" )
               rectLabel.width = txt.width + 6
               // Update airplane icon rotation to match ground track
               image.rotation = adsbdata.groundTrack
           }

           // Draw a little airplane icon with a text label inside a rectangle box with rounded corners
           sourceItem: Item {
               Image {
                   id: image
                   source: "images/airplane25.png"
                   anchors.centerIn: parent
               }
               Rectangle {
                   id: rectLabel
                   color: 'white'
                   radius: 5
                   border.width : 1
                   border.color: 'black'
                   anchors.bottom: image.top
                   height: 35
                   Text {
                       id: txt
                       anchors.left: parent.left
                       anchors.topMargin: 1
                       anchors.leftMargin: 3
                       anchors.top: parent.top
                       font.pixelSize: 13
                   }
               }
           }
       }
   }
}
Dernière édition par Charles le Lun 13 Jan, 2020 17:33, édité 2 fois.
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Charles » Sam 11 Jan, 2020 23:22

Avec les cartes de la FAA stockées directement sur le bidule (i.e. pas besoin de connexion internet pour que ça marche) et, tant qu’à y être, une vue en perspective:

Image

Image
Dernière édition par Charles le Dim 12 Jan, 2020 12:45, édité 2 fois.
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar martint » Dim 12 Jan, 2020 00:23

Salut Charles,
C'est très impressionnant. Imagines que j'ai tout ce qu'il faut pour le faire, écran 7'', Pi3, GPS, Alti10 et j'ai pas eu le temps encore de compléter ta première version.
Je suppose que si je roule Ubuntu dans une VM (VirtualBox) sur Mac que ce sera OK aussi?? sinon, me trouverai bien une machine Win10 quelque part :-(

Encore bravo!
Martin
-----
Avatar de l’utilisateur
martint
Sérieux participant
Sérieux participant
 
Messages: 2177
Inscription: Ven 06 Juil, 2007 09:57
Localisation: Hangar vide :-(
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion: en mode recherche
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Charles » Dim 12 Jan, 2020 09:39

Je vois pas pourquoi ça marcherait pas. Je viens de mettre le code pour la carte avec le traffic sur BitBucket. Tu peux le cloner avec git avec ce lien: https://bitbucket.org/icysubzero/adsbma ... rc/master/

Ça te prendrait l’antenne 1090. J’ai acheté le bundle avec la 978 dans le but d’ajouter la météo plus tard: https://www.amazon.ca/Stratux-1090ES-UA ... T48KQX7YX3

Pour résumer, si quelqu'un souhaite se fabriquer un Raspberry Pi pour afficher le traffic ADS-B, il faudrait faire les choses suivantes:

- Commander les composantes:
-- Un Raspberry Pi3. Un kit de départ comme celui-ci par exemple: https://www.amazon.ca/CanaKit-Raspberry ... B01GW5LUD2
-- Une carte micro- SD de 32GB https://www.amazon.ca/Sandisk-SDSQUAR-0 ... 073JWXGNT/
-- Un écran tactile (à moins de vouloir brancher le Pi sur un moniteur via la sortie HDMI). J'utilise celui-ci: https://www.amazon.ca/Original-Official ... B073S3LQ6Q
-- Un clavier avec un connecteur USB (juste pour la configuration initiale -- n'importe quel clavier ferait l'affaire)
-- L'antenne ADS-B 1090 de Nooelec dont j'ai mis le lien plus haut

- Configurer tout ça grâce à ce document: https://docs.google.com/document/d/1Zn4 ... sp=sharing

- Downloader le code mis plus haut et compiler ça dans QtCreator.

Voilà! Une carte avec le traffic ADS-B pouvant être transportée dans l'avion (avec un adapteur https://www.amazon.ca/dp/B01GCOCMJY )
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar martint » Dim 12 Jan, 2020 17:30

Merci pour les liens des articles Charles. L'écran à l'air vraiment bien. J'en ai un de Waveshare, mais à considérer pour un prochain.
J'aime beaucoup le bidule chargeur USB 2.4A.....surtout tout aluminium.

Je suis pas encore très dégourdis en bitbucket, github et tout le tralala de plate-forme de partage de développement. J'ai essayé un git clone de ton lien https dans un répertoire local sur ma machine, mais il semble que des permissions soient requises.

git clone https://bitbucket.org/icysubzero/adsbma ... rc/master/
Cloning into 'master'...
Username for 'https://bitbucket.org': *********
Password for 'https://***************@bitbucket.org':
remote: Forbidden
fatal: unable to access 'https://bitbucket.org/icysubzero/adsbmapdisplay/src/master/':


Comme je dis j'ai possiblement manqué quelque chose et je continue à lire et me documenter sur la routine.
Martin
Avatar de l’utilisateur
martint
Sérieux participant
Sérieux participant
 
Messages: 2177
Inscription: Ven 06 Juil, 2007 09:57
Localisation: Hangar vide :-(
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion: en mode recherche
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Charles » Dim 12 Jan, 2020 20:45

(EDIT: Le fichier d'image du Pi est maintenant zippé et fait environ 10GB.)

Oops, mon erreur, ce que tu as fait aurait dû fonctionner. Ça devrait être accessible maintenant. Désolé!

Une alternative serait de prendre l'image de mon Pi avec le programme pour afficher la carte ADS-B et avec les cartes de la FAA installées. Avec ça, pas besoin de rien changer pour afficher le traffic. La procédure est assez simple:

1. Télécharger le programme Win32 Disk Imager d'ici: https://sourceforge.net/projects/win32diskimager/
2. Télécharger l'image du Pi d'ici (c'est très gros): http://flt.l5.ca/pi/piadsb.zip
3. Écrire le fichier piadsb.img sur la carte micro-SD du Pi
4. Installer la carte micro-SD dans le Pi
5. Brancher l'antenne ADS-B dans un port USB du Pi
6. Allumer le Pi. La carte géographique va apparaître et les cibles apparaîtront graduellement
Dernière édition par Charles le Mar 14 Jan, 2020 09:58, édité 4 fois.
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar martint » Dim 12 Jan, 2020 21:37

Woow,
C'est de la méga générosité Charles, rendu là c'est vraiment tout cuit dans le bec. ;-)

Je vais possiblement essayer les 2 méthodes, question d'en retirer le plus d'apprentissage possible. Encore merci! et je vais aussi commander les USB ADS-B avec antennes ainsi que le petit truc USB alu.

Martin
---
Avatar de l’utilisateur
martint
Sérieux participant
Sérieux participant
 
Messages: 2177
Inscription: Ven 06 Juil, 2007 09:57
Localisation: Hangar vide :-(
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion: en mode recherche
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Frank KKB » Mar 14 Jan, 2020 17:59

et même si vos échanges étaient en chinois...ce ne serait pas plus compréhensible pour moi :lol: :lol: :lol:

Mais je serais acheteur une fois le bidule au point :siffle: :siffle: :siffle:

François
Avatar de l’utilisateur
Frank KKB
Vrai participant
Vrai participant
 
Messages: 1478
Inscription: Lun 23 Mar, 2009 07:45
Localisation: St-Bruno
Possédez-vous une licence de pilote?: Oui
Marque de l'avion: Piper
Modèle de l'avion: Arrow II
Identification de l'avion: FKKB

Re: Bricolage d'hiver

Messagepar Charles » Mar 14 Jan, 2020 19:38

Mon objectif est justement de rendre ça très facile à assembler pour les non-experts. La procédure donnée plus haut (avec le fichier d'image du Pi) est à la portée de tout le monde.

Pour faire quelque chose de portable, il faut mettre tout ça dans un boîtier. Encore là, c'est rendu vraiment pas cher. Le logiciel Autodesk Fusion 360 est absolument génial et absolument gratuit! C'est beaucoup moins puissant que AutoCAD (de la même compagnie) mais 100 fois plus facile à utiliser et, pour les besoins d'un hobbyiste, est amplement suffisant. Donc j'ai dessiné ce petit boîtier très rudimentaire en 45 minutes environ:

Image

Et j'ai imprimé ça en 3D sur mon imprimante à 299$ (CAD). Voici le résultat:

Image


Prochaine étape: on s'en va voler!
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Charles » Mar 14 Jan, 2020 20:30

Je viens de faire une découverte vraiment intéressante: il existe une base de données mondiale gratuite qui permet de trouver tous les détails sur un aéronef correspondant à une adresse ADS-B donnée. Je mets ça dans mon "features backlog". C'est moins de 100MB. Donc pour les avions qui n'ont pas de callsign, le programme pourra afficher l'immatriculation de l'aéronef (et le nom du propriétaire tant qu'à y être) au lieu de son adresse hexadécimale. Ainsi on pourra appeler un aéronef proche par son nom (ou celui de son proprio!) plutôt que par "avion proche de Ste-Thècle à 1800 pieds"...

https://opensky-network.org/datasets/metadata/

Ça permet donc d'afficher le modèle de l'avion, son enregistrement et même le nom du propriétaire!

Image
Dernière édition par Charles le Sam 18 Jan, 2020 13:54, édité 1 fois.
Avatar de l’utilisateur
Charles
Toujours là!
Toujours là!
 
Messages: 4050
Inscription: Jeu 17 Déc, 2009 11:11
Localisation: CYHU
Possédez-vous une licence de pilote?: Oui
Marque de l'avion:
Modèle de l'avion:
Identification de l'avion:

Re: Bricolage d'hiver

Messagepar Mooney21 » Mer 15 Jan, 2020 14:22

C'est du Chinois pour moi aussi mais bravo les gars, vous êtes impressionnants.

Michel
Mooney21
Participant régulier
Participant régulier
 
Messages: 632
Inscription: Mar 17 Aoû, 2010 12:01
Localisation: Couronne nord de Montréal
Possédez-vous une licence de pilote?: Oui
Marque de l'avion: Van's Aircraft
Modèle de l'avion: RV-10
Identification de l'avion:

Précédente

Retourner vers Discussions générales

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités