Open Source French Drone Identification

Merci pour l’info ! Je vais vérifier tout ca

Bonjour ! @dev01fred d’abord merci pour ton dépot “GPS_Tracker_ESP8266” sur github ! c’est vraiment top, j’embarque ca sur un vieux TBS discovery… sur lequel je suis en train de faire pas mal de modifs.

Si le poste est mal placé, dites le moi !

J’embarque dessus une gopro hero 3, et j’utilise une librairie qui fonctionne avec ESP8266 pour la commander via wifi (pour d’autres applications). le dépot (pas de moi) est la : https://github.com/aster94/GoProControl
J’aimerai profiter de la balise sur le drone, qui du coup embarque le wifi, pour commander la gopro avec la radiocommande.
le truc c’est que je n’arrive pas à faire cohabiter les deux librairies !
des idées ? peut être que cela peut intéresser d’autres personnes…
Merci d’avance !

1 Like

Bonsoir,
L’application qui contrôle la GOPRO est basée sur une utilisation du WIFI en mode connecté avec une adresse IP alors que la balise émet des trames en mode BEACON, c’est-à-dire non connecté donc incompatible avec le mode précédent.
Fred

Bonjour Fred,
Merci pour ton retour, et désolé pour la réponse tardive, les fêtes, et d’autres tests sur mon application.
J’ai finalement réussi à le faire fonctionner, les trames sont toujours envoyées aux bons intervalles, et l’ESP8266 reste connecté à la gopro, pour envoyer des commandes.
l’astuce était dans le mode wifi de l’ESP, il faut le passer : WiFi.mode(WIFI_AP_STA)
Ce qui lui permet d’être un point d’acces (pour l’envoi de la trame beacon), et une “station”, pour se connecter en même temps au point d’acces généré par la gopro.
j’ai une ébauche de code, pas du tout fini, mais si ca interesse quelqu’un je pourrai le mettre en ligne ou le passer par message.
dans tous les cas, je vous souhaite à tous une très belle fin d’année !
Damien

1 Like

Bonjour Damien,
Merci pour cette astuce, je suis intéressé par le code.
Fred

Bonjour
Et merci de m’avoir fait découvrir un site du faite-vous-même avec le sujet de la fameuse balise …
Tout d’abord , je bricole un peu en arduino avec l’Ide , beaucoup dans le monde du géocaching , pour ceux qui connaissent , en créant une vingtaine de boites mystères fonctionnant avec des arduinos nano , donc le monde de l’arduino ne m’est pas inconnu .
Une de mes passions est l’utilisation de drone pour la photo aérienne et avec la réglementation antérieure , j’étais dans les règles .
Je possède plusieurs drones d’occasion ( budget de retraité oblige ) réparé , reconditionné et malheureusement un Phantom 3 Pro qui doit resté au sol , avec cette nouvelle réglementation .
Alors voilà , j’ai pas mal de questions concernant cette fameuse balise , que je veux faire évidemment .
J’ai déclaré tous mes drones l’année dernière , j’ai donc 3 immatriculations distinctes et un numéro d’exploitant .Et ma première question est sur le numéro d’indentification que me demande Alpha tango .Si j’utilise le cerfa_15963 ? et que mettre dans la case proposition de l’identifiant ? DJI ? et la suite ?
Si je suis sur le site d’Alpha tango je peux choisir d’abord DJI et après ? je tape ce que je veux ? ou je prend le numéro d’enregistrement du drone style UAS-FR-169xxx ou le numéro de série du drone ?

Bref , je n’ai trouvé nul part un petit pdf avec explication …je pense qu’ici j’aurai quelques infos .

Voilà pour ma première question …les suites arriveront vite et seront au niveau des différents composants à se procurer pour la construction de la balise , surtout le choix le plus simple car j’ai lu qu’il pouvait y avoir plusieurs possibilités .
mes 73 ’ pour certains et amitiés pour les autres
Patrick

Bjr
J’ai relu plus attentivement les commentaires et finalement on peut mettre ce que l’on veut sur Alpha Tango . j’ai donc enregistré le P3P avec un ID cohérent style DJI P3P UASFR169etc…
…et j’ai trouvé DIY dans la liste des trigrammes …ce sera pour un drone fait maison .
Je vais passer commande de plusieurs ESP et BN180 ou 220 et charger en attendant les librairies qui vont bien , j’espère …

Bonjour,

Je souhaite porter la fameuse balise sur un “m5stickC” esp32 autonome avec display intégré
j’ai récupérer les codes sur http://icnisnlycee.free.fr
en modifiant le emetteur_balise.ino je bloque sur l’ajout de
#include <M5StickC.h> M5.begin();
Cela provoque des erreurs de compilation lies à droneID_FR.h et « chrono »
“c:\users……\ 1.22.0-80-g6c4433a-5.2.0\xtensa-esp32-elf\include\c++\5.2.0\chrono error: macro “min” requires 2 arguments, but only 1 given
{ return duration(duration_values::min()); }”

mon niveau de compétence est dépassé.
est ce que quelqu’un peut aider ?

Keep safe

Bonne nouvelle, on peut vérifier la trame émise par la balise directement avec un smartphone. L’ESP8266 permet d’abriter un serveur WEB accédant aux données GPS en même temps que s’effectue l’émission de la trame de la balise ici affiché sur un TTGO :

La dernière version de la page obtenu depuis un smartphone ici un Iphone.
Comme bonus, j’affiche la vitesse max du modèle durant le vol :

oui tout à fait.
Pour la version décodeur c’est pareil, on peut utiliser un server web pour afficher les balises détectées, voir même les afficher sur une carte pour ceux qui ont assez de mémoire !

Bonjour,
Encore merci pour ce code bien documenté, as-tu un lien sur ce décodeur avec serveur WEB qui produit un affichage sur carte, pour le moment je ne connais que l’APK de Julien Launay qui s’appuie sur Appinventor et un décodeur qui réémet en BLE la trame décodée.
Est-ce lié au travail de Patrick Arnoul dans l’environnement Mavlink/Mission planner ?

Pas du tout ! J’ai partagé qu’un partie des codes que j’ai réalisé. Malheureusement, je ne peux pas partager la version décodeur pour l’instant. Mais le principe est le même que code que tu viens de présenter : tu fait tourner un server web sur point d’accés en parallèle du sniffer de trame ! Sur le serveur, tu envois juste une application JS de carte qui plotte les balises (avec websocket ou autre) et profite de la connexion internet du téléphone via 4G pour avoir la carte.

Bonsoir, j’ai suivi tes indications et après 3 jours d’apprentissage et de tâtonnement, je commence à avoir un résultat prometteur.

1 Like

Bonjour

Y a t’il une version compatible Mavlink déjà développée quelque part ?

Merci

Bonjour à tous,
c’est mon premier post ici…
merci déjà à tous pour ce travail fabuleux qui est fait sur ces balises!

je me suis permis de reprendre un peu les devs, pour les adapter à mes besoins…
voilà ce que j’ai fait:

j’ai dans un premier temps fait en sorte que le projet s’adapte aux deux cartes (esp01 (ou esp01s c’est pareil mais c’est mieux), et esp32) et donc il n’y a plus qu’un unique projet maintenant, avec deux fichiers: balise_dgac_web.ino et droneID_FR.h

pour passer d’une carte ESP à l’autre (pour ceux qui ne sauraient pas faire… désolé pour les autres):
commentez/décommentez en début de code:

là c’est la carte ESP01 (ou ESP01S c’est pareil, ne pas modifier les textes, juste enlever les // et les mettre dessous ou dessus)
//choix de la carte entre esp32 ou esp01
#define CARTE ‘esp01’
//#define CARTE ‘esp32’

et là la carte ESP32
//choix de la carte entre esp32 ou esp01
//#define CARTE ‘esp01’
#define CARTE ‘esp32’

puis changez votre type de carte dans arduino, menu “outils”, “type de cartes”
de mon côté j’ai choisi entre deux modèles, soit WEMOS D1 MINI ESP32 pour esp32 soit Generic ESP8266 module pour esp01 ou esp01s

pour info, les paramètres qui marchent chez moi sont une vitesse de 115200 pour les transferts, et surtout pour le flash size, No OTA pour la esp32 et "1M (FS:512KB OTA:~246KB) -> car là pas d’option no ota…

j’ai ajouté un petit site web dans la balise, comme la NAVEO :slight_smile:
dès que la balise est initialisée, et que le wifi dessus fonctionne, on peut se connecter dessus (le wifi, selon le nom que vous donnez à l’AP), et aller avec un navigateur à la page suivante:
http://192.168.1.1/
l’adresse est fixée en dur dans le code c’est plus simple ensuite.

vous allez arriver sur une page qui va vous donner des indications sur le fonctionnement de la balise.
alors bien sûr on ne saura pas si la trame est bien émise, ça c’est contrôlable avec l’appli smartphone, mais par contre on saura pourquoi ça marche pas… et comment ça marche, voilà des exemples (le site est moche mais c’est pas un concours de beauté ahahah)

ci-dessous tout va bien, on voit la trame émise, en hexa, j’ai pas converti parce que finalement c’est pas utile, puisque ce sont les infos qu’on retrouve forcément dans les autres parties de la page:

et là, un autre problème:

le bouton de reboot sert à rebooter la balise, c’est pratique une fois tout soudé et caché dans le modèle…
quand la balise a réussi une première fois à faire son fix, on stocke la position de départ, et le site l’affiche
enfin, au niveau de la led bleue, tel que je l’ai programmée, elle est bleue quand tout va bien, et elle est éteinte si ça ne fonctionne pas.
elle clignote au début en init, puis brièvement au moment de la définition de la position de départ, puis brièvement à chaque émission de la trame. d’un seul coup d’oeil on sait si ça va, et si ça va pas on peut voir sur le site pourquoi…

Le téléchargement des sources est ici:

https://www.tranquille-informatique.fr/perso/aeromodelisme/balise-dgac/balise_dgac.zip

je n’ai pas d’espace git ou autres donc je fais comme ça, si quelqu’un du projet de départ veut le stocker mieux que ça, il peut bien sûr.

il y a dedans ce zip le projet balise adaptée aux deux cartes, le projet récepteur qui récupère la trame émise et qui la transmets à l’appli smartphone en BT et dans lequel j’ai juste ajouté une petite partie quand on perd la connexion ça dit qu’on n’a plus reçu de trame depuis + de 6s, et l’appli smartphone que j’ai à peine modifiée (pour avoir le refresh de la trame car sinon quand on perdait la trame on gardait à l’écran la dernière reçue donc on ne savait pas trop… et là si on ne reçoit rien depuis + de 6 s ça l’indique, en gros).

n’hésitez pas à tester, et à critiquer c’est fait pour ça aussi! et à utiliser bien sûr si cette version vous convient.

1 Like

Bonsoir Khancyr, merci de super boulot que tu as fait avec ce code.
J’ai pu le faire cet été sans soucis, j’en ai sorti un petit tutorial sur mon site avec un boitier adapté aux Phantom4.
Dernièrement j’ai eu des questions concernant le fait de vérifier que l’émission était correcte, je me suis donc replongé dans tout ça (je suis novice en prog Python et j’ai découvert la carte grâce à toi) et j’ai réussi à utiliser le code et lire ma trame beacon.

Mais j’ai vu au fil des discussion que tu avais modifié ton fichier DroneID_FR.h, j’ai donc relancé l’injection du code dans ma carte.
Depuis j’ai ce “send beacon continue” dès que la carte capte assez de GPS pour fixer un point.

Avec l’astuce de Patrick de bloquer la mesure de distance j’ai bien maintenant une émission toutes les 3s, mais je perds la notion de distance…
Ton ancien code posait-il un vrai soucis qui le rende obsolète ?
Car là j’ai le choix de l’ancien code qui fonctionne parfaitement ou le nouveau qui fait un envoi du beacon en continue :frowning:
Mais en tout cas je peux dire que ta solution est vraiment parfaite, j’ai fais acheter par ma boite une solution “toute” faite" dont je ne dirais pas le nom, et si cette balise fait le même boulot, elle coute horriblement cher et il faut 2 minutes pour capter les GPS alors que la TT-Beam capte en moins de 30"

Bravo, très bon travail, la page Web permet un accès facile à une très grande richesse d’informations, c’est dense, précis et dynamique, la qualité du signal GPS est surveillée et renseignée en permanence.
Je note que ton critère de seuil pour définir le point de démarrage est plus bas que celui des devs pionnés : gps.satellites.value() < 4 || gps.hdop.hdop() > 5.0 contre gps.satellites.value() > 6 && gps.hdop.hdop() < 2.0 soit 3 satellites de moins et un HDOP en rapport.
Est ce qu’il existe une règle qui donne une idée de l’incertitude sur la mesure de position du GPS en fonctions de ces 2 paramètres ?

Merci, j’espère que ça servira :slight_smile:

pour les seuils non pas de règles précises, j’ai juste lu qu’il fallait au moins 4 satellittes,
pour hdop pareil j’ai été lire un peu, une mesure est bonne entre 5 et 6 et excellente entre 2 et 3, j’ai fait un mix donc.
et suite à mes multiples essais je me suis aperçu que comme ça, ça permettait de définir une position précise déjà donc voilà.

Si j’ai du temps, je vais mettre un mini site web aussi sur le récepteur, on verra…

1 Like

Ca ne m’intéresse pas qu’un peu!
Je suis presque dans le même cas que toi sauf que ma cam est une xiaomi yi, j’ai modifier un programme chargé de la déclencher par bouton pour que le déclenchement se fasse via PWM (photo ou vidéo selon la PWM).
Sur le même principe je trouvais ça dommage niveau poids d’embarqué un deuxième D1 mini.

Pourrais-tu m’indiquer ou trouver ton code?
Quel module gps à tu utiliser le BN220?

Je modifierais le code en remplaçant le code destiné à ta gopro par celui destiné à ma xiaomi et avec un peu de boulot là dessus ça devrait le faire.
Ou mieux, j’intégre le miens avec une variable qui sert au choix 0 = pas de caméra, 1 = gopro, 2 = YI.

Merci d’avance.

1 Like

peut-être dans les messages précédant, je ne me souviens plus. Mais ce n’est pas compliqué à faire et un bon exercice pour ceux qui veulent apprendre à coder un petit peu :stuck_out_tongue_winking_eye:

@Xav_YeYe, Sympa ! Excellent travail. C’est vrai que sur le code que j’ai donné, j’ai fait le minimun … j’aurai pu mettre plus de features comme le serveur embarqué … mais j’ai du aller vite et rester au plus simple. Par contre tu devrais apprendre à utiliser git. C’est vraiment un super outil de développement même pour les projets perso. Pour un dépot Github c’est une question de choix ! Au vu de tous les codes que les gens proposent ici, je me tâte à essayer de tout regrouper …

@JeromePouille, oui l’ancienne version avec deux erreurs donc j’ai du corrigé. Normalement, la gestion de la distance parcouru ne pose pas de problème avec un GNSS standard … sur les low cost ou en environnent perturbé, c’est sur que la précision va être moindre donc la mesure de distance parcouru plutot perturbé facilement. La carte TTGO était un example parce qu’elle a tout de dispo, mais il existe plein d’autre carte basé sur l’ESP qui fonctionnera aussi. La BALIZ est sympa aussi, Airbot System va sort une carte bien intégré aussi dans le même tarif.

@dev01fred, J’ai repris les valeurs qu’il y a dans ArduPilot, en aucun cas fixer plein de satellites ou avoir un hdop bas ne sont gage de bon positionnement … surtout avec des puces moyen de gamme comme les Ubox (je parle même pas des bn-xXx et autres puces acheté sur aliexpress). Cependant, je pense qu’il vaut mieux être un peu conservatif sur les valeurs GNSS que trop laxiste. Avoir 6 satellites est simple en Europe et permet normalement d’atteindre le 3D fix. Quand au hdop c’est pareil, atteindre 2 devrait etre simple en Europe. D’autant plus avec le support de Galileo … Je vous prépare un autre post de blog à ce propos !

3 Likes