Open Source French Drone Identification

C’est dommage, l’Esp-01 est vraiment minimaliste, c’est son point fort, mais j’aime pas trop son encombrant râteau 8 broches et l’alim qu’il faut ajouter.
Mais bon, il va falloir faire avec, tous les Esp-xx sont en 3.3V.
Edit: Ceci-dit mon FC Matek F722-SE peut fournir royalement jusqu’à 200mA sur le 3V3, ça devrait suffire pour un Esp-01 qui consomme autour de 80mA :slightly_smiling_face:

Capture

L’utilisation d’un régulateur surdimensionné comme tu peux le voir sur pas mal de montages à base d’esp8266 n’est pas un hasard.

Voici un relevé de courant d’un esp32 lors de l’émission de la trame wifi.
1mV -> 1mA
La largueur du pic de courant est de 230us environ.

Merci pour cet oscillogramme très instructif et mauvaise nouvelle pour moi, apparemment, les esp8266 sont dans les mêmes valeurs de pics transitoires de courant : https://www.ondrovo.com/a/20170207-esp-consumption/
En principe cela se règle par une capa mais visiblement, la fréquence de ces pics pose problème et il faut donc pouvoir fournir ~500mA !
Je dois donc utiliser le fameux AMS1117 qui fournit 1A.

Bonjour
Un grand merci aux développeurs qui ont rendu possible cette balise DIY.
J’ai réalisé le montage du SP-01 (merci f5soh Laurent pour la portabilité) sans aucun problème.
Par contre pour ce qui est de lire la Trame pour voir si tout est Ok pas facile.
J’ai installé un Kali Linux 2020.2 sur mon PC et le nécessaire pour lire la Trame.
J’ai eu le même problème que Patrick Anthropo j’avais en écoute que JSON du drone : {“92”:""} je me suis souvenu avoir lu ça sur les retours.
Après avoir fait la modification de"Khancyr"qui dit :
Le programme de la gendarmerie a une erreur quand on utilise une version récente de scapy (qui est le logiciel python utilisé pour décoder les trames), voir ici https://github.com/GendarmerieNationale/ReceptionInfoDrone/pull/2
Le script fonctionne à présent.
Ma quéstion est faut-il garder ce json.py modifié ou l’original car la réponse de la maréchaussée :
Bonjour,
Merci @khancyr pour votre contribution.
Afin de préciser quelques détails supplémentaires, nous avons mis à jour le README.
Ce projet permet simplement de tester les trames de drones afin de s’assurer qu’elles sont conformes à l’arrêté. Le script fonctionne avec les dépendances décrites dans le README et n’a pas vocation à fonctionner avec d’autres versions.
Si vous souhaitez que ce sciprt fonctionne, merci d’utiliser les versions demandées.
Laurent est-ce que ton code fonctionne avec le script original de la gendarmerie ?
Je ne sais pas quelle version de Scapy la gendarmerie utilise “Les autres dépendances sont présentes dans le projet, et il faut les utiliser (comme par exemple pour scapy : uniquement la version modifiée du projet).” merci à tous.

Bonsoir François,
Que ce soit avec la version originale, la version modifiée pour utiliser le Scapy de l’hôte ou avec le sniffer le résultat est conforme à ce qui est demandé. Pas de souci normalement.

Vous me conseillerez quoi comme batterie pour faire fonctionner une version ESP01 Autonome environ 4/5h ?

Une LiPo 2S et 800/1000mAh devant le régulateur 3,3V ça devrait aller.

Je n’arrive pas à vérifier le code, donc, inutile de tenter le téléversement.
Il y a des erreurs,

Quelqu’un a une idée concernant ce qui pourrait causer mon problème ?
merci

Là tu as récupéré un peu de tout… pas étonnant que cela ne fonctionne pas.
balise_esp32 (en html) et les fichiers MSP

Sur Github, toujours récupérer l’archive avec “Get code” (en vert) > “Download Zip”
https://github.com/f5soh/balise_esp32/archive/master.zip (enregistrer en balise_esp32.zip)
ou
https://github.com/f5soh/balise_MSP/archive/master.zip (enregistrer en balise_MSP.zip)

Et décompresser dans un nouveau dossier. (balise_MSP ou balise_esp32)
suivant ce que tu veux bien sûr, soit la balise MSP ou avec le GPS

les esp32 que j’ai reçu ont un N8M :slight_smile:

Pourrais-tu mettre une photo, stp.

Merci Laurent :+1:

Il faut dire que je ne connais pas trop environnement Arduino et ses possibilités. Je ne parle même pas de programmation, mis à part le Basic il y a 40 ans et le langage de ma calculatrice programmable que je n’ai pas utilisée depuis de nombreuses années, je suis largué.

En fait, on a un fil très instructif, ou il y a eu beaucoup de développement de la part de certains d’entre vous pour le bien de la communauté. On est passé du début, un module TTGO Tbeam à 25 € à des ensembles coûtant moins de 10 €, voire 2 € si on récupère les datas de son GPS Naza ou MSP. Par contre, c’est disséminé un peu partout, et pas toujours facile de faire le tri, surtout pour les personnes comme moi qui découvrent tout ça.

Hier, j’ai essayé de programmer mon module ESP 01 (https://fr.aliexpress.com/item/32808738325.html), mais je n’y arrive pas. Après le problème de la librairie manquante, c’était le choix de l’ESP qui n’était pas le bon. Il fallait choisir ESP8266 et non ESP01 dans la carte Arduino. Bref, plein de petites conneries du genre, qui font que ça marche pas. Choses évidentes pour les initiés, mais beaucoup moins quand on découvre.

Je ferai bien un tuto pour chaque modèle et application pour que tout le monde soit capable de faire soit même son module, mais je ne suis pas sur de mes informations et méthodes. La preuve, si maintenant, grâce à toi, j’arrive a vérifier le code, j’arrive pas à le téléverser dans la carte. Ça plante. J’avais oublié d’installé le driver USB serial CH340, puis après, c’était pas le bon port USB. Maintenant, c’est bon, mais ça plante encore. J’ai bien glissé le switch de mon programmer sur “prog”, mais j’ai le message d’erreur :
" esptool.py v2.8

Serial port COM13

Connecting……____Traceback (most recent call last):

File “C:\Users\Tiger\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/upload.py”, line 65, in

esptool.main(cmdline)

File “C:/Users/Tiger/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py”, line 2890, in main

esp.connect(args.before)

File “C:/Users/Tiger/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py”, line 483, in connect

raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))

esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
[/details] "

J’aurai bien aimé au moins essayé sur son adaptateur. J’attends mes AMS 1117, mes résistances CMS et mon ESP32 pour vérifier les trames. J’irai chercher les condo chez Lextronix à coté de chez moi (ils ont pas de CMS et les AMS 1117).

En tout cas, merci de ton aide, mais aussi de ton ceux qui travaillent pour avoir des balises qui nous permettront de continuer à voler, sans debourser 120/150 € par module, mais seulement une petite dizaine. Ça change la donne :wink:

Bonjour Patrick
Pouvez-vous donner les explications détaillées pour arriver au résultat final.
Cela m’intéresse et pas trouvé de documentation sur le Net
Je parle du log transformé en Excel et de la suite.
Merci
J’ai fait voler mon montage M7N + ESP-01, et capturé les trames avec le code de la Gendarmerie. Ne sachant pas quoi faire des éléments JSON, j’ai utilisé Excel et un convertisseur vers kml.EarthPointExcel_195428.zip (7.4 KB)

Bonjour!

j’ai reçu mes ESP32 T-BEAM TTGO LORA 433MHz NEO-M8N GPS… :slight_smile:
Apparemment ça se programme via le port USB. 'y’a même un petit écran OLED qui peut se plugger dessus (pour débugger par exemple).
Je voulais savoir ce que vous utilisiez comme environnement de développement.
J’ai téléchargé l’IDE Arduino mais il ne prend pas en compte ce genre de board (normal il ne reconnait que les boards Arduino :wink: )
Avez-vous un environnement à me conseiller pour compiler et charger le code pour les ESP32?

Merci pour votre aide!

PS: Pourquoi j’ai choisi ce board? en fait parce qu’il est autonome et peut être placé sur n’importe quel multi/avion/planeur. Comme il faut une balise par groupe et non par modéle on peut utiliser la même balise pour tout les multi et une 2éme pour tout ce qui est avion/planeur.
De plus avec son émission en 433MHz on peut s’en servir en cas de perte pour le retrouver avec un board ESP32 servant de tracker GPS. Pour ceux qui font du vol de pente on peut même utiliser un ESP32 en 868MHz pour détecter les vrais planeurs arrivant sur zone ayant un module FLARM :wink:

Salut,
Tout d’abord un grand bravo aux auteurs.
Il me semble qu’il y a cependant une petite erreur dans le code de la librairie drone_
ID_FR.h.
La loi demande un envoi si la distance parcourue est plus de 30m en moins de 3s. donc une vitesse de plus de 10m/s soit 36km/h tous les 30m.
Mais si on regarde le détail du code, il me semble que ce n’est pas ce qui est fait.
En effet, si on analyse la méthode set_lat_lon(double lat, double lon), on s’aperçoit qu’il y a une addition de toutes les distances parcourues entre 2 acquisitions. Du coup, comme les GNSS ne sont pas super précis, l’addition arrive très vite à déborder de 30m, quand bien même l’aéromodele n’a pas bougé d’un cm!
Il me semble qu’il qu’il faudrait plutôt prendre un point de départ, puis calculer la distance par rapport à ce point de départ.
Du coup, j’ai pu vérifier que la trame est envoyée sans arrêt, donc pas très cool et ça consomme de l’énergie.
D’autre par, je ne vois pas l’intérêt de redéfinir une méthode distanceBetween(double lat1, double long1, double lat2, double long2) qui existe déjà dans tinyGPS++
Mais mon raisonnement est peut-être erroné.
Bye.

julien

J’essaie de tester le decoder.py sur rapsberry pi3.
La commande
sudo apt install airmon-ng
ne fonctionne pas. J’ai plutôt fait
sudo apt-get install aircrack-ng

Puis lorsque je fais:
sudo airmon-ng start wlan0

j’ai une erreur, la commande pour passer en mode moniteur ne fonctionne pas.
voici le message d’erreur:
Found 5 processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to run ‘airmon-ng check kill’

PID Name
362 avahi-daemon
370 wpa_supplicant
388 avahi-daemon
392 dhcpcd
463 wpa_supplicant

PHY Interface Driver Chipset

phy0 wlan0 brcmfmac Broadcom 43430

ERROR adding monitor mode interface: command failed: Operation not supported (-95)

Si vous avez une solution pour passer en mode moniteur une carte wifi sous raspberry pi3. Merci.
Julien

A priori ce serait la carte Wifi du rapsberrypi 3 qui ne le permettrait pas? :frowning:

C’est bien ce qui me semblait. J’ai récupéré une vielle clé usb wifi, et à priori ca devrait fonctionner.
Voici le résultat après la commande:
sudo airmon-ng start wlan1

PHY Interface Driver Chipset

phy0 wlan0 brcmfmac Broadcom 43430
phy1 wlan1 rt2800usb Ralink Technology, Corp. RT2070

            (mac80211 monitor mode vif enabled for [phy1]wlan1 on [phy1]wlan1mon)
            (mac80211 station mode vif disabled for [phy1]wlan1)

wlan0 ne peut pas être mis en mode moniteur.

Bonsoir Julien,

Sujet déjà abordé au post #98

Le script de la Gendarmerie est sensé fonctionner avec un raspberry.
Voir la proposition de Pierre si la version scapy du système est plus récente.

Lire attentivement le Readme, il y a les explications pour Arduino et PlatformIO.

1 Like