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 lauteur
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 jen 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.
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:
lun payant (50 dollars pour la licence) et lautre
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 !