Ou comment l'association GEBULL, petit GUL de province, a contribué à une étude scientifique.
À la fin du mois de novembre 2021, une balise de suivi d’oiseau nous a été confiée par le Groupe Ornithologique des Deux-Sèvres. Muette depuis 4 ans sur le dos d’une outarde canepetière, perdue pour la science mais recapturée dernièrement, nous avions pour consigne d’en extraire coûte que coûte les dernières données relevées.
Vue de la balise (presque) à son arrivée (on ne devrait juste pas voir la batterie dépasser).
Marquages lisibles :
Bird Tracking
Finders reward 25 EURO !!
Bts_v1.6_rev1.1 Nov. 2008
Les outardes sont des oiseaux migrateurs et protégés (symboles de la lutte contre l’accaparement de l'eau par les exploitants de mégabassines agricoles dans les Deux-Sèvres). Ils passent l’hiver dans le sud de l’Espagne ou du Portugal et sont suivis en France entre autre par le CNRS, et dans les Deux-Sèvres par le GODS, depuis plus de dix ans. Notre petite boîte à trésor avait donc beaucoup voyagé.
Au premier abord, la chose ne semblait pas aisée : il s’agit d’un dispositif extrêmement léger, valant (neuf) plusieurs milliers d’euros et surtout : scellé dans de la résine (pour être étanche). La première idée fut de le mettre sous un puissant projecteur, pour tenter de ré-activer les panneaux solaires (relativement dépolis) mais ce projet aurait nécessité de disposer du matériel de réception des données transmises par la balise en temps normal. En effet cette balise, quand elle est alimentée par sa batterie, relève divers paramètres environnementaux (position, vitesse de déplacement, pression atmosphérique, température…) qu’elle stocke dans une mémoire tampon. Cette dernière se décharge via fréquences radio de courte portée dans des récepteurs installés par les ornithologues autour des lieux de vie des animaux suivis.
Vue du dessus de la balise, avec ses panneaux solaires.
Mais en l’absence de la partie « réception » la balise ne communique pas. Et puis même si les panneaux solaires étaient légèrement dépolis, il y avait fort à parier que c’était surtout la batterie qui était défaillante, 12 ans après sa mise en service.
De l’extérieur, quelques pistes électriques étaient visibles, mais pas assez pour comprendre le circuit de l’engin. Perdue pour perdue, il fut décidé d’ouvrir la balise avec une lame tranchante le long des points de soudure structurelle côté panneaux solaires. Une fois la boîte ouverte, il fut constaté que la manœuvre avait endommagé une partie du circuit, écartant définitivement notre première piste.
Toutefois il fut également possible d’identifier les divers composants de l’engin :
- antenne d’émission,
- batterie (relevée pour la photo),
- micro-controleur général (toutes les pistes électriques convergent vers lui),
- une puce non identifiée,
- la mémoire EEPROM (avec ses huit grosses pattes),
- le module de communication radio locale Zigbee (support bleu),
- le module GPS (uBlox),
- l'antenne fractale (siglée d’un motif à triangles)…
Il y a encore un baromètre quelque part, mais nous ne l’avons pas identifié. Et pour la suite, c’est la puce EEPROM qui nous intéressait car c’est elle qui stocke les données entre deux transmissions.
Dans les entrailles de la bête (l'électronique seulement, l'autre est protégée on vous a dit…)
Il s’agissait d’une EEPROM SST25VF032B de 4 Mo. La puce fut confiée à l’un de nos adhérents qui se chargea de la dessouder du circuit électronique de la balise pour la ressouder sur un étrier de connexion (support bleu sur la photo suivante) à un programmateur d’EEPROM (modèle XGecu TL866II blanc et vert, qu’on va s’employer à faire tourner sous GNU+Linux au cours des prochaines séances… mais vous êtes les bienvenus en commentaire pour esquisser tout comment on aurait pu faire mieux). Les données furent récupérées sous la forme d’un unique fichier binaire de 4 Mo.
Extraction des données de la puce EEPROM : depuis programmateur d’EEPROM (boîtier blanc et vert) à l’ordinateur.
Une fois le fichier extrait, nous nous sommes employés à retrouver un sens à ce que l’on pouvait voir dans un éditeur hexadécimal. En parallèle nous avions contacté le fabricant de la balise pour lui exposer notre cas et lui demander des informations quant à la structure des données stockées dans l'EEPROM. La réponse du constructeur fut simple : « c’est non documenté et imprévisible ; la seule méthode pour récupérer des données est de ré-alimenter la balise en présence d’un récepteur ». Oups… on va devoir se passer de son aide.
En y regardant de plus près, les données étaient en texte simple et il s’agissait de trames CSV stockées sans ordre apparent dans la mémoire. Les trames étaient pré-fixées par un type de trame (A00, A01… G00, G01) et comportaient environ une dizaine de champs. Nous nous sommes concentrés sur les trames G00, car elles présentaient des valeurs identifiables à des coordonnées GPS, horodatées.
Une fois ces trames isolées, il est apparu qu’elles représentaient plus de la moitié du contenu de la balise, dans notre cas pour un total de 42 212 trames G00 dont nous avons pu interpréter et remettre en forme 6 champs (sur les 22 espérés par notre commanditaire). Après raffinement de ces données brutes (par ré-écritures successives des champs) nous avions un fichier CSV contenant les données les plus importantes, importables dans la base de donnée du GODS.
Exemple de trame G00 : G00,010617,102144,-4016766,462176276,44,,356,8,71,13,5
Réécriture de la longitude (le 3e champ) dans vim : %s/,-(\d[^,]*),/,-0.\1,/
(Quoi ? Vous ne parlez pas regex couramment ? Venez donc nous aider à ajouter des sources à Meta-Press.es, le projet en utilise plus de 400 pour les 1000 sources interrogeables…)
Mais nous avons poussé ce travail jusqu’à disposer d’une trace GPX valide, directement importable dans JOSM (le principal logiciel utilisé pour éditer la base de donnée du projet OpenStreetMap).
Exemple de présentation des données d’un point d’une trace GPX :
<trkpt lat="46.2176276" lon="-0.4016766"><ele>44</ele><time>2017-06-01T10:21:44Z</time><speed>0.00</speed></trkpt>
Sont alors apparues les pérégrinations d’une outarde canepetière dans la plaine de Niort, relevées en 42 211 mesures valides entre mai 2017 et novembre 2017 :
Dans cette capture d’écran de JOSM, le dégradé de couleurs marque le temps qui passe et permet de suivre l’oiseau sur ses lieux de vie successifs.
PS: une première version de ce billet est apparue sur le site web de Gebull en janvier 2022.
# bravo
Posté par Funix (site web personnel, Mastodon) . Évalué à 9 (+7/-0).
Moi je dis simplement bravo, j'adore la démarche et l'obstination pour arriver au résultat !
https://www.funix.org mettez un manchot dans votre PC
# Merci, très intéressant.
Posté par Luc-Skywalker . Évalué à 4 (+2/-0).
et chouette histoire.
Du coup, il me vient quelques réflexions/questions:
Envoyer le capteur au fabricant: puisqu'il semble toujours en activité (et qu'il a vendu son produit très cher selon ce que j'ai compris), est ce qu'il n'aurait pas pu procéder lui même à cette opération (moyennant rémunération
éventuellementsans doute) et récupérer l'intégralité des données ?vous n'avez pas tenté d'alimenter l'électronique par une voie extérieure pour redémarrer la machine ?
le côté rétro engineering me plaît et du coup je me demande comment à partir d'un fichier binaire tel que récupéré en dump de ROM on arrive à identifier des trucs comme:
"Si tous les cons volaient, il ferait nuit" F. Dard
[^] # Re: Merci, très intéressant.
Posté par gUI (Mastodon) . Évalué à 3 (+0/-0).
L'explication est dans le texte
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Merci, très intéressant.
Posté par ChocolatineFlying . Évalué à 5 (+5/-1).
pour etre plus precis ton fichier contient :
47 30 30 2C 30 31 30 36 31 37 2C 31 30 32 31 34 34 2C 2D 34 30 31 36 37 36 36 2C 34 36 32 31 37 36 32 37 36 2C 34 34 2C 2C 33 35 36 2C 38 2C 37 31 2C 31 33 2C 35
avec un bon editeur hexa tu as directement le texte dans la colonne ascii
[^] # Re: Merci, très intéressant.
Posté par Luc-Skywalker . Évalué à 3 (+1/-0).
Ok, je comprends mieux.
Mais ça reste du chinois hein !
"Si tous les cons volaient, il ferait nuit" F. Dard
[^] # Re: Merci, très intéressant.
Posté par gUI (Mastodon) . Évalué à 10 (+7/-0).
Non pas spécialement. Il y a des trucs à tenter rapidement si tu tombes sur un truc inconnu, à commencer par la commande
strings
qui tout simplement t'affiche les caractères affichables (La Palice, si tu nous entends…). Fais-le sur un binaire exécutable, tu peux être surpris de tout ce que tu vas pouvoir lire directement.En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Merci, très intéressant.
Posté par Siltaär (site web personnel, Mastodon) . Évalué à 7 (+5/-0).
Merci,
Voici quelques réponses :
Le fabriquant, qui me semble plutôt petit et artisanal, avait déclaré l'objet irrécupérable, donc on avait carte blanche. J'ai résumé nos opérations en anglais au fabriquant au cas où il aurait besoin de reproduire l'aventure (ou l'envie de nous en envoyer d'autres à ouvrir, mais nous n'avons pas eu de retours).
Nous avons abîmé physiquement une partie de la circuiterie en ouvrant le boîtier à l'aveugle. Et puis nous n'avions pas de base de réception avec nous. Au Groupe Ornithologique des Deux-Sèvres ils tentent avant tout de mettre les balises muettes récupérées bien exposées en plein soleil ou sous un gros projecteur (suivant la saison et la météo) avec un taux de réussite encourageant.
Je trouve le 3. déjà répondu par gUI et ChocolatineFlying, merci.
La liberté ne s'use que si on ne s'en sert pas.
[^] # Re: Merci, très intéressant.
Posté par Luc-Skywalker . Évalué à 4 (+2/-0).
Merci oui.
C'est quand même cette boîte qui a écrit le programme elle pourrait au moins aider à démerder le reste des données non ?
pas obligé de répondre, mais si je chipote c'est que ça ressemble à mes bricolages du moment à base d'ESP32/GPS/LoRa/batterie/solaire
;)
"Si tous les cons volaient, il ferait nuit" F. Dard
[^] # Re: Merci, très intéressant.
Posté par ElectronLibre63 . Évalué à 3 (+2/-0).
Je me suis dit exactement la même chose. Je pensais que c'était du matériel très spécifique, mais visiblement, non. Des associations ornitho pourraient s'associer pour faire développer ce type d'équipement qui pourrait alors ne coûter que quelques dizaines d'euros plutôt que des milliers.
La trame ressemble à une trame NMEA qui est souvent utilisée par les GPS.
[^] # Re: Merci, très intéressant.
Posté par Luc-Skywalker . Évalué à 4 (+2/-0).
Oui, cela s'achète tout fait chez LilyGo (par exemple) ou Heltec (par exemple) pour quelques dizaines d'euros.
Pour le premier, je sais qu'on trouve le design (la schématique) sur leur Github, pour l'autre je ne sais pas.
C'est un ESP32 + un module radio (868MHz en Europe) + un GPS + la gestion/charge de la batterie. Rien de bien sorcier à priori. Cela dit, peut être que l'appareil en question embarque d'autres capteurs vu que seules les données de localisation sur 22 ont pu être récupérées.
"Si tous les cons volaient, il ferait nuit" F. Dard
[^] # Re: Merci, très intéressant.
Posté par ElectronLibre63 . Évalué à 2 (+1/-0).
L'avantage en plus d'un développement maison, c'est que l'on connaît le format des données, ce qui permet ce type de récupération sans le concours de fabricants non coopératifs.
En connaissant les ordres de grandeurs des données que l'on recherche, (normalement, avec les données récupérées par la méthode normale avec les traceurs qui ont fonctionné) on peut essayer de retrouver les données manquantes. L'idéal étant d'avoir un traceur fonctionnel et de faire des relevés réguliers de l'EEPROM au fur et à mesure des enregistrements.
[^] # Re: Merci, très intéressant.
Posté par Luc-Skywalker . Évalué à 4 (+2/-0).
oui, en plus aujourd'hui, c'est "facile" et "pas cher".
Là, c'est un produit qui a pas mal de km au compteur, qui a coûté bonbon, d'ailleurs, il y a écrit "25€ rewards" dessus et pourtant le fabricant, toujours en service, ne fait rien.
C'est bof de sa part, sauf à voir que ça va peut être pousser à s'engager vers des solutions plus "Open Source"
;)
"Si tous les cons volaient, il ferait nuit" F. Dard
[^] # Re: Merci, très intéressant.
Posté par ChocolatineFlying . Évalué à -1 (+0/-1).
dis lui que c'est gratuit sauf frais de port (si c'etait le cas) a condition de pouvoir partager les données ici :p
[^] # Re: Merci, très intéressant.
Posté par 2PetitsVerres . Évalué à 5 (+3/-0).
Non, c'est une outarde canepetière. La chouette a déjà été retrouvée, apparemment.
Tous les nombres premiers sont impairs, sauf un. Tous les nombres premiers sont impairs, sauf deux.
# Il manque une photo du piou piou
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 10 (+20/-0).
[^] # Re: Il manque une photo du piou piou
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 6 (+4/-0).
Parce que pour les québéquouais (coubeh), une "outarde", c'est une "bernache du canada" …
[^] # Re: Il manque une photo du piou piou
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 4 (+2/-0). Dernière modification le 09 avril 2025 à 15:50.
Précision importante, parce que la Bernache du Canada en France n’est plus du tout protégée, c’est devenu une espèce envahissante dont même la LPO dit qu’il faut mener des campagnes de tir et de stérilisation des œufs. Le pire ? C’est que c’est même pas bon à manger.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Il manque une photo du piou piou
Posté par Enzo Bricolo 🛠⚙🛠 . Évalué à 5 (+3/-0).
Maïté te dira que si tu mets suffisamment de foie gras par dessus et que tu flambes avec un soupçon d'armagnac, ça se laisse manger.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.