|
Le protocole APRS permet de transmettre des données de télémétries, à savoir 5 valeurs analogiques et 8 valeurs binaires (1 ou 0). Ce protocole n'est pas facile à appréhender quand on l'aborde pour la première fois. Voyons si on peut y voir un peu plus clair? |
Les données analogiques
Les 5 valeurs analogiques sont transmises en mots de 8 bits, et sont donc limitées à des valeurs de 0 à 255.
Les mesures analogiques (tension, température, pression, etc...) doivent donc être mappées dans cette limite de 255 valeurs.
Par exemple, la tension d'une batterie de 12V pourrait donc être transmise par la valeur binaire 12. La plage serait alors de 0 à 255 Volts.
La précision serait donc faible, puisqu'on ne pourrait avoir qu'une précision de 1 V.
Si on veut augmenter la précision transmise, on peut décaler et réduire la plage de mesure.
Par exemple pour la même batterie, seule la plage normale de fonctionnement est utile, disons de 10 à 14 V.
Nous aurions donc à disposition 255 valeurs dans la plage de 4 V, soit 4 / 255 = 0,015 V environ par pas, ce qui est nettement mieux et suffisant pour surveiller une batterie!
La "formule" de calcul de la valeur entière numérique à transmettre serait donc (tension batterie -10) / 0,015.
Pour la tension de 12V ci-dessus => (12 - 10) / 0,015= 133
La tension maximum mesurable est de (255 / 0,015) + 10 = 13,825 V
La tension minimum mesurable est de (0 / 0,015) + 10 = 10 V
A l'autre bout de la liaison, le décodeur de télémétrie fera l'opération inverse en recevant la valeur numérique 133.
Donc (133 x 0,015) + 10 = 11,995V
Les données binaires
En télémétrie APRS, il est possible de transmettre 8 états binaires, donc 0 ou 1
Ces états peuvent par exemple représenter l'état d'un relais ouvert ou fermé, si une porte est ouverte ou fermée, etc...
Maintenant que nous savons quoi transmettre, nous devons décider comment exploiter ces données.
Il y a 2 choix, soit nous transmettons les valeurs telles quelles car NOUS savons comment les exploiter mais personne d'autre ne pourra le faire, ou nous transmettons des informations complémentaires afin que tout le monde puisse les exploiter.
Pour cette 2ème solution, le protocole APRS a prévu 4 messages pour interpréter la télémétrie analogique et un pour la télémétrie binaire.
Le message T
Ce message transmet les données de télémétrie proprement dites. Il utilise le symbole T suivi d'un numéro xxx de séquence sur 3 chiffres, de la série de 5 grandeurs numériques aaa des valeurs analogiques et des 8 données binaires bbbbbbbb.
Le message PARM
Ce message transmet le nom des données envoyées. ATTENTION les noms ont une longueur limitée différente suivant leurs positions !
Par exemple, la tension batterie pourrait être nommée Battery dans le 1er champ.
Un champ non utilisé sera mis à 0 (zéro) ou la série peut être interrompue à n'importe quelle position.
Le message UNIT
Ce message transmet les unités des données envoyées.
Par exemple l'unité de la batterie pourrait être exprimée en Volts ou v/100 comme dans l'exemple ci-dessous.
Même remarque concernant le longueur des champs que pour le message PARM.
Le message EQNS
Ce message transmet la formule de calcul pour retrouver la valeur analogique initiale.
Pour chaque valeur, on transmet 3 nombres, a, b et c.
L'entête est EQNS. (point) suivi des 15 valeurs a,b,c à la suite l'une de l'autre.
La formule pour retrouver la valeur numérique est ax² + bx + c ( ça ne vous rappelle rien ? :) )
Généralement, a est mis à 0, la valeur finale est donc bx + c.
x étant la donnée numérique reçue, on retrouve les valeurs dans notre exemple de la batterie. b est la valeur de chaque pas (0,015) et c le décalage (10).
Le récepteur calcule donc ax² + bx +c = (0 x 133) + (0,015 x 133) + 10 = 11,995
Sans message EQNS, les coefficients par défaut sont {a,b,c} = {0,1,0}
Message BITS
Ce message "Bit sense" et nom du projet, indique le sens du bit correspondant + le nom du projet.
Par exemple si, pour le bit B1 = 0 précédemment transmis dans le message T, et que le bit de sens pour B1 = 0, alors B1 est considéré comme VRAI.
Le nom du projet peut contenir jusqu'à 24 caractères.
Remarques
Dans les messages PARM, UNIT, ENQS, BITS, l'indicatif de destination doit avoir 9 caractères. Il faut donc justifier à gauche et remplir d'espaces jusqu'à 9.
Ceci n'est pas indiqué dans le document de référence du protocole APRS et m'a fait perdre quelques heures !!
Résultats
Voici les données reçues par un digipeater et graphes obtenus en relevant les données télémétrie d'une station APRS sur http://aprs.fi
En espérant avoir été utile ?