Le projet de station météo APRS mobile : le matériel de la V2

Alors que la version 1 de la station été basée sur une Arduino UNO et plusieurs capteurs (voir présentation du matériel de la V1), la version version 2 est basée une Raspberry et une station Davis Vantage Vue.

La Version 2 de la station lors d’une présentation pour les pompiers du Gard. En vert est encadré l’ISS ; le bloc qui contient les capteurs. En bleu est encadré la console qui reçoit et affiche les données météo pour les renvoyer à la Raspberry.
La station météo

Les différents capteurs de la V1 ont été remplacés par une station plus professionnelle, une Davis Vantage Vue.

La station est en deux blocs : l’ISS qui contient les capteurs (cadre vert sur la photo ci-dessus), et la console qui reçoit et affiche les données (cadre bleu sur la photo ci-dessus).

La partie « ISS » de la station.

La liaison entre les deux blocs se fait en 868 Mhz, cette fréquence est nettement mieux pour notre utilisation que les 433 Mhz, d’une part car la bande des 433 Mhz est très occupée, d’autre part car le poste radio va émettre sur les 144 Mhz et il sera proche physiquement de la station météo, donc plus on est éloigné en fréquence moins il y aura de brouillage de la part du poste radio.

Les données météo (température, hygrométrie, vitesse et direction du vent, pluviométrie) sont transmises toutes les 2 secondes à la console.

La Raspberry

La Raspberry (PI2 minimum) remplace l’Arduino Uno. Sur cette Raspberry sont installés les logiciels Weewx, YAAC et Direwolf. Chaque logiciel a un rôle précis :

  • Weewx lit les donnés de la station qui est branchée en USB (grâce au data logger de Davis Instrument) et construit grâce à un plugin un fichier .txt
  • YAAC est un client APRS. Il est chargé de lire le fichier .txt généré par Weewx pour le transformer en trame APRS. La trame APRS est ensuite envoyée au TNC virtuel
  • Direwolf est le TNC virtuel. Il va transformer la trame envoyée par YAAC en une trame audio (la raspberry n’ayant pas de carte son intégrée, il faut rajouter une carte son USB). Direwolf gère également le PTT du poste radio grâce à un montage sur les GPIO (voir schema ci-dessous)
Montage pour permettre à la Raspberry de contrôler le PTT du poste.
Au final, comment la station fonctionne ?

L’ISS de la station météo envoi ses données à la console sur 868 Mhz. La console est reliée par USB à la raspberry grâce au data logger vendu par Davis Instrument.

Les données sont lues par la raspberry grâce au logiciel Weewx, qui génère toutes les minutes un fichier .txt. Ce fichier .txt est ensuite récupéré par le client APRS « YAAC », qui va généré une trame APRS avec les données saisies par l’utilisateur à l’installation du logiciel (position GPS, indicatif…) et les données météo actualisées toutes les minutes. Cette trame est envoyée à intervalle régulier au TNC virtuel.

Le TNC virtuel, ici Direwolf, récupère la trame et la transforme en trame audio. Cette trame audio est générée grâce à une carte son USB, la raspberry n’ayant pas de carte son intégrée. C’est également Direwolf qui bascule le poste en émission grâce à un montage PTT sur les GPIO.

Fin de cette petite présentation du matériel de la V2.
D'autres articles dédiés aux logiciels utilisés seront mis en ligne.

Le projet de station météo APRS mobile : création de la trame météo

La librairie présentée dans l’article précédent nous permet d’envoyer une trame APRS grâce à une simple arduino Uno. Cependant cette trame il faut savoir quoi mettre dedans.

La composition d’une trame météo

Plusieurs schémas sont possibles pour faire une trame météo. La liste des trames APRS est disponible dans ce document.

Le schéma retenu est le suivant :

4401.27N/00437.22E_188/007g008t079r000p000P000h40b09947adrasec30

Le découpage est le suivant :

4401.27N → Latitude au format Degrés Minutes en décimales

00437.22E → Longitude au format Degrés Minutes en décimales

188 → Direction du vent en degrés

007 → Vitesse moyenne du vent en mph

g008 → Vitesse rafale de vent en mph

t079 → Température actuelle en °F

r000 → Pluviométrie de la dernière heure en inch

p000 → Pluviométrie sur les dernières 24h en inch

P000 → Pluviométrie depuis minuit en inch

h40 → Humidité en %

b09947 → Pression atmosphérique en mb

adrasec30 → commentaire

L’acquisition des données

Les données des différents capteurs sont acquises grâce à leurs librairies et programmes. Ces acquisitions se font dans le fichier principal du programme.

Cependant, pour pouvoir envoyer les données, elles doivent être sous la forme de « string », ce sont les différentes chaines de caractères (String) qui seront assemblées pour former la trame APRS. Il faut donc penser à convertir les résultats des lectures des capteurs qui peuvent donner des valeurs sous d’autres format (sous le format « float » par exemple).

Outre les formats qui doivent être respectés, tout (ou presque) est permis pour lire les données des capteurs.

L’assemblage de la trame

Une fois les données récupérées, il faut encore les assembler pour obtenir le bon format.

En ce qui concerne les coordonnées GPS, on peut utiliser les variables prévues à cet effet dans la librairie.

Pour la direction du vent on peut utiliser la variable « tempaprscourse », pour la vitesse moyenne on peut utiliser « tempaprsspeed », par contre pour les autres informations il n’y a pas de variable pré-établie. Du moins au premier abord, car il suffit simplement de les mettre dans la variable dédiée au commentaire.

Lorsque les décodeurs APRS vont recevoir la trame, si elle est bien construite ils ne considéreront pas les informations de la variable « tempsaprscomment » comme des commentaires, mais comme des données météo. Pour cela il faut assembler dans la variable « tempaprscomment » les caractères qui définissent les données (« g », « t », « h »…) et les données en elles mêmes.

C’est là où il est important d’avoir augmenté le nombre de caractères autorisés.

Vous pouvez maintenant utiliser la librairie Arduino pour envoyer des informations météo.

Décodage DMR avec une clé SDR sous Windows

Le DMR, pour Digital Mobile Radio, est une norme de radio numérique très utilisée dans le milieu professionnel, et qui se répand dans le monde amateur.

Grâce aux clé SDR il est possible d’écouter les fréquences radio avec un investissement moindre. En plus de nous permettre l’écoute des fréquences analogiques, les clé SDR nous permettent également l’écoute des fréquences numériques, DMR notamment. Il suffit d’installer quelques logiciels en plus du logiciel SDR. Alors que les postes DMR sont assez onéreux, les clé SDR les plus répandues sont vendues autour des 10/20€, écouter du DMR avec une clé SDR est donc très intéressant.

Voyons dans cet article comment procéder pour décoder le DMR avec une clé SDR. Un article pour décoder sous Linux est disponible ici.

Les prérequis

Pour suivre cet article vous devez avoir installé votre clé SDR sur votre ordinateur. Si vous ne savez pas comment faire, regardez ici.

Installation du câble audio virtuel

Pour décoder le DMR, il faut pouvoir envoyer ce que nous recevons de la clé SDR vers le logiciel de décodage. Pour éviter de devoir faire un pont entre la sortie écouteurs et l’entrée micro de notre ordinateur, on utilise un logiciel qui va mettre en place un câble audio virtuel.

Il s’agit du logiciel VB-Cable, téléchargeable ici.

Téléchargez ce logiciel et décompressez l’archive dans le dossier que vous voulez, un dossier dédié à VB-Cable.

Une fois l’archive décompressée, exécutez VBCABLE_Setup_x64.exe (ou VBCABLE_Setup.exe pour le 32Bits) en mode administrateur.

Sur la fenêtre qui s’ouvre, cliquez sur « Install Driver ».

Lancement de VB-Cable.

Vous aurez ensuite un message vous demandant de redémarrer votre ordinateur pour finaliser l’installation, et la fenêtre est devenue celle ci-dessous. Redémarrez donc votre ordinateur.

VB-Cable après l’installation.

Après avoir redémarré votre ordinateur, si vous allez consulter la liste de vos périphériques d’enregistrement, vous allez voir un périphérique nommé « CABLE Output » ; c’est la sortie de votre câble audio virtuel. Vous pouvez trouver l’entrée « CABLE Input » dans les périphériques de lecture.

Liste des périphériques d’enregistrement après l’installation.
Installation du logiciel de décodage DMR

Maintenant que le câble audio virtuel est installé, on peut installer le logiciel de décodage. Le logiciel utilisé est DSDPlus, disponible ici.

Téléchargez DSDPlus et les fichiers DLL (les 2 premiers liens de téléchargement de cette page).

Décompressez l’archive de DSDPlus dans le dossier que vous voulez, ce dossier deviendra le répertoire de DSDPlus. Décompressez ensuite l’archive des DLL dans ce dossier.

Si maintenant dans le dossier de DSDPlus vous lancez « DSDPlus.exe », vous devriez avoir ceci :

DSDPlus au lancement.

DSDPlus, donc le logiciel de décodage, est installé.

Commencer à décoder avec DSDPlus

Maintenant que tous les logiciels sont installés, commençons le décodage.

En premier lieu, il faut demander au logiciel SDR d’envoyer ce qu’il reçoit sur notre câble audio virtuel, autrement dit il faut configurer la sortie audio du logiciel SDR sur « CABLE Input », l’entrée de notre câble virtuel.

Sur HDSDR, se rendre sur « Soundcard », puis sélectionner « CABLE Input ».

Sélection de l’entrée du câble audio virtuel comme sortie de HDSDR.

Sur les autres logiciels SDR la manœuvre peut être différente mais l’esprit reste le même.

Désormais, tout ce qui est reçu par le logiciel SDR ne sort plus par vos hauts-parleurs mais va sur le câble audio virtuel.

Demandons donc à DSDPlus de décoder ce qui circule sur ce câble virtuel en utilisant comme source la sortie de ce câble.

Lorsque nous lançons DSDPlus, ce dernier nous affiche la liste des périphériques d’entrée/sortie disponibles (encadrée ici en bleu) et les périphériques d’entrée/sortie qu’il utilise (encadrée ici en rouge).

Listes des périphériques sur DSDPlus.

On peut voir dans les périphériques d’entrée (« audio input device ») la sortie de notre câble audio virtuel en n°3.

Cependant, dans la liste des périphériques utilisés (cadre rouge), on voit que DSDPlus utilise actuellement comme source le microphone de l’ordinateur (le périphérique n°1). Pour remédier à cela, on va créer un fichier .bat dans lequel on demandera à DSDPlus d’utiliser comme source la sortie du câble audio et comme périphérique de sortie nos hauts-parleurs.

Créez donc un fichier .txt lambda que vous allez nommer « DSDPlus », et changez le « .txt » en « .bat ».

Éditez ce fichier .bat (clic droit puis « Modifier ») et saisissez dedans :

start DSDPlus.exe -i3 -o1

Cette ligne demande à DSDPlus de se lancer : « start DSDPlus.exe », en choisissant comme périphérique d’entrée le périphérique n°3 : « -i3 », et comme périphérique de sortie le n°1 : « -o1 ». Bien entendu, le numéro des périphérique peut être différent sur votre ordinateur, adaptez donc ces numéro pour votre ordinateur.

A partir de maintenant lancez DSDPlus en exécutant le .bat

Vous pouvez désormais décoder du DMR grâce à votre clé SDR.

Décodage et affichage des géolocalisations

Certains réseaux DMR permettent également un suivi GPS des véhicules par exemple, en utilisant du LRRP. DSDPlus est capable de décoder et d’afficher ces informations sur une carte.

Pour cela, lancez DSDPlus depuis votre .bat, et lancez ensuite « LRRP.EXE », cet exécutable se trouve dans le dossier de DSDPlus.

Vous devriez avoir cette fenêtre en plus d’un terminal :

Carte LRRP.

Si le réseau que vous écoutez utilise le LRRP, vous verrez les positions s’afficher sur cette carte. Les commandes clavier pour naviguer sur la carte sont les suivantes :

Commandes utilisables sur la carte LRRP. Cette liste est disponible en tapant sur la touche « ? » ou « Maj+? » du clavier.
Carte avec 3 positions de véhicules décodées.

Toutes les positions GPS reçues sont sauvegardées dans le fichier DSDPlus.LRRP, modifiez le fichier et videz son contenu pour effacer les anciennes positions GPS reçues de la carte. Ce fichier sera créé après réception des premières coordonnées.

Installation d’une clé SDR sous windows

Les clé SDR permettent d’écouter bon nombre de fréquence pour une somme modique (entre 10€ et 20€ pour les modèles les plus répandus).

Pour utiliser cette clé SDR, il faudra juste installer un logiciel sur votre ordinateur, dans cet article nous allons traiter l’installation sous Windows. Un article pour l’installation sous Linux est disponible ici.

Le premier branchement de la clé sur l’ordinateur

Nous allons commencer par installer les drivers nécessaires. Pour cela, commencez par connecter la clé sur le port USB de votre ordinateur qui sera le port où votre clé fonctionnera. Une fois la clé branchée, empêchez Windows de rechercher les pilotes nécessaires.

Il faut maintenant installer les drivers de la clé sur l’ordinateur à l’aide du logiciel Zadig, téléchargeable ici. Une fois Zadig téléchargé, lancez-le. Vous devriez avoir cette fenêtre :

Zadig au lancement.

Rendez-vous ensuite dans « Options », puis cochez « List All Devices ».

Menu « Options » de Zadig.

Vous devriez désormais pouvoir dérouler la liste des périphériques qui était grisée au début, et dans cette liste vous devriez trouver les 2 périphériques suivants (vous pouvez en avoir d’autres) :

Liste des périphériques dans Zadig.

Sélectionnez le périphérique en bleu dans l’image ci-dessus (celui se terminant par « (Interface 0) » et cliquez sur « Install Driver » (le bouton pourra aussi s’appeler « Reinstall Driver » en fonction de votre ordinateur).

Après avoir laissé travailler Zadig quelques instants, vous devriez avoir cette fenêtre avec un nouveau nom pour le périphérique sélectionné plus haut (le nom peut varier légèrement) :

Zadig après avoir installé le driver.

Votre clé SDR peut désormais être utilisée avec votre ordinateur.

Le logiciel pour écouter les ondes avec votre clé

Votre clé est installée mais il manque encore un logiciel, il s’agit du logiciel pour écouter les ondes radio.

Il en existe plusieurs, des gratuits comme des payants, certains offrants plus d’options que d’autres. Mon choix s’est porté sur le logiciel HDSDR, disponible ici, mais vous pouvez également utiliser SDRSharp ou SDRuno.

Le logiciel HDSDR.

Pour l’installer, commencez par le télécharger ici, et installez-le en suivant les instructions.

Une fois installé, rendez-vous dans son dossier d’installation et mettez-y le fichier ExtIO_RTL2832.dll, téléchargeable ici.

Vous pouvez maintenant utiliser votre clé SDR avec le logiciel HDSDR.

 

Installation d’une clé SDR sous linux

Les clé SDR permettent d’écouter bon nombre de fréquence pour une somme modique (entre 10€ et 20€ pour les modèles les plus répandus).

Pour utiliser cette clé SDR, il faudra juste installer un logiciel sur votre ordinateur, dans cet article nous allons traiter l’installation sous Linux. Un article pour l’installation sous Windows est disponible ici.

Installation du logiciel

Alors que sous Windows il faut commencer par installer les drivers, l’installation sous Linux est lus simple.

Commencez par installer le Logiciel GQRX. Pour cela, tapez dans votre terminal la commande :

sudo apt-get install gqrx-sdr

Terminal avec la commande pour installer GQRX.

Après avoir installé GQRX, branchez votre clé et lancez-le. Vous devriez avoir une fenêtre pour choisir les entrées et les sorties. Choisissez votre clé SDR dans les périphériques d’entrée comme ci-dessous.

Si la clé n’apparait pas, une solution au problème peut être de blacklister son driver. Pour cela, créez un fichier rtlsdr.conf dans /etc/modprobe.d et saisissez dedans la ligne suivante :

blacklist dvb_usb_rtl28xxu

Supprimez ensuite le pilote avec la commande suivante :

sudo modprobe -r dvb_usb_rtl28xxu

Choix du périphérique d’entrée.

Une fois la clé sélectionnée, cliquez sur « OK ».

Là une nouvelle fenêtre se lance, il s’agit de GQRX en lui même. Vous n’avez plus qu’à cliquez sur l’icône en haut à gauche (en dessous de « File ») pour commencer à écouter avec votre clé SDR.

Le logiciel GQRX.

Comme sous Windows il existe plusieurs logiciels pour clé SDR, celui que je viens de vous présenter est simplement celui que j’utilise, n’hésitez pas à essayer les autres.

Radio FM et RDS sur Raspberry Pi

Le RDS, c’est quoi ?

Le RDS, ou Radio Data System, est un système de transmission de données numériques en parallèle des données audio de la bande II de la VHF (de 87,5 Mhz à 108 Mhz). Autrement dit, lorsque vous écoutez une station radio FM, des données sont transmises comme le suivi de station (qui permet l’écoute en continu d’une station même lors d’un déplacement impliquant un changement de fréquence), le nom de la station radio ou le titre de la musique diffusée ; toutes ces données sont transmises en plus de la musique, c’est le RDS qui s’en charge.

Transformer une Raspberry en un émetteur FM et RDS

Le matériel nécessaire

La liste du matériel nécessaire est plutôt courte, car il suffit d’une Raspberry (dans mon cas il s’agit d’une Pi avec Raspbian Stretch) et d’un bout de fil pour l’antenne.

La partie logicielle : installation et premier lancement

Là non plus ce n’est pas très compliqué. Il faut commencer par installer la librairie sndfile avec la commande :

sudo apt-get install libsndfile1-dev

Une fois cette librairie installée, il faut installer Pi-FM-RDS. (vous trouverez le projet Github ici ). Pour l’installer, il faut suivre la procédure suivante :

  1.    git clone https://github.com/ChristopheJacquet/PiFmRds.git
  2.    cd PiFmRds/src
  3.    make clean
  4.    make

Maintenant que vous avez installé Pi-FM-RDS, vous pouvez le lancer en tapant la commande :

sudo ./pi_fm_rds

( Pour lancer cette commande il faut être dans le dossier « PiFmRds/src ». )

Si tout est bien installé, une fois cette commande de lancement exécutée, vous avez ceci :

Capture du terminal après le lancement de Pi FM RDS.

Il faut également mettre un bout de fil comme antenne sur le GPIO4 de votre Raspberry, le GPIO4 est le GPIO utilisé par Pi-FM-RDS.

Si maintenant avec un poste radio ou une clé sdr vous écoutez la fréquence 107.9 Mhz, vous n’aurez aucune musique et l’afficheur RDS (si votre poste en a un) affichera des informations variables à la place du nom de la station et « PiFmRds : live FM-RDS transmission from the RaspberryPi » à la place du titre de la chanson.

Capture du logiciel SDRSharp avec Pi-FM-RDS de lancé avec la commande citée plus haut.

La partie logicielle : personnalisation des paramètres

Maintenant que Pi-FM-RDS est installé et fonctionnel, on veut pouvoir l’utiliser à « notre sauce ». Voyons donc comment personnaliser les paramètres.

La fréquence

Par défaut il émet sur la fréquence 107.9 Mhz. Pour changer cette fréquence c’est très simple, il suffit de donner à l’application lors de son lancement la fréquence que l’on souhaite (Pi-FM-RDS fonctionne avec toute la bande II). Pour lui indiquer cette fréquence, on rajoute -freq ‘frequence’ à la suite de la commande de lancement. Pour lancer l’application sur la fréquence 105.5 Mhz par exemple, on devra donc exécuter la commande suivante :

sudo ./pi_fm_rds -freq ‘105.5 Mhz’

Le nom de la station

Après avoir modifié la fréquence, personnalisons le nom de la station. Le principe est le même que pour la fréquence, mais avec la balise -ps ‘votre texte’. Ce texte ne doit pas faire plus de 8 caractères. Si on veut par exemple nommer notre station « IRadio », il nous faut lancer la commande :

sudo ./pi_fm_rds -ps ‘IRadio’

Le titre de la musique

Là encore le principe est le même, il n’y a que la balise qui change et devient -rt ‘votre texte’. Ce texte ne doit pas faire plus de 64 caractères. Pour exemple, demandons à notre Raspberry d’afficher comme titre de musique « F4IAI Nimes » :

sudo ./pi_fm_rds -rt ‘F4IAI Nimes’

Jouer un fichier audio

En plus de transformer la Raspberry en émetteur RDS, Pi-FM-RDS la transforme en émetteur radio traditionnel. On peut donc lui demander de diffuser un fichier audio. Seul impératif, ce fichier doit être au format .wav ou .ogg, le format .mp3 n’est pas supporté. Ce fichier sera joué en boucle. La balise pour le charger est -audio ‘chemin du fichier’. On veut par exemple jouer le fichier « musique » présent dans le fichier « pi » de ma Raspberry :

sudo ./pi_fm_rds -audio ‘/home/pi/musique.wav’

 

D’autres fonctions sont disponibles, elles sont décrites sur le projet Github.

Toutes ces fonctions sont bien entendu cumulables, on peut donc par exemple jouer sur 105.5 Mhz le fichier « musique », en nommant la station « IRadio » et en affichant comme titre « F4IAI Nimes », pour cela il faut lancer la commande :

sudo ./pi_fm_rds -freq ‘105.5 Mhz’ -audio ‘/home/pi/musique.wav’ -ps ‘IRadio’ -rt ‘F4IAI Nimes’

Une fois cette commande lancée, sur 105.5 Mhz votre poste entendra le fichier « musique » et s’il équipé pour le RDS affichera le nom de station et le titre de musique indiqués ci-dessus.

Capture du terminal de la Raspberry une fois la commande exécutée.

 

Capture du logiciel SDRSharp avec les paramètres saisis plus haut.

 

En France, l'émission sur ces fréquences est interdite, faites donc vos essais sur une courte durée et de manière à avoir une toute petite portée (que ça ne sorte pas de chez vous...).

Le projet de station météo APRS mobile : présentation générale de la librairie Arduino

Comme indiqué dans l’article de présentation du matériel de la V1, la station est organisée autour d’une carte Arduino Uno, je pense qu’il n’est pas nécessaire de présenter ce qu’est une Arduino Uno tellement cette petite carte est répandue…

Carte Arduino Uno.

 

Tous les capteurs sont donc connecté à cette Arduino, et c’est elle qui est chargée de collecter les données et de construire la trame APRS pour l’envoyer.

la librairie utilisée

Après avoir récupéré les données, l’Arduino va construire une trame APRS. Cette construction se fait grâce à la librairie aprslib. En téléchargeant cette librairie, vous avez 2 fichiers exemples. Un fichier avec GPS, un autre sans GPS. Je n’ai pas essayé le fichier avec GPS, je me suis contenté de la version sans GPS et je saisissais les coordonnées manuellement.

Pour pouvoir paramétrer plus facilement le programme, je vous conseille de déplacer le fichier d’exemple dans le dossier avec tous les autres fichiers :

Le dossier avec tous les fichiers de la librairie (APRS_tuto.ino étant le fichier exemple).

Lorsque vous ouvrez le fichier .ino avec l’IDE Arduino (ou tout autre IDE compatible), vous allez donc avoir également tous ces fichiers. Pensez juste à modifier dans le fichier .ino le #include <aprslib.h> par  #include « aprslib.h ». Vous pourrez donc modifier facilement différents paramètres répartis dans ces fichiers :

  • Dans le fichier aprslib.cpp vous trouverez la structure de la treme APRS.
    Capture de la structure de la trame dans aprslib.cpp

    Vous pouvez par exemple changer le symbole à la ligne 74 (le symbole pour les station météo est ‘_‘).

  • Le fichier config.h est le fichier dans lequel j’ai paramétré le plus de chose.
    Configuration du SSID, de l’indicatif de destination et du WIDE.

    A la ligne 43 se trouve le SSID, par exemple en saisissant 13 cela donnera F4IAI-13. A la ligne 46 se trouve l’indicatif de destination, je ne l’ai pas changé. A la ligne 53 se trouve le WIDE, le chemin. Pour être répéter un maximum de fois je l’ai modifié en WIDE3-3.

    Configuration des pins.

    Vous pouvez modifier les pins de l’Arduino pour le PTT et le pin duquel sortira la trame audio. Le pin audio (à la ligne 101) doit être la sortie 3 ou la sortie 11. Le pin de PTT n’a lui pas pas besoin d’être forcément une sortie PWM.

  • Le fichier radio_hx1.cpp est le fichier du PTT. Vous pouvez inversé les états du pin en modifiant les LOW en HIGH et HIGH en LOW aux lignes 28, 38 et 52.
    C’est ici que l’on peut inverser les états du PTT.

     

  • Enfin, le fichier .ino contient le programme principal.

C’est ici tout que tout le reste se paramètre. A la ligne 45 vous pouvez saisir votre indicatif (sans le SSID qui a été saisi dans un autre fichier). A la ligne 46 vous pouvez saisir l’heure, à la ligne 47 la latitude, à la ligne 48 la longitude (la latitude et la longitude doivent être en degrés minutes décimales, j’utilise ce convertisseur pour les obtenir en sélectionnant le format « marine »).

A la ligne 49 vous avez la direction, à la ligne 50 la vitesse. Enfin, à la ligne 51 vous pouvez saisir le commentaire que vous voulez, il faudra juste penser à augmenter le nombre de caractères de votre variable tempaprscomment en fonction de la longueur de votre commentaire (pour cela il faut modifier la valeur de la ligne 35).

Le delay() de la ligne 59 vous permet de choisir l’intervalle de temps entre 2 émissions, la durée doit être saisie en millisecondes.

C'est la fin de cette présentation de la librairie utilisée, n'hésitez pas à me contacter si vous avez des questions. Vous pouvez trouvez un article sur l'envoi de trames météo avec cette librairie ici.

 

Le projet de station météo APRS mobile : le matériel de la V1

Comme il faut bien commencer par quelque chose, pour la station météo APRS il a été choisi de commencer par du matériel principalement de récupération. Voici donc une présentation du matériel utilisé pour la station V1.

Les capteurs :

L’anémomètre / girouette

L’anémomètre / girouette est issus d’une de mes ancienne station météo, il s’agit d’un LaCrosse TX23. Nous lisons les données qu’il envoi grâce à une librairie Arduino dédiée, cette librairie nous permet de récupérer la vitesse et la direction du vent toutes les 2 secondes. Les fils sont connectés à l’Arduino de la manière suivante :

  • Fil marron : fil de données, sortie PWM nécessaire,
  • Fil rouge : +5v,
  • Fil vert : ne pas connecter,
  • Fil jaune : masse.
le pluviomètre

Le pluviomètre est celui issus d’une de mes ancienne station météo. C’est un Oregon Scientific PCR800. Il fonctionne avec un godet et un ILS (interrupteur à lame souple). Étant donné qu’il est conçu pour envoyer ses données à la console de la station d’origine sur le 433Mhz, nous avons soudé des fils aux bornes de l’ILS pour récupérer ses données câble. Pour avoir la pluviométrie, il nous suffit donc de compter le nombre de changements d’états de l’ILS avec l’Arduino qui correspond aux nombre de basculements du godet.

le thermomètre / hygromètre

Le thermomètre / hygromètre n’est lui pas de récupération. Il s’agit d’un DHT22 que l’on trouve entre 5 et 10€ sur internet. Au début nous avions essayé le DHT11, moins cher, mais aussi moins précis, avec une plage de fonctionnement moins grande et qui consomme plus en énergie.

Quelques différences entre le DHT11 et le DHT22 :

 DHT11DHT22
Consommation2,5mA1,5mA lors d'une mesure, 50µA au repos
Mesure de la températurede 0°C à 50°C, avec une précision de +/- 2°Cde -40°C à 80°C, avec une de précision de +/- 0,5°C
Mesure de l'Hygrométrie (Humdité)de 20% à 80%, avec une précision de +/- 5%de 0% à 100%, avec une précision de +/- 2 à 5%
Fréquence de mesure1 mesure par seconde4 mesures par seconde

Pour lire les données du DHT22 (comme pour le DHT11 si c’est celui que vous avez), il suffit d’utiliser la librairie Adafruit Sensor et la librairie DHT Sensor.

le baromètre

Le baromètre (ou capteur de pression atmosphérique) n’est pas un capteur de récupération. Il s’agit d’un BMP180, que l’on trouve autour de 10€ sur internet. Nous l’utilisons uniquement pour la pression atmosphérique, mais il peut également donner la température et l’altitude.

ParamètrePlage de fonctionnement et précision
Pression atmosphériquede 300hPa à 1100 hPa, avec une précision de +/- 0,03 hPa
Températurede -40°C à 85°C, avec une précision de +/- 2°C
Altitudede -500m à 9000m par rapport au niveau de la mer, avec une précision de +/- 0,25m

Il communique les données à l’Arduino en I2C, pour les lire il faut installer la libraire BMP085/BMP180, et faire les branchements suivants :

  • Pin VCC sur le 3.3V (ATTENTION, selon votre version du capteur, il peut ne pas supporter le 5V, je vous conseille donc d’utiliser le 3.3V),
  • Pin GND sur la masse,
  • Pin SCL sur A5,
  • Pin SDA sur A4.

Le contrôle de la station:

Comme indiqué au fil de cet article, la station est basée sur une carte Arduino, plus précisément sur une Arduino Uno.

Cette Arduino Uno récupère toutes les données des capteurs, construit la trame APRS et envoi la trame BF au poste radio (un article sur cette partie sera mis en ligne prochainement).

Afin d’éviter des branchements complexes, nous avons créé notre propre shield (plans disponibles en me contactant par mail : meteobruno@gmail.com ), sur lequel nous venons connecter un connecteur IDC 10 broches qui regroupe tous les capteurs.

Le GPS :

Le GPS est un GPS Trimble de radiosonde M10. Pour le réutiliser nous avons suivi les travaux d’un autre radioamateur, F1BSW. Il suffit de couper une piste et de souder quelques fils pour pouvoir le réutiliser : lien vers la page de F1BSW.

La radio :

Le poste radio utilisé est un TALCO CS3, programmé pour l’APRS. L’Arduino contrôle le TALCO (envoi de la trame et PTT) grâce à sa prise micro, dont voici les correspondances des fils :

Correspondance des fils sur la prise micro du TALCO

La batterie :

La batterie utilisée actuellement est une batterie 12V / 65 Ah de voiture. La conversion 12V vers 5V pour alimenter l’Arduino est assurée par le shield cité plus haut.


Voilà la fin de cette petite présentation des composants de la station. D'autres articles dédiés à des éléments comme le shield ou le GPS seront bientôt mis en ligne.

 

Continuer la lecture de Le projet de station météo APRS mobile : le matériel de la V1