La V3 de la station météo APRS Mobile

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é).

Une photo du convertisseur 12V vers 5V une fois monté
Schéma du montage
Liste des composants

Voici la liste des composants nécessaire à ce convertisseur :

NomTypeValeurAutre info
R2Résistance330
R1, R3Résistance 470
RV1Résistance variable1kBoitier horizontal
C1Condensateur0.1uFNon polarisé, vertical
C2Condensateur1uFNon polarisé
C3, C5Condensateur10uFAxial
C4Condensateur1000uFAxial
D1DELVerteDiamètre 5mm
D2Diode1N4007
X1, X2Bornier à vis2 bornes
CI1Régulateur de tensionLM317TBoitier TO-220
Circuit imprimé

Ci-dessous les implantations des composants sur le circuit imprimé :

Vue de dessus
Vue de dessous

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

5 réflexions au sujet de « La V3 de la station météo APRS Mobile »

  1. 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

  2. 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

    1. 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

  3. 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

Répondre à Enzo Becamel Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *