| (0) |
|
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 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.
Figure 1 : MySondy Server, divers écrans
|
|
|
|
|
|
|
|
|
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. |
|
|
|
| Figure 3 : MySondy Finder | Figure 4 : MySondy Finder |
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" |
|
|
|
| Figure 7 : la direction sur "rose des vents" | Figure 8 : les graphiques |
|
|
|
| Figure 9 : graphique «Stuve» | Figure 10 : graphique des distances |