Le projet de station météo APRS mobile continue d »évoluer, nous en sommes à sa 3e version !

Quels changements par rapport à la V2 ?
Cette version a pour but d »optimiser la V2 et de corriger certains dysfonctionnements.
Les premiers changements concernent l »alimentation électrique. Alors que sur la précédente version la console de la station météo était alimenté par 3 piles C, sur cette nouvelle version les piles ont été remplacée par un convertisseur 12V continu vers 5V continu. La Raspbbery qui était alimentée par un adaptateur prise allume-cigare -> USB est désormais alimentée par le convertisseur 12V vers 5V.
Les autres changements ont été apportés sur la partie informatique de la station. Pour commencer, la partie logicielle a été simplifiée : il n »y a plus besoin du client APRS. Le fichier wxnow.txt est désormais directement interprété par le TNC virtuel, DIREWOLF. Le logiciel de lecture de la station météo a aussi été changé, WEEWX a été remplacé par CumulusMX, qui intègre directement la création d »un fichier wxnow.txt.
Le convertisseur 12V vers 5V
Nous allons commencer par voir le montage qui transforme le 12V continu fournit par la batterie en 5V continu. Ce montage doit alimenter la Raspberry et la console. Il est réalisé avec un LM317T, un régulateur de tension variable, qui nous permettra de changer facilement la tension de sortie pour l »adapter si la Raspberry est remplacée par un autre système qui demande une autre tension.
Ce convertisseur doit être capable de sortir une intensité d »environ 1,15A (1A pour la Raspberry + 30mA pour la console + 120mA lorsque le rétroéclairage de la console est activé).
Schéma du montage

Liste des composants
Voici la liste des composants nécessaire à ce convertisseur :
Nom | Type | Valeur | Autre info |
---|---|---|---|
R2 | Résistance | 330 | |
R1, R3 | Résistance | 470 | |
RV1 | Résistance variable | 1k | Boitier horizontal |
C1 | Condensateur | 0.1uF | Non polarisé, vertical |
C2 | Condensateur | 1uF | Non polarisé |
C3, C5 | Condensateur | 10uF | Axial |
C4 | Condensateur | 1000uF | Axial |
D1 | DEL | Verte | Diamètre 5mm |
D2 | Diode | 1N4007 | |
X1, X2 | Bornier à vis | 2 bornes | |
CI1 | Régulateur de tension | LM317T | Boitier TO-220 |
Circuit imprimé
Ci-dessous les implantations des composants sur le circuit imprimé :
Si vous voulez les fichiers EAGLE ou un circuit vous pouvez me contacter par mail à l »adresse suivante : meteobruno@gmail.com
Les logiciels de la Raspberry
CumulusMX pour la station météo
Alors que l »ancienne version utilisait Weewx, cette nouvelle version utilise CumulusMX. Weewx fonctionnait mais nécessitait un plugin pour générer le fichier wxnow.txt et pouvait planter lors de la connexion de la station météo à la Raspberry à chaque démarrage de la station APRS mobile. CumulusMX intègre lui directement la génération du fichier wxnow.txt et fonctionne mieux à chaque lancement, mais il faut prévoir d »ajouter son lancement dans les « paramètres » du système d »exploitation, nous verrons comment le faire plus bas.
Installation
CumulusMX est disponible ici. Il vous suffit de télécharger l »archive et de la décompresser dans le répertoire voulu. Cependant, pour pouvoir le lancer, il vous faut également installer Mono.
Pour installer Mono, il vous suffit de suivre la procédure indiquée ici en fonction de votre système d »exploitation.
Une fois Mono installé, pour lancer CumulusMX, tapez les commandes suivantes :
cd /votre-repertoire/
sudo mono CumulusMX.exe
Direwolf pour la partie APRS
DIREWOLF est un TNC virtuel. Dans la précédente version il se contentait de générer l »audio des trames fournies par YAAC (le client APRS) et de gérer le PTT. Dans cette nouvelle version le client APRS a été supprimé, c »est DIREWOLF qui s »occupe de récupérer les infos météo du fichier wxnow.txt pour générer la trame. Il est important d »avoir une version de DIREWOLF qui intègre la fonction COMMENTCMD (sur la station j »utilise la version 1.5).
Dans le ficher de configuration de DIREWOLF, direwolf.conf, il faut créer une balise PBEACON qui enverra automatiquement à un intervalle voulu les coordonnées GPS et le contenu du fichier wxnow.txt.
Le fichier de configuration de DIREWOLF
Une fois que le fichier direwolf.conf est configuré pour l »indicatif, la carte son… il faut créer la balise. Pour cela, il faut utiliser PBEACON comme suit (trame issue du manuel utilisateur de DIREWOLF):
PBEACON LAT=42^37.14N LONG=71^20.83W SYMBOL= »weather station » COMMENTCMD= »tail -1 wxnow.txt »
Il suffit maintenant d »adapter la balise à la configuration actuelle :
- LAT : latitude
- LONG : longitude
- SYMBOL : symbole de la station
- COMMENTCMD : lien vers le fichier .txt à envoyer
Il est possible de rajouter d »autres paramètres :
- DELAY : temps avant le premier envoi de trame (entre le démarrage de DIREWOLF et le premier envoi)
- EVERY : délai entre 2 envois de trame
- DEST : destinataire
- VIA : chemin à prendre (WIDE1-1, WIDE2-1…)
Par exemple, la configuration de la trame actuelle de la station est :
PBEACON DELAY=0 EVERY=1 DEST= »APRS » LAT=43^49.71N LONG=04^19.12E SYMBOL= »weather station » COMMENTCMD= »tail -1 /home/pi/CumulusMX/wxnow.txt »
Lancement au démarrage
LANCEMENT AU démarrage de cumulusm
Afin que CumulusMX se lance automatiquement au démarrage de la Raspberry, il faut créer une tâche CRON qui va exécuter un fichier .sh
Il faut commencer par créer le fichier .sh qui contient les commandes pour lancer CumulusMX :
cd CumulusMX
sudo mono CumulusMX.exe
cd
Une fois ce fichier créé, il faut créer la tâche CRON avec la commande suivante :
sudo crontab-e
Un fichier s »ouvre dans l »éditeur, il suffit maintenant de taper sur sa dernière ligne la commande pour ouvrir le .sh au démarrage (le lien vers le fichier peut bien entendu être différent) :
@reboot /home/pi/start.sh
lancement au démarrage de DIREWOLF
Pour DIREWOLF, c »est un peu plus compliqué. Il faut déjà créer dans le répertoire PI un fichier dw-start.sh comme celui-ci : cliquez ici pour voir le fichier
Une fois le fichier créer, il faut demander à une tâche CRON d »exécuter ce fichier chaque minute (on demande chaque minute pour qu »en cas de plantage de DIREWOLF, il soit relancé automatiquement, et si DIREWOLF est en cours d »exécution, rien ne change).
Comme pour la tâche CRON de CumulusMX, il faut ouvrir l »éditeur de tâches CRON avec :
sudo crontab -e
Une fois l »éditeur ouvert, il faut saisir la ligne suivante à la fin (là encore le lien vers le fichier peut être différent) :
* * * * /home/pi/dw-start.sh >/dev/null 2>&1
Pour utiliser la station, il suffit maintenant de tout brancher et de mettre sous tension, les trames avec les données météo s"enverront alors automatiquement
Bonjour
j’ai eu beau essayer différentes syntaxes, je n’ai pas réussi à faire démarrer direwolf automatiquement avec :
sudo crontab -e
puis
* * * * * /home/pi/dw-start.sh >/dev/null 2>&1
même si dw-start.sh est bien dans /home/pi
Je ne vois pas où je pèche ??
Par contre, editer et rajouter cette ligne dans /etc/xdg/lxsession/LXDE-pi/autostart
@lxterminal –command= »./usr/bin/lxterminal -e direwolf
après un reboot, direwolf démarre bien en mode terminal sur le bureau.
Direwolf1.6 sur Pi modèle1 /
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 5.4.83+ #1379 Mon Dec 14 13:06:05 GMT 2020 armv6l GNU/Linux
Cordialement
Pierre/F4HUX
Bonjour,essayez avec la tache cron suivante :
@reboot screen direwolf
Bonjour
Je n’arrve pas à faire fonctionner cette commande copiée dans mon cron
* * * * * /home/pi/dw-start.sh >/dev/null 2>&1
A-t-on une erreur de syntaxe ?
Avec un collègue, nous avons réussi à faire démarrer direwolf en automatique et dans un term en faisant la procédure suivante :
édition de autostart
sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
ajout de la ligne ci dessous , enregistrement et reboot
@lxterminal –command= »./usr/bin/lxterminal -e direwolf
Bonjour, comme indiqué à F4HUX en réponse à son commentaire, essayez en mettant la tache cron suivante :
@reboot screen direwolf
Vous devrez sans doute installer screen:
sudo apt-get install screen
Bonjour,
merci pour votre retour.
J’ai bien essayé votre proposition mais ça ne marche pas.
Après différentes recherches j’ai fini par tomber sur ce post :
https://forum.ubuntu-fr.org/viewtopic.php?id=681761
Le post #2 dit qu’il ne faut pas éditer le cron en sudo.
Si je fais un : crontab -e
je colle à la fin du fichier , la ligne :
* * * * * /home/pi/dw-start.sh >/dev/null 2>&1
puis Ctrl x, oui, enter pour sauvegarder
–> reboot
direwolf démarre dans un term.
Si direwolf « plante » ou que je le ferme par inadvertance, il redémarre au bout d’une minute.
Cordialement
Pierre
F4HUX
ps : désolé d’avoir posté deux fois le même message….je croyais que cela n’avait pas marché le premier coup . Hi