![]() |
L'APRS
Le père de l' APRS est Bob Bruniga, un radioamateur américain dont l'indicatif est WB4APR. Il faut savoir que l'utilisation de l' APRS est réservée aux radioamateurs émettant sur les bandes radioamateurs, ceci par la volonté du concepteur. On constate pourtant son utilisation sur d'autres fréquences, non radioamateurs.
Néanmoins, il est possible de dire que les cartes à microcontrôleur ou à microprocesseur, peuvent sortir les codes dans le format suivant :
Format octet par octet :
le premier octet qui est transmis est un drapeau de début de trame : FF en hexadécimal ou 255 en décimal.
Exemples :
format de base en réception sur l'écran avec les vrais valeurs en volts.
Date;Heure;Chrono;Test;Voie2;Voie3;Text;Tint;PhotoR;PhotoD;Pression;Piles;
30-10-2006;12:29:15 ;2,51;0,00;0,00;4,55;4,55;4,90;0,61;3,31;13,73
Ces lignes sont écrites par l'ordinateur et le logiciel de réception, la traduction en volts a été faite, la date et l'heure sont ajoutées par le logiciel et non communiquées par la carte ballon.
En réalité, les données transmises par la carte ballon sont au format de base à l'émission :
255, D1, D2, D3, D4, D5, D6, D7, D8, ALIM
le traitement logique est simple : rapport tension de sortie / code transmis en décimal
5 volts / 255 = Ui / Ni donc Ni = Ui . 255 / 5 ( ou Ui = Ni / 51 = Ni . 0,0196078 )
5 volts est la tension maximale possible en sortie des capteurs. (en pratique < 5 volts ).
par exemple pour D1 (octet test ci-dessus) : Ni = 2,51 . ( 255 / 5 ) = 2,51 . 51 = 128
La trame octet par octet est alors :
255, 128, 0, 0, 232, 232, 250, 31, 169, ALIM
Remarques :
La carte ne doit pas transmettre la valeur 255 au niveau des données, cela pourrait causer une erreur par confusion avec le drapeau de début de trame, donc les tensions issues des capteurs ne doivent pas atteindre les 5 volts.
Limiter les tensions de sortie des capteurs à 4,9 volts par exemple ou à 4,096 volts.
exemple : 4,096 / 256 = 0,016
Si un octet de données est à la valeur 255, c'est qu'il y a une erreur de transmission : la trame n'est pas bonne !
L'octet ALIM est écrit 13,73 volts dans l'exemple ci-dessus. Le calcul est différent de celui des données.
par exemple : N alim = U alim . 255 / 18 = U alim . 14,16666 ( 18 est la tension maximale des piles ).
N alim = 13,73 . 14, 16666 = 194 ou U alim = N alim . 0, 0705882 = 194 . 0,0705882 = 13,7 volts
La trame octet par octet est alors :
255, 128, 0, 0, 232, 232, 250, 31, 169, 194
Il y a un léger manque de précision car la transformation est sur 8 bits :
5 volts divisés par 255 par bit = 0,0196 V / bit
Pour une meilleure précision, il serait possible d'utiliser une conversion sur 10 bits :
5 / 1024 par bit = 0,00488 V / bit
ou même sur 12 bits :
5 / 4096 par bit = 0,00122 V / bit
Le choix se fera en fonction de la précision désirée dans les mesures.
La trame est complétée par un octet de vérification d'erreur appelé dans le jargon " Checksum " :
CS = la somme de tous les octets de la trame.
255, D1, D2, D3, D4, D5, D6, D7, D8, ALIM, CS
Le logiciel de réception va rejeter les "mauvaises trames" en erreur de checksum mais il est possible d'enregistrer toutes les trames et de faire un tri ultérieur à partir d'un fichier "brut" contenant des erreurs.
Si le nombre de trames à la minute est élevé, les mauvaises trames peuvent être rejetées. Par contre, il existe des
programmes de détection d'erreurs et des corrections d'erreurs. Il est possible de récupérer plus de trames en utilisant des artifices de lutte contre les erreurs. Dans ce cas, on utilisera des trames plus complètes que les trames de base. Voir autres articles à ce sujet.
Voir les pages sur la transmission des données pour plus de détail.
TRAMES APRS : exemples
F6AGV>APT310:
!4817.50N/00226.29EO000/000/A=000044
F6AGV>APT310:
{{1,03FA,0248,0243,0331,027D,02B2,02FF,01CA,C0}
F6AGV>APT310:
{{1,03FA,0247,0243,0330,027D,02B4,0302,01CA,C0}
F6AGV>APT310:
{{1,03FA,0247,0243,0331,027D,02B0,02FB,01CA,C0}
F6AGV>APT310:!4715.24N/ 0123.76EO000/000/A=000445
F6AGV>APT310:{{1,021C,01F6,01CA,0128,0159,0363,02A6,0291}
F6AGV>APT310:{{1,0219,01F4,01CA,0128,0159,0362,02A6,028E}
F6AGV>APT310:{{1,0218,01F3,01CA,0128,0159,0363,02A6,028C}
F6AGV>APT310:>PTLM1,074701,359,136,126,129,128,116,144,136,119,*CC
=5029.0405N/00308.6076EOALT:50.9M
38938.5747916667þ13:47:40R F6AGV>GPS <UI C Len=69>:
$GPGGA,114747.00,5029.0399,N,00308.6074,E,1,04,3.0,50.9,M,47.2,M,,*55
38938.5747916667þ13:47:42R F6AGV>APRS <UI C Len=33>:
=5029.0399N/00308.6074EOALT:50.9M
F6AGV>GPS:$GPGGA,071324.00,4950.8706,N,00337.5744,E,1,09,0.9,1239.7,M,47.6,M,,*50
F6AGV>CAPT1:*02927s Temp int:045'C Pression:878mB Temp ext:031'C Cap4:886Pt
F6AGV>GPS:$GPGGA,071336.00,4950.9026,N,00337.6618,E,1,09,0.9,1252.7,M,47.6,M,,*51
F6AGV>APRS:=4950.9026N/00337.6618EOALT:1252.7M
F6AGV>CAPT2:Cap5:1653Pt Cap6:1751Pt Cap7:032Pt Batterie:12.6V
Le logiciel de réception doit lire les données des capteurs et les données de position GPS, soit à partir de la trame GPGGA qui est la trame "brute" (NMEA 0183) issue du GPS embarqué sans modification :
$GPGGA,114747.00,5029.0399,N,00308.6074,E,1,04,3.0,50.9,M,47.2,M,,*55
soit à partir de la trame GPS compatible avec le logiciel UI-VIEW ou autre.
=5029.0399N/00308.6074EOALT:50.9M
Vous pouvez remarquer que cette trame GPS est "débarrassée" des codes qui ne servent pas normalement aux applications sur ballon. Il est parfois utile de conserver, des informations comme le nombre de satellites par exemple.
Documentation :
https://www.tapr.org/aprs_information.html
http://www.arrl.org/news/bob-bruninga-wb4apr-takes-aprs-underground
http://info.aprs.net/index.php?title=Bob_Bruninga
Texte de présentation de l' APRS : cliquez ici
![]() |
CARTE KTN de F6KTN ( en préparation ) |
![]() |
CARTE COTT de l'AMSAT-F ( en préparation ) |
![]() |
CARTE TIM BOARD |
![]() |
UI-VIEW ( en préparation ) |
![]() |
PROCOMM ( en préparation ) |
![]() |
HYPER TERMINAL ( en préparation ) |
![]() |
FICHIER UI-VIEW généré à partir d'un enregistrement BF |
![]() |
|
![]() |
|
![]() |
carte COTT AMSAT-F de F6FAO
carte KTN de F6KTN en essai chez F1IWQ
nacelle F6KTN juste avant le décollage