Open Source French Drone Identification

Pour l’erreur de compilation: peut être pas la bonne version du SDK 8266. J’ai un IDE 1.8.13 et une version de cartes ESP8266 2.7.4

j’ai un IDE 1.8.8 et la version generic 8266, j’ai réussi a compiler en supprimant les lignes défectueuses par contre impossible d’augmenter le rate a 200ms (5hz) comme pour le code de fred, (malgré la même base), un liens avec les fichiers d’options ? même en jouant avec j’ai pas réussi à upgrade la conf au démarrage.

tu aurais un export portable de ton IDE pour que je puisse tester ? (avec les librairies ?) @fanfanlatulipe26

Je ne comprends pas ce qu’est “un export portable de ton IDE”.
Peux tu vérifier la version du soft spécifique EP8266 que tu as:
Outil/type de carte/Gestionnaire de carte et rechercher ESP8266

la 2.6.2 je pense

Ton problème vient de là.
Voir https://github.com/esp8266/Arduino/releases et https://github.com/esp8266/Arduino/pull/7134
Rechercher “chunk”
La mise à jour se fait pat le gestionnaire de carte et il est parfois préférable d’effacer avant l’ancienne version du sdk qui est pour toi dans:
C:\Users???\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.2

Merci ! @fanfanlatulipe26 une fois mis a jours tout compile au top ! , j’ai pu faire mes modifications sans soucis du coup avec une base de code propre :wink: top en tout cas ! je follow le projet de pret, si jamais tu à besoins de testeurs hésite pas ! (idem pour @dev01fred ed ou les autres d’ailleurs ^^).

Bonjour à tous

pour ceux qui utilisent mes sources, je tiens à vous signaler ceci:
j’ai modifié le code de “mon” récepteur (je dis “mon” car c’est plus simple, vous voyez de quoi je parle et il est évident que j’ai travaillé sans réinventer la roue) pour qu’il puisse voir les trames naveol et les autres (il y avait un souci sur l’ancien qui ne voyait que ses propres trames…)

J’ai utilisé le code de ardisoft (http://www.ardisoft.com) avec son accord, pour la partie récupération du contenu des trames, pour info.
Une personne a testé sur naveol et autre, tout est ok…

J’ai mis à jour ma page web, et j’ai généré un fichier zip qui contient un package complet (balise, récepteur et smartphone)

Attention, les gros changement en plus sont que la balise c’est que du esp01 (base 8266 donc), optimisée niveau conso, et le récepteur que esp32.

Le fichie zip a changé de nom pour qu’il n’y ait pas de confusion:

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

et sinon bien sûr plus d’info sur ma page:

https://www.tranquille-informatique.fr/modelisme/divers/balise-dgac-signalement-electronique-a-distance-drone-aeromodelisme.html

ceux qui le peuvent encore, je vous conseille de téléverser ces versions, je ne pense pas qu’il y aura d’autres évolutions de mon côté… peut-être dans l’appli web pour filtrer sur une balise mais pas sûr :slight_smile:

attention à bien prendre le zip de 18H17 dans lequel j’ai corrigé un défaut de précision du gps au niveau du récepteur…

bonne journée

Bonjour à tous,
j’ai un peu de mal à faire la synthèse de cette foison de versions et de supports. J’ai déjà fait des balise et des récepteurs avec réception via apk, la dernière à l’aide de http://icnisnlycee.free.fr/index.php/57-nsi/projets/75-balise-de-signalement-pour-aeronefs-sans-personne-a-bord
Mais j’ai cru voir qu’il était possible de faire une balise au sens réglementaire et de profiter de la position gps pour l’envoyer en sport sur mon récepteur frsky.

Quelqu’un l’aurait-il fait et pourrai me guider vers un tuto ou un github ? C’est ça ou il y en a d’autres ?

D’autre part est ce que quelqu’un a déja testé la portée en vol d’une balise à base d’esp ?

Merci à vous

Ben oui c’est ça ! sinon il existe une balise de chez Educadrone qui a fait cette fonction https://frskytaranis.forumactif.org/t11665p75-dgac-construire-sa-balise-de-signalement#126679.
Pour ce qui est de la liaison de télémétrie GPS avec la balise, la liaison smartphone/balise est non seulement trop lente avec une période d’échantillonnage des points GPS de 3 secondes mais la porté est très faible surtout sans antenne en tout cas bien moins bonne que via une connexion S.port.

Et un dernier petit projet qui ajoute une sortie MSP vers une caméra DJI FPV Air Unit ou Caddx Vista, ce qui permet d’afficher les infos provenant du GPS de la balise dans l’OSD d’un casque DJI : https://github.com/dev-fred/GPS_Tracker_ESP8266/blob/main/GPS_Tracker_ESP8266V1_WEB_FRSKY_OSD-DJI-AIR-UNIT


On reçoit :
La latitude, la longitude
Le nombre de satellites (clignote tant que la position de départ n’est pas définie)
La vitesse sol
La direction du point de départ
La distance au point de départ

La partie FRSKY, également connectée, envoie les données de télémesure à la radio. Ce projet nécessitant 2 UARTs utilise un NodeMCU de la famille ESP8266.

Ce projet s’appuie sur un projet Ardupilot : https://github.com/d3ngit/djihdfpv_mavlink_to_msp_V2

Testé et approuvé.
Reste la question de la portée : quelqu’un a t-il testé ?
Merci

Boujour, dans le code Decode_balise_ESP32, je me suis posé une question sur la ligne de code suivante :
//Filter OUI from 6A:5C:35
if (snifferPacket->payload[offset_OUI + 1] != FRAME_OUI[0] && snifferPacket->payload[offset_OUI + 2] != FRAME_OUI[1] && snifferPacket->payload[offset_OUI + 3] != FRAME_OUI[2])

Je pense que cette forme serait plus correcte, puisque on cherche différent de, donc OU et pas ET

if (snifferPacket->payload[offset_OUI + 1] != FRAME_OUI[0] || snifferPacket->payload[offset_OUI + 2] != FRAME_OUI[1] || snifferPacket->payload[offset_OUI + 3] != FRAME_OUI[2])

Qu’en pensez-vous?

C’est vrai que NON ((A==6A ET B==5C ET C==35) VRAI ) = (A!=6A OU A!=5C OU C!=35) FAUX
Cependant les 2 expressions permettent un filtrage correcte de la séquence OUI , c’est le test qui le dit Sans doute parce que dés que l’on a 6A à l’offset offset_OUI+1 on a nécessairement une trame OUI complète.

//Filter OUI from 6A:5C:35
int OU=1;int ET=1;
if(snifferPacket->payload[offset_OUI+1] != FRAME_OUI[0] || snifferPacket->payload[offset_OUI+2] != FRAME_OUI[1] || snifferPacket->payload[offset_OUI+3] != FRAME_OUI[2]){ Serial.print("OUI-OU != NOK ");OU=0;}
if(snifferPacket->payload[offset_OUI+1] != FRAME_OUI[0] && snifferPacket->payload[offset_OUI+2] != FRAME_OUI[1] && snifferPacket->payload[offset_OUI+3] != FRAME_OUI[2]){ Serial.println(“OUI-ET != NOK”);ET=0;}
Serial.println();
if ((OU==0) || (ET==0)) {return;}

if(snifferPacket->payload[offset_OUI+1] == FRAME_OUI[0] && snifferPacket->payload[offset_OUI+2] == FRAME_OUI[1] && snifferPacket->payload[offset_OUI+3] == FRAME_OUI[2]){
Serial.print("OUI-ET == OK ");
Serial.print("OUI+1 “);Serial.print( FRAME_OUI[0],HEX);Serial.print(” OUI+2 “);Serial.print( FRAME_OUI[1],HEX);Serial.print(” OUI+3 ");Serial.println( FRAME_OUI[2],HEX);}
Serial.println();

if(snifferPacket->payload[offset_OUI+1] == FRAME_OUI[0] || snifferPacket->payload[offset_OUI+2] == FRAME_OUI[1] || snifferPacket->payload[offset_OUI+3] != FRAME_OUI[2]){
Serial.print("OUI-OU == OK ");
Serial.print("OUI+1 “);Serial.print( FRAME_OUI[0],HEX);Serial.print(” OUI+2 “);Serial.print( FRAME_OUI[1],HEX);Serial.print(” OUI+3 ");Serial.println( FRAME_OUI[2],HEX);
}

22:23:18.232 → OUI-OU != NOK OUI-ET != NOK
22:23:18.232 →
22:23:18.326 → OUI-OU != NOK OUI-ET != NOK
22:23:18.326 →
22:23:18.326 → OUI-OU != NOK OUI-ET != NOK
22:23:18.326 →
22:23:18.326 → OUI-OU != NOK OUI-ET != NOK
22:23:18.326 →
22:23:18.373 →
22:23:18.373 → OUI-ET == OK OUI+1 6A OUI+2 5C OUI+3 35
22:23:18.373 →
22:23:18.373 → OUI-OU == OK OUI+1 6A OUI+2 5C OUI+3 35
22:23:18.373 → ID: ILLEGAL_DRONE_APPELEZ_POLICE17 LAT: 48.78141 LON: -3.03455 ALT ABS: 12 HAUTEUR: 0

Edit: j’ai mis à jour mes programmes

Bonsoir,

Tout d’abord bravo et merci aux contributeurs de ce projet !

J’ai assemblé une balise à l’aide de ce modèle d’ESP8266 (ESP-WROOM-02) :
https://fr.rs-online.com/web/p/modules-wlan/1359773/
J’utilise un GPS TBS M8.2 et une alim Traco 3.3V1A

J’utilise le code de Francis https://github.com/fanfanlatulipe26/BaliseDGAC_GPS_Logger

J’ai effectué des tests avec la réception du Github de la Gendarmerie et une carte Alfa AWUS036NHA et une grande antenne.

La réception à fonctionnée à plus d’un km en vol à 50~100m sol.
La balise est montée dans un moto-planeur en bois et est callée entre l’accu et l’esc, avec l’antenne qui dépasse un peu au-dessus de l’accu.

Jean-Philippe

Edit : ESP8266 pas ESP32

Je n’avais pas essayé mon code sur un ESP32. Tu as fait des modifs ??
Je suis entrain de faire des modifs pour générer aussi une trace GPX. L’enregistrement de la trace ne sera plus synchrone avec l’envoi de la trame Beacon mais on pourra choisir la longueur du déplacement qui provoque l’enregistrement d’un point.
Je me bats avec le GPS pour avoir des mises à jour à 10hz et tester si un enregistrement rapide de nombreux points ne perturbe pas trop la fréquence d’émission des trame Beacon …J’ai un comportement très bizarre du GPS qui semble renvoyer de temps en temps une longitude 0.0
A suivre !.

Bonsoir,

Le fait d’avoir un serveur WIFI ne perturbe pas le récepteur ?
Sur la doc de la balise NAVEOL il est spécifié qu’il y a des risques et ils déconseillent de voler avec le 2ème canal WIFI actif

Qu’en pensez-vous ?

Philippe

Edit : J’utilise un ESP8266 pas un ESP32

Je n’ai pas fait de modif particulière, simplement changé la pin GPS_RX_PIN de 0 vers 13

Voici ma config dans arduino :

Concernant la trace GPS j’ai du ajouter des décimales dans les latitudes et longitudes pour qu’elle soit exploitable.
Dans fsBalise.cpp, j’ai modifié la ligne 301 :
logMessage = String(gps.location.lat()) + "," + gps.location.lng();
par
logMessage = String(gps.location.lat(), 6) + "," + String(gps.location.lng(), 6);

Autrement tout fonctionne, l’AP, programmation OTA, enregistrement des traces et bien sûr la trame wifi.

Petite précision, ta carte est basée sur un ESP8266 et pas sur un ESP32

Bonjour Philippe,

En effet la balise Naveol coupe le point d’accès wifi après 30s de fix GPS d’après la notice, et recommande de ne pas voler avec le point d’accès actif.
C’est une très bonne recommandation et d’une manière générale il faut éviter les sources de perturbation du lien RC.

Dans les essais que j’ai fait avec l’ESP8266 et le code open source je n’ai pas constaté de différence particulière avec et sans balise au niveau du retour du RSSI de la radiocommande FrSky.
Cela ne signifie pas qu’il n’y à aucune perturbation dans toutes les situations.

Lorsque la balise ESP8266 est présente dans le modèle le point d’accès est actif en permanence.
On à pu se connecter depuis un smartphone et lire les infos sur la page web de la balise avec le modèle en condition de vol à environ 30~50m, sans constater de problème particulier avec la RC.

En vol je me suis éloigné à environ 300m de moi. La réception wifi était posée chez moi soit à environ 1km avec vue directe sur le modèle.

J’ai tenté de modifier le code pour éteindre le point d’accès sur l’ESP8266 mais sans succès pour le moment.