20211028 120833 Le but de cet article est de donner quelques informations concernant la réalisation d'une installation portable pour la recherche des radiosondes à l'aide d'un module TTGO et du logiciel de DL9RDZ, rdz_ttgo_sonde.
L'ensemble permet de suivre un ballon sonde de manière portable et autonome et de retrouver la sonde une fois tombée au sol. 
Le logiciel de DL9RDZ communique avec un navigateur Web pour l'affichage des positions de la sonde et du récepteur.

Lire aussi l'article Utilisation du récepteur radiosondes RDZ_TTGO

L'ensemble module TTGO et le logiciel forment un récepteur/décodeur des trames émises par la radiosonde. Le décodage est possible pour tous les types de sondes utilisées en Europe. En France, Météo France utilisent des radiosondes modèle M10 ou M20.
L'affichage des données utiles se fait sur un afficheur intégré au récepteur ou sur un ordinateur / téléphone portable via WiFi.
Les données peuvent être rapatriées par WiFi via un point d'accès sur différents sites de publications. (SondeHub, RadioSondy, APRSmap, etc...)

Matériel utilisé :
LILYGO – Module TTGO t-beam V1.1
Afficheur OLED 1.3"

L'afficheur en mode I2C est raccordé tel que :
GND -> GND
VCC -> 3V3
SDA -> GPIO21
SCL -> GPIO22

Un test avec un afficheur OLED 0,96" a fonctionné du 1er coup.
Afin d'améliorer le confort visuel, j'ai commandé un afficheur 1,3" donné pour être compatible SPI et i2C. Livré pour le mode SPI, j'ai pas mal cherché avant de trouver comment le raccorder en i2C !

Modification d'un l'afficheur 1,3" de SPI en i2C :
La pin CLK correspond au signal SCL et la pin MOSI au signal SDA.
Sur l'afficheur :
- déplacer la résistance de 4,7k positionnée en SPI vers IIC
- court-circuiter la position de la résistance R8
- raccorder la pin RES à VCC
- raccorder les pins SDC et CCS à GND
Une fois les tests réalisés avec des fils, une barrette de 5 pins a permis de relier l'afficheur au TTGO de manière solidaire. Il est prudent de placer une feuille isolante entre les 2 circuits !
oled 13

Dans la configuration sur le serveur Web, partie hardware configuration il faudra alors changer le paramètre Display type à 2 (2=OLED/SH1106) pour que l'afficheur soit bien paramétré.
Si on installe via l'IDE Arduino, dans le fichier RX_FSK/data/config.txt, il faut dé-commenter la ligne et modifier disptype=2

Installation du logiciel
Avant de charger le logiciel rdz_ttgo_sonde, on peut s'assurer que tout fonctionne correctement. Tel quel, avec le logiciel chargé d'origine et sans modifier le programme de l'ESP32, il devrait afficher le logiciel par défaut, à savoir RFsoft, etc....
Si tel est le cas, on peut continuer en installant le logiciel rdz_ttgo_sonde.

L'installation la plus simple est celle qui utilise la version Dokker compilée par l'auteur qui inclue tout, y compris le fichier de configuration.
La dernière version compilée au format .bin est disponible ici.
L'image est alors flashée à l'aide de l'utilitaire ESP download tool, comme indiqué ici.

Chaque nouvelle installation écrasera donc votre fichier de configuration et les modifications apportées ! Les mises à jour se feront donc de préférence via l'interface Web et le menu About.

L'autre solution pour l'installation est via l'IDE Arduino, comme décrit dans la procédure ici. Cette méthode permet également de modifier le logiciel à convenance.
Dans l'ordre, il faut :
- ajouter le manager pour les cartes à base d'ESP32.
- installer le flashsystem pour ESP32.
- installer les librairies u8g2, microNMEA, GFX Library for Arduino à l'aide du manager de librairies.
- installer les librairies ESPAsyncWebServer, AsyncTCP, AXP202X_Library-1.1.3 en les copiant dans le répertoire où se trouvent vos librairies.
- installer la librairie async-mqtt-client-master en téléchargeant le package et l'installer par la méthode Sketch → Include Library → Add .ZIP Library
- récupérer la dernière version du logiciel sur https://github.com/dl9rdz/rdz_ttgo_sonde en cliquant sur le bouton vert puis Download ZIP.
- choisir sur l'IDE la bonne version de la carte par Tools → boards → ESP32 . J'ai choisi T-Beam
- ouvrir et modifier si besoin le sketch RX_FSK.ino dans le sous-dossier RX_FSK

Configuration
Le module peut être configuré soit à l'aide des fichiers de configuration si on compile soit même les sources, ou via l'interface Web et le menu CONFIG.
Si aucun point d'accès n'a été configuré dans le fichier networks.txt, le ttgo se configurera alors en point d'accès. Par défaut son SSIS est RDZnode et le mot de passe également RDZnode.
L'adresse IP à connecter est affichée en bas à droite de l'écran. Se connecter à l'aide d'un navigateur à l'adresse indiquée : http://192.168.4.1 (par exemple)

Commencer par configurer la partie hardware afin que l'afficheur, le WiFi, etc fonctionnent correctement. Il faut aller dans les onglets correspondants ( "WiFi, Config" )
Ensuite configurer les fréquences à scanner dans l'onglet "QRG".

Si on veut mettre à jour la configuration à l'aide de l'IDE et des fichiers de configuration, on trouvera dans le dossier /data les fichiers config.txt, qrg.txt et networks.txt
Le transfert des configurations s'effectue alors à l'aide de l'IDE Arduino et le fonction TOOLS / ESP32 sketch data upload

Pour le fichier config.txt, la plupart des paramètres sont expliqués dans le Wiki. https://github.com/dl9rdz/rdz_ttgo_sonde/wiki
Dans le cas de l'afficheur OLED 1,3", il faut décommenter la ligne #disptype=0 et mettre le paramètre à disptype=2

Pour le fichier QRG.txt, chaque fréquence est déclarée sur une ligne.

# Frequency in Mhz (format nnn.nnn)
# Type (3=MP3H, 4=RS41, 6=DFM normal, DFM-06, 9=DFM inverted, DFM-09, M or 2 = M10/M20)
# + / - enable/disable frequency
# Name
401.600 M + Ajaccio_2
401.000 M + Ajaccio_1
# end


Le signe + active la fréquence et - la désactive.

Pour le fichier networks.txt, la description de chaque réseau comporte 2 lignes. Lors du scan des réseaux Wifi, la priorité est l'ordre de déclaration.
La 1ère est le SSID du réseau, et la 2ème le mot de passe.
Les 2 premières lignes déterminent le nom que prendre le ttgo configuré en point d'accès. Les laisser par défaut.
RDZnode
RDZnode

S20
abcdef123456

TK5EP
123456789ABCD

Mise à jour
Pour effectuer une mise à jour, on peut recompiler la nouvelle version disponible ou la télécharger par la fonction OTA si vous disposez d'un point d'accès Wifi.
Il faut aller dans le menu ABOUT et lancer Check for update. Il existe toujours une version stable et une de développement.

En pratique
Le module choisi comporte, outre l'afficheur, 3 boutons qui peuvent être utilisés.
1er bouton : Un appui très long sert au M/A. Un appui court passe d'un affichage à l'autre. Les écrans affichés peuvent être paramétrés dans le fichier CONFIG.TXT, ou via le navigateur Web.

2ème bouton : Un appui court sur force un décodage sur la fréquence en cours.
Un double appui relance le scan des fréquences.
Un appui long affiche le spectre entre 400 et 406 MHz. Il permet de constater le bruit ambiant capté en enlevant l'antenne. :-(

3ème bouton : RESET du module.

Au démarrage, le WiFi du module recherche des points d'accès WiFi. S'il trouve un des réseaux configurés dans le fichier NETWORKS.TXT, il s'y connecte. Dans le cas contraire, le module passe en mode point d'accès.
Dans les 2 cas, l'adresse IP du module est indiquée en bas à droite de l'écran.
Un appui LONG relance le scan WiFi.

Le récepteur passe alors en mode scanner et balaye toutes les fréquences configurées dans le fichier QRG.TXT. Chaque fréquence est décodée pendant environ 1s avant de passer à la suivante. Si un signal est décodé, le récepteur reste verrouillé sur la fréquence.
Un double appui sur le 2ème bouton relance le scanner.

Le GPS intégré au module permet de déterminer la distance et l'azimut vers la radiosonde en choisissant l'écran adapté. Un autre écran affiche les informations du GPS. (écran  7)

La sensibilité dans la bande des ballons-sonde est tout à fait correcte pour un module prévu pour la bande 433 MHz.
Le module TTGO rayonne cependant énormément et l'utilisation d'une antenne raccordée directement sur le module donne de très mauvais résultats. Il ne sera utilisable qu'à proximité de la sonde ou il faudra utiliser une antenne éloignée du module.
Le module peut difficilement être mis dans un boîtier métallique, les antennes Wifi et GPS seraient alors masquées...J'ai essayé de diminuer les rayonnements parasites en mettant des bouts de feuille d'aluminium par endroits, mais les résultats sont médiocres et instables.

J'ai fait imprimer par un ami un boîtier en 3D à l'aide des fichiers disponibles ici : https://www.thingiverse.com/thing:4515987

ttgo case

Le récepteur est facilement saturé par des signaux puissants adjacents s'il est utilisé dans un environnement pollué radio-électriquement. Il peut alors être nécessaire d'intercaler un filtre passe-bande.
J'ai utilisé un filtre SAW tel que celui-ci dessous et j'ai mesuré la perte d'insertion qui est inférieure à 2 dB sur la bande 401-406 MHz. La bande passante est très bonne compte-tenu de la petite taille du filtre et l'adaptation (RL) est correcte.

 filtre 403S  Filtre 403 MHz

1ère capture

20220309 154420  20220309 154631  20220309 155836   

Réutilisation
La radiosonde peut être reprogrammée en fréquence sur la bande 70cm et ainsi être utilisée pour s'entraîner ou à tout autre usage.
Malheureusement, la thermistance qui est soudée à l'extrémité de la sonde est très fragile et est souvent coupée lors de sa récupération.
Le GPS est bâti autour d'un circuit XM1110
Le micro-contrôleur est du type MSP430F233
L'émetteur FSK est un ADF7012
Les fiches techniques sont disponibles sur mon site en cliquant sur les liens ci-dessus.

Références
Le site Github de l'auteur : https://github.com/dl9rdz/rdz_ttgo_sonde
Le Wiki dédié : https://github.com/dl9rdz/rdz_ttgo_sonde/wiki
Boîtier pour module  https://www.thingiverse.com/thing:4515987
Le site du fabricant de la sonde M10 : http://www.meteomodem.com/fr/m10.html
Reprogrammation de la fréquence de la sonde M10 sur les sites de F0GYS et de F4CQA
Site de F5ZJ avec nombres de réutilisation de la carte de la sonde M10