Open Source French Drone Identification

I had the same thoughts about verifying the code while waiting for a board to arrive and had the same problems.with Platformio, probably because I’ve never used it before. In Arduino I had the same problem with Lora libraries. Having read through the code Lora is not defined and hence Lora.h isn’t called at compile and the sketch compiles without the Lora library. If you specificly need Lora then you will have to change thecode to use it. I had no problems with button2. I needed to include the board_def.h and droneID_FR.h files in the sketch using Sketch/Add File before it would compile.

Thankyou for taking the time and effort to develop this project.
Although the LoRa code is not defined or called in this sketch is the chip still powered? I’m using both 433 and 868mhz for telemetry and rc respectively and am concerned about interference from the TTGO T-BEAM.

Bonjour,

Très bonne initiative !

“ILLEGAL_DRONE_APPELEZ_POLICE17” :rofl:

@proficnc and I are actively working on remote ID hardware.

I sit on the ASTM working group for remote ID and on the subgroup that is looking at the radio specifications and requirements for broadcast remote ID.

There will options that meet the US requirements remote ID for the cube family of hardware. Commenting further on specifics of the hardware setup is more or less of a fool’s errand because the rules for the US aren’t final.

1 Like

What Jeff said above! Solutions are on the way as soon as the US actually locks down what it wants… for the EU, the ESP will do fine for now unless the rules change, in which case, we will adapt.

No need to stress peeps

Bonjour Pierre,

Pour l’ESP8266, j’ai pas regardé mais le sdk est trés similaire donc ça devrait fonctionner rapidement !

J’ai adapté le code avec le sdk esp8266 et cela semble fonctionner… ESP01 + GPS

Laurent

2 Likes

Solutions are on the way and we have Jeff on the panel that actually matters.

The hardware companies is just another FAA talkfest, it’s not a list of companies that will have special privileges.

We (Hex/ProfiCNC/CubePilot) are in communication with the FAA and we are confident that a solution will exist for all Ardupilot users.

Bonsoir Laurent,

Bravo pour le portage sur l’ESP8266, je me suis jeté sur votre dev et l’ai intégré sur un ESP01 avec un GPS à 9600 b/s. :smiley:
La partie décodage GPS fonctionne bien, la trame Drone_ID est bien constituée et si l’on en croit la fenêtre debug de l’Arduino IDE, tout fonctionne. Mais je ne suis pas convaincu que la trame beacon DRONE_ID soit réellement transmise…
J’ai un moyen de capture des trames beacon des AP Wifi (sur Raspberry Pi avec Wireshark), je vois bien les SSID des AP environnants, mais rien qui viendrait de l’ESP8266…
La fonction wifi_send_pkt_freedom() retourne 0, ce qui semble indiquer que tout va bien.

J’ai tenté d’autres modes Wifi du module ESP8266, SoftAP (et dans ce cas je vois les balises SSID avec l’adresse MAC de l’ESP01), remis WIFI_STA, mais toujours pas de balise Drone_ID…

Pierre nous montre le résultat sur Wireshark, mais avec quel OS peut-on vérifier si ça fonctionne, mon PC windows avec Wifi sur USB ne permet pas la capture des trames de management 802.11… :roll_eyes:

73 de f5hnk/Patrick

Bonjour Patrick,
Ici j’ai simplement utilisé le script python3 de la gendarmerie, il devrait fonctionner sur le Raspberry Pi.

73, Laurent

Bonsoir Laurent,

Ok, alors j’ai essayé le package de la Gendarmerie, mais j’ai en retour un “no such device” alors que j’ai spécifié l’interface wlan0 de mon Rpi3 wifi intégré (ayant modifié main.py en conséquence).
Je n’arrive pas à faire fonctionner airmon-ng sur cette interface… :neutral_face:

J’ai un Raspbian de 2016, je vais faire une carte SD avec un OS plus récent…

Merci pour les info,

Patrick

Regards sur mon github, j’ai aussi mis en ligne un package python pour faire le decodage des trames.
Si tu utilise wireshark, pense bien a te mettre sur le canal 6 sinon tu ne verras pas les trames beacon !

Bonsoir Pierre,

Ok, merci. Le problème est que mon interface wlan0 du Raspberry Pi3 (wifi intégré) refuse de se mettre en mode monitor. Avec arimon-ng, le message est clair (cannot set wlan0 in monitor mode).
Avec wireshark, quand je tente de mettre en monitor wlan0 dans le menu options, j’ai un core dump… :expressionless:
Je viens de faire une carte SD avec un Pi OS tout neuf, mais je ne peux toujours pas faire de la capture des trames de management (la capture Wireshark des flux standard est OK).
Je vais devoir me monter un PC linux avec un carte Wifi PCI…
Quel est ton matériel de test ?

Bonne soirée,
Patrick

Bonsoir
j’ai porté le code sous lolin32 , je vois bien la trame dans Wireshark, mais je ne comprend pas où sont les coordonnées GPS dans tout ça ?
Le python de la gendarmerie ne me dit que : module object has no attribute ‘dumps’
Merci à vous

Bonsoir Patrick,
Quel code avez-vous porté ? Si c’est le code de Pierre, le Wifi est en mode AP, il est possible de voir les balises de l’AP avec le SSID, ces balises se ressemblent, mais il n’y a pas les données Drone_ID dans la charge utile…
Sur quel équipement (OS) faites vous tourner Wireshark ?

Perso pour vérifier que ça fonctionne, j’ai du me monter un PC linux avec Debian10 afin de faire tourner le python de la Gendarmerie, impossible de passer l’interface Wifi du Rasperry Pi3 en mode monitor. Idem pour les dongle Wifi USB.
Avec une carte Wifi PCI dans le PC Debian ça fonctionne.

Et je vois bien mes trames de balise Drone_ID décodées par le programme de la Gendarmerie :smile:

J’utilise le code porté par Laurent sur le tout petit circuit ESP8266 ESP-01 relié à un circuit GPS M7N, c’est vraiment très compact, il faut quand même faire du 3.3 V avec un petit BUC 3.3 V pour alimenter le tout. :neutral_face:

Bon courage…

C’est le code de Pierre ue j’ai purgé des trucs spécifiques au TTGO. je lance le ReceptionInfoDrone sur un kali linux. je vois bien les trames dans wireshark et l’identification du module mais comment retrouver les coordonnées gps ?

comment visualiser les trames decodees ?
merci

Il faut récupérer le code de la gendarmerie sur :


Et le faire tourner sur une machine Linux avec une vraie carte réseau Wifi. Que répond ReceptionInfoDrone quand tu le lances ?

En voici le résultat chez moi (ça fait 3 jours que le montage tourne, mais je ne voyais pas les trames dans Wireshark)…

f5hnk@debian:~/ReceptionInfoDrone-master$ sudo python3 main.py
Lancement du script.
Lancement du mode monitor.
Mode monitor de l’interface wlp2s0
JSON du drone : {“1”:1,“2”:“DIY-PERSO-0123456789\u0000DRONE_ID_”,“4”:48.00001,“5”:1.00046,“6”:144,“7”:-14,“8”:48.00005,“9”:1.00051,“10”:0,“11”:347}
JSON du drone : {“1”:1,“2”:“DIY-PERSO-0123456789\u0000DRONE_ID_”,“4”:48.00002,“5”:1.00049,“6”:153,“7”:-5,“8”:48.00005,“9”:1.00051,“10”:0,“11”:347}
JSON du drone : {“1”:1,“2”:“DIY-PERSO-0123456789\u0000DRONE_ID_”,“4”:48.00003,“5”:1.00049,“6”:153,“7”:-5,“8”:48.00005,“9”:1.00051,“10”:0,“11”:347}
JSON du drone : {“1”:1,“2”:“DIY-PERSO-0123456789\u0000DRONE_ID_”,“4”:48.00002,“5”:1.00049,“6”:154,“7”:-5,“8”:48.00005,“9”:1.00051,“10”:0,“11”:347}
JSON du drone : {“1”:1,“2”:“DIY-PERSO-0123456789\u0000DRONE_ID_”,“4”:48.00002,“5”:1.00049,“6”:153,“7”:-5,“8”:48.00005,“9”:1.00051,“10”:0,“11”:347}

Dans wireshark, tu dois avoir des trames avec en vendor specific : direction general de l’armement. Ou un truc du genre. Sinon regarde sur le readme du programme python que j’ai fait. J’y explique comment voir les trames avec wireshark et le python est assez explicite pour le decodage

Bonsoir Pierre,
Perso, j’ai du mal à capturer les trames de management 802.11 avec Wireshark, il faut pouvoir mettre la carte Wifi en mode monitor et sur mon PC linux, ça ne vaut pas rester en monitor.
Par contre, la suite aircrack-ng sur laquelle est basé le code de la Gendarmerie bascule bien la carte en monitor, donc là ça fonctionne.
Il faudrait interfacer le code de la gendarmerie avec GoogleEarth pour voir la position du drone sur un fond de carte…
Je suppose que la Gendarmerie développera une appli pour smartphone de ce type…
Bonne soirée,
Patrick

Bon, j’ai installé la version de F5SOH, et pareil le ReceptionInfoDrone que je lance maintenant avec python3 (avant j’avais le module object has no attributes) me répond
Lancement du script.
Lancement du mode monitor.
Mode monitor de l’interface wlan1
JSON du drone : {“92”:""}