(0)

Décodage - Le système MySondy
Retour : 06- Le décodage

par Achille De Santis, IZ0MVN

Voir aussi : L'écoute des radiosondes - Identification au son d'une RS - Liste des stations de radiosondage d'Europe de l'Ouest et types de radiosondes utilisées - Modification du récepteur AR5000 pour ajouter une sortie "detector output" - Modification du récepteur AR1500 pour ajouter une sortie BF directe - Le logiciel SondeMonitor

  
Le travail ici présenté est celui d'un petit groupe de développement. J'ai simplement collecté les informations et les données fournies par l’auteur Mirko Dalmonte pour la description du système, qui est présentée ici dans son intégralité. La "suite" d'applications est opérationnelle depuis un certain temps et surtout MYSondyGO est connue et utilisée par de nombreux utilisateurs de toute l'Europe pour la recherche et la chasse aux radiosondes météorologiques.
Je laisse la parole à Mirko, IZ4PNN, pour la description du système.

MySondy SERVER et MySondy FINDER

  Le projet MySondy est constitué d'une «suite» d'applications: MySondy Server, MySondy Finder et une modification particulière à apporter au RaspBerry pour le faire communiquer avec le Serveur.
Quand je me suis lancé dans cette aventure, j'ai réalisé que le logiciel de notre bien-aimé RaspBerry (dxlAPRS) était disponible et j'ai donc pensé que je partirais de là; réécrire un code qui fonctionne bien n'a pas de sens; mieux le mettre en œuvre et, si nécessaire, l'adapter à nos besoins.
La modification a été, peut-être, le travail le plus onéreux et le plus complexe; il n'est pas toujours facile de mettre la main sur le travail des autres et, comme si cela ne suffisait pas, l'excellent dxlAPRS (le vrai logiciel sur lequel repose tout le projet radiosondy.info) ne brille pas, certainement, par l'élégance et le raffinement. Il est clair qu'il s'agit d'un projet qui a été corrigé plusieurs fois, revisité, modifié peut-être même par des personnes différentes. Bref, il y avait un peu de confusion ...
Aldo Moroni (IW2DZX) a joué un rôle fondamental dans cette phase, me fournissant constamment les fichiers bruts et les fichiers audio nécessaires à une étude approfondie du décodage. Le long travail de modification a commencé qui avait pour but ultime la récupération de TOUS les paramètres de la radiosonde (y compris les capteurs Ozone et Cobald) et l'envoi conséquent au serveur radiosondy.info, au serveur APRS et à notre serveur personnel: MySondy Server.
  MySondy Server est le pivot de tout le système; il recueille les données d'un ou plusieurs RaspBerry et les affiche via une "interface Web". L'ensemble du projet est né avec le principe d'être absolument, totalement gratuit, facile à installer / configurer et très bon marché au cas où des pièces matérielles seraient nécessaires. Problème: le serveur doit clairement être installé sur un espace Web gratuit. Les espaces web gratuits ne supportent pas certaines technologies (dont j’en ne parlerai pas dans ces lignes) nécessaires à un échange de données rapide entre RaspBerry et Server. Considérez que les stations performantes, comme celle d'Aldo Moroni (IW2DZX), peuvent recevoir plus d'une douzaine de sondes, dispersées dans la moitié de l'Europe, simultanément, chaque seconde. Le flux de données n'est pas négligeable, les technologies sont, nous l'avons vu, limitées; il fallait une solution simple et définitive. Je n'entrerai pas non plus dans cet aspect mais, comme vous pouvez l'imaginer, la solution a été trouvée (avec quelques compromis). Après plusieurs astuces pour permettre à un seul serveur de recevoir des données de plus d'un RaspBerry, il ne restait plus qu'à développer l'interface web qui montrerait les sondes avec toutes leurs données en temps réel et produirait les graphiques météo dans un environnement simple, pratique et graphiquement agréable.

Figure 1 : MySondy Server, divers écrans

 


 


 


 



Figure 2: MySondy ver. 1.15 (http://mysondy.altervista.org).

  Le changement pour le logiciel RaspBerry (dxlAPRSMod) et le serveur étaient prêts pour la publication; J'ai donc créé un guide très simple pour permettre à n'importe qui d'installer son propre serveur.


  Par la suite, à partir de la version 2.0 de MySondy, la fonction "Archive" a été ajoutée, qui permet de rappeler par nom, par station de lancement, par date ou plage de dates, une ou plusieurs sondes reçues avec toutes ses données (à partir d'une idée d'Aldo Moroni IW2DZX). La partie difficile étant terminée, que faire maintenant ? Eh bien, on peut continuer à jouer ! Pourquoi pas, par exemple, créer une application Android capable d'interroger notre serveur MySondy? Et si cette appli pouvait même nous guider dans la recherche d'au moins les sondes suivies par notre serveur jusqu'à basse altitude ? J'étais déjà développeur dans le Google Play Store depuis quelques années, pourquoi ne pas en profiter? À peine dit que c'était fait !
  MySondy Finder est une App pour Android qui interroge le Serveur en plaçant toutes les fonctions de l'interface web dans la paume de notre main et un FINDER qui nous guide dans la recherche sur le terrain des sondes reçues (certainement utile en cas de réception de données jusqu'à très basse altitude) . MySondy Finder possède toutes les fonctions de MySondy Server (à l'exception de l'archive) et fournit un "navigateur" basé sur la position GPS de notre Smartphone, qui nous guide vers la sonde ou nous permet d'envoyer sa position à un logiciel de navigation extérieure.

 
Figure 3 : MySondy Finder   Figure 4 : MySondy Finder


La position mobile du Smartphone a été récemment mise en œuvre (à partir d'une idée de Giuseppe Maggio, nouveau radioamateur, IT9IBT).
Tutoriel d'installation de MySondy SERVER: http://mysondy.altervista.org/tutorial.php
MySondy FINDER : http://mysondy.altervista.org/mysondyfinder.php

MySondy GO

  Après le travail sur le RaspBerry pour réaliser le projet MySondy Server (et l'application MySondy Finder associée), il était maintenant clair que dans MySondy Suite manquait une étape au moins fondamentale : il lui manquait un système dédié à la recherche sur le terrain. Avant de commencer le développement de «MySondy GO», j'ai effectué, comme toujours dans ces cas, une simple enquête pour comprendre exactement ce qui existait au niveau matériel / logiciel par rapport à la recherche de Radiosonde sur le terrain. Il est immédiatement apparu que le choix n'était pas énorme; en fait, il y avait encore une fois des projets basés sur RaspBerry et d'autres (au moins deux) basés sur une petite carte de développement appelée TTGO.
  Pour des raisons de portabilité et de consommation d'énergie je me suis donc tourné vers ce TTGO (433 MHz). Un TTGO n'est rien de plus qu'un Esp32 (on peut penser à un Arduino bien plus puissant avec bluetooth et wifi) connecté à une “chip” SX1278 (un émetteur-récepteur intégré 137-525 MHz). Le TTGO a été créé pour les applications 433 MHz mais il peut également fonctionner à d'autres fréquences. En fait, quelques changements dans les bibliothèques suffisent et ici il est réglé sur 403 MHz. L'Esp32 était quelque chose de familier pour moi, j'avais fait des projets intéressants dans le passé, je pouvais travailler assez facilement. Il y avait déjà deux micrologiciels qui peuvent être installés sur le TTGO comme nous l'avons dit: l’un payant (50 dollars pour la licence) et l’autre un logiciel gratuit. Aucun de ceux-ci ne représentait, même en partie, ce que je voulais réaliser; le payant ne représentait donc certainement pas ce Ham-Spirit que j'ai toujours essayé de promouvoir à ma petite manière. Il se composait de deux micrologiciels pour le TTGO capables de recevoir les radiosondes, d'afficher quelques informations sur l'écran intégré et d'interagir avec l'utilisateur via un serveur web toujours très problématique sur cet appareil. Les deux logiciels semblaient à première vue être liés d'une manière ou d'une autre, comme si l'un avait pris le «signal» de l'autre ; les mécanismes étaient plus ou moins les mêmes. MySondy GO devait avoir tout de suite une hypothèse fondamentale totalement absente des deux projets existants : il devait être entièrement confié à une application Android capable de gérer toute la configuration TTGO (donc aussi tous les paramètres des différentes librairies) et en temps réel afficher, dans un environnement simple et agréable, les données entrantes et les positions de la sonde et de notre Smartphone respectivement à l'aide de tous les capteurs de positionnement de notre téléphone mobile (GPS, accéléromètre, gyroscope et magnétomètre).
  La connexion bluetooth entièrement automatique (également dans Paring) aurait constitué un autre support fondamental pour l'échange de données qui aurait eu lieu, peu de temps après, en utilisant un protocole encore à inventer. Il était enfin temps de commencer; les idées étaient assez claires et les utilisateurs du groupe Facebook de Radiosonde Italia commençaient à me donner d'autres idées et conseils. Par exemple, le problème de certains TTGO liés à un décalage de fréquence anormal a été mis en évidence. La solution était alors d'intégrer un "Tuner" capable d'ajuster automatiquement l'offset jusqu'à une erreur de + - 500KHz. Pour mener à bien cette étape délicate, je me suis appuyé sur l'AFC (Automatic Frequency Control) de notre SX1278. Utilisé avec une certaine ruse, il était d'une importance fondamentale pour résoudre le problème. Tant d'idées et tant de fonctionnalités ne pouvaient que me faire entrer en conflit avec les ressources limitées du TTGO. Le formatage de la mémoire par défaut offre même la possibilité de mettre à jour notre firmware via OTA (Over The Air) au coût élevé de pouvoir développer du code pour une taille maximale de 1 Mo. Seule la bibliothèque Bluetooth faisait 500 Ko, MySondy GO était déjà plus du double; problèmes non seulement et comment faire? Abandonner les mises à jour via OTA et préparer une "Table de Partition" qui me permettrait d'atteindre au moins 3 Mo a été l'étape décisive. Pour le moment MySondy GO n'utilise pas la connexion wifi mais j'ai réussi malgré tout à insérer les librairies pour de futures implémentations (certains utilisateurs me demandent déjà de pouvoir envoyer des données vers des serveurs externes; grâce à cet appareil cela sera sans doute possible). Pour le décodage des différentes sondes, je me suis appuyée sur les bibliothèques que j'avais créées pour MySondy Server (plus précisément, ce sont les bibliothèques habituelles utilisées par exemple également sur le RaspBerry de dxlAPRS, que j'ai personnalisé et modifié afin de lire la télémétrie complète du RS41).
  Leur intégration a été rapide et facile et pour le moment elles ne sont pas utilisées à pleine capacité car MySondy GO a été conçu pour la recherche sur le terrain; la plupart des données entrantes ne sont pas affichées (au moins toutes les données météorologiques). Les jours passaient, les soirées s'allongeaient parfois jusqu'au matin et mes amis Aldo Moroni et Jordan Antonio Provesi ont commencé, j'en ai peur, à ne pas me supporter. Leur contribution a été fondamentale comme d'habitude. Aldo Moroni a été une véritable référence pour moi, il a représenté et représente certainement l'un des plus grands experts en radiosondes que je connaisse et possède l'une des stations les plus performantes de tous les temps. Avec la modestie et la disponibilité que seules les personnes de son calibre peuvent avoir, il a joué un rôle déterminant depuis le projet MySondy Server dans l'étude du décodage, dans le test de logiciels encore immatures, dans les conseils et dans les décisions communes. Jordan Antonio Provesi m'a permis d'intégrer la prise en charge de plusieurs types d'écrans et a soigneusement testé les différentes versions de firmware jusqu'à ce que son TTGO fume littéralement. Il a actuellement créé un groupe d'achat (sur le groupe Facebook de Radiosonde Italia) pour ceux qui ont l'intention de se procurer un TTGO à un prix raisonnable et pour ceux qui veulent en recevoir un déjà programmé avec tout ce dont ils ont besoin.
Installation du micrologiciel.
  Une fois le firmware terminé (à partir de ses toutes premières versions d'Alfa), il ne restait plus qu'à créer une image ".bin" pouvant être facilement chargée sur n'importe quel TTGO. Mon habitude de travailler uniquement à partir de la ligne de commande et avec des éditeurs de texte ne m'a certainement pas aidé à créer un guide simple et pratique pour cette étape délicate. Une fois de plus Aldo Moroni est intervenu qui a créé un guide assez éloquent qui accompagne l'utilisateur avec des étapes simples. En quelques secondes, l'image du firmware est copiée dans la mémoire TTGO qui redémarre. Notre «appareil» est opérationnel (la version au moment de la rédaction est la 1.20).

Installation de l'application.

L'application MySondy GO est disponible dans le Google Play Store; son installation est simple et intuitive. Au démarrage, après nous avoir demandé les permissions habituelles, MySondy GO s'occupe de tous les aspects de la connexion Bluetooth; après le consentement à l'activation, la recherche des TTGO actifs à proximité commence. Si la recherche réussit, l'application effectue le "couplage" et établit immédiatement la connexion. A partir de ce moment, notre TTGO est constamment synchronisé avec notre Smartphone qui, à son tour, est capable de le contrôler et de recevoir toutes les données nécessaires.

Utilisation de l'application.

MySondy GO est livré avec une carte, un affichage principal, un affichage secondaire (dédié aux coordonnées) et un petit bouton qui nous permet d'accéder au menu. L'affichage principal montre toutes les données reçues du TTGO, par conséquent, la fréquence actuelle, le type de jeu de sondes, le nom et la distance de la sonde éventuellement reçue, le temporisateur de burst killer dans le cas actif (RS41), l'état de la batterie et de l'intensité du signal reçu (Recommandation technique de la région 1 de l'IARU, S9 -93dBm).

 
Figure 5 : trace de la sonde   Figure 6 : "Carte routière"


  A la réception d'une sonde apparaît une icône qui représente sa position: elle réstera verte clignotante jusqu'à ce que nous soyons en mesure de la recevoir, puis elle deviendra rouge. L'icône jaune clignotante de notre position indique que le TTGO est connecté et communique correctement avec le Smartphone.
A l'inverse, un voyant rouge clignotant indique que le TTGO n'est pas connecté ou que la connexion n'est pas stable. La même icône est équipée d'une petite flèche qui indique notre direction par rapport à la carte et nous guidera vers la découverte, en utilisant également une trace rouge (qui peut être désactivée à partir du menu) qui relie notre position actuelle à la sonde.
  Lorsqu'une sonde est effectivement reçue, un bouton supplémentaire apparaît en haut à droite; c'est le menu "partage" qui nous permet d'envoyer les coordonnées de la sonde au logiciel de navigation GPS par défaut, de partager la position de la sonde avec les différents logiciels de cartographie ou d'envoyer les données de la sonde (nom, type et coordonnées) par email ou tout logiciel de messagerie (WhatsApp, etc ...).
  Dans l'écran principal, nous voyons le bouton "SET" en cliquant sur lequel nous pourrons modifier la fréquence et le type de sonde que nous voulons recevoir. L'utilisation du bouton en haut à gauche, comme nous l'avons dit, ouvre le menu principal qui nous permettra d'agir sur toutes les préférences de l'application et de configurer complètement notre TTGO.
  Nous pouvons respectivement centrer la position de notre téléphone portable sur la carte, centrer la position de la sonde, afficher la carte en mode "satellite", masquer / afficher la trace qui relie la sonde à notre position, activer la mesure sur la carte (cela nous permet de mesurer le distance entre deux points sur la carte au niveau du sol), connectez manuellement le TTGO au cas où il serait déconnecté et ouvrez enfin le sous-menu des paramètres.

 
Figure 7 : la direction sur "rose des vents"   Figure 8 : les graphiques


  Dans le sous-menu des paramètres, nous pouvons modifier les couleurs du menu lui-même, la couleur de fond de l'affichage principal et de l'affichage des coordonnées, ouvrir la configuration TTGO et afficher les informations sur le logiciel.
  Dans la configuration du TTGO, nous trouvons trois paragraphes distincts; le premier dédié à la configuration matérielle (TTGO PINS), le second dédié à la gestion de la batterie (BATTERY) et le troisième dédié aux paramètres radio (RADIO). En bas, il y a une touche pour revenir à l'écran principal (BACK), une touche pour réinitialiser le TTGO à la configuration d'origine (RESET) et une touche pour enregistrer la configuration. Notez que toute la configuration est volontairement sauvegardée dans le TTGO et non dans le Smartphone; cela nous permet d'obtenir le même résultat quel que soit l'appareil utilisé.
  TTGO PINS : cela nous permet de sélectionner le type d'affichage utilisé et de définir toutes les broches matérielles du TTGO. Dans la plupart des cas, les paramètres par défaut seront optimaux.
  BATTERIE : en définissant un maximum, un minimum et une courbe de décharge, cela nous permet de visualiser l'état de la batterie sur l'écran TTGO et sur l'écran de l'application. Ces paramètres dépendent beaucoup du type, de la capacité et de l'état de la batterie elle-même. Le conseil est d'essayer différentes configurations jusqu'à ce que vous en trouviez une satisfaisante.
  RADIO : cette section contient tous les paramètres radio des sondes que nous allons recevoir (ce sont les paramètres par défaut des bibliothèques de décodage modifiées mentionnées ci-dessus) et la fonction «Tune» mentionnée ci-dessus.

 
Figure 9 : graphique «Stuve»   Figure 10 : graphique des distances


  Le "Tune" peut être fait manuellement en entrant le décalage souhaité dans le champ approprié ou automatiquement en appuyant sur le bouton du même nom. Dans les deux cas, nous verrons clairement l'état actuel de l'AFC (à côté du bouton "Tune"). Cette valeur doit être compensée pour la rapprocher de zéro. Après nos réglages, nous pouvons sélectionner le bouton "Enregistrer" pour tout enregistrer dans le TTGO. Si un redémarrage est nécessaire (certains paramètres matériels l'exigent), l'application elle-même nous en informera et nous guidera tout au long de l'opération.

Modification de l'antenne

  Le TTGO est livré avec une petite antenne qui n'est évidemment pas optimisée pour les fréquences des radiosondes. Aldo Moroni a donc décidé d'apporter une modification afin d'avoir le maximum de résultats possibles.
MySondy GO: http://mysondy.altervista.org/mysondygo.php

Bonne activité avec les radiosondes Meteo et bonne recherche avec MySondyGO !