Transmisja w APRS posługuje się ramkami UI protokołu AX.25, zawierającymi dziewięć pól danych:
AX.25 - Format ramek UI | |||||||||
Flaga | Adres przeznaczenia | Adres źródła | Adres digi | Pole kontrolne (UI) | Identyfikacja protokołu | Pole informacji | FCS | Flaga | |
Adresat | Nadawca | Ścieżka | |||||||
Liczba bajtów | 1 | 7 | 7 | 0-56 | 1 | 1 | 1-256 | 2 | n |
Na terminalu naszej stacji zobaczymy ramki w postaci nieco odmiennej, jak np.:
SR3DPN>APN383,WIDE2-2:!5225.85NS01654.50E#PHG4480 SPn,W5 Poznan Digi
Możemy jednak odczytać następujące elementy:
SR3DPN - adres źródła (nadawca)
APN383 - adres przeznaczenia (adresat)
WIDE2-2 - adres digi (ścieżka)
!5225.85NS01654.50E#PHG4480 SPn,W5 Poznan Digi - pole informacji
Pole informacji w ramkach APRS zawiera w sobie takie informacje, jak (wszystkie lub niektóre):
Pole informacji ramek wysyłanych w APRS | ||||
Identyfikator danych | Dane | Rozszerzenie danych | Komentarz | |
Liczba bajtów | 1 | n | 7 | n |
We wcześniej użytym przykładzie, pole informacji:
!5225.85NS01654.50E#PHG4480 SPn,W5 Poznan Digi
zawiera następujące elementy:
! - identyfikator 5225.85NS01654.50E# - dane APRS PHG4480 - rozszerzenie danych SPn,W5 Poznan Digi - komentarz
Każda ramka wysyłana w APRS zawiera na początku pola informacji identyfikator, który określa, jakiego typu dane w nim się znajdują:
Identyfikator | Rodzaj danych | Data type |
---|---|---|
0x1c | Obecnie używane dane Mic-E | Current Mic-E Data (Rev 0 beta) |
0x1d | Dawniej używane dane Mic-E | Old Mic-E Data (Rev 0 beta) |
! | Pozycja bez czasu (bez możliwości obsługi wiadomości) lub stacja pogodowa Ultimeter 2000 | Position without timestamp (no APRS messaging), or Ultimeter 2000 WX Station |
" | Nie używane | [Unused] |
# | Stacja pogodowa Peet Bros U-II | Peet Bros U-II Weather Station |
$ | Szereg danych GPS lub Ultimeter 2000 | Raw GPS data or Ultimeter 2000 |
% | Namierzanie kierunkowe | Agrelo DF Jr / MicroFinder |
& | Zarezerwowane | [Reserved - Map Feature] |
' | Dawniej używane dane Mic-E, obecnie dane TM-D700 | Old Mic-E Data (but Current data for TM-D700) |
( | Nie używane | [Unused] |
) | Przedmiot | Item |
* | Stacja pogodowa Peet Bros U-II | Peet Bros U-II Weather Station |
+ | Zarezerwowane | [Reserved - Shelter data with time] |
, | Dane niedostępne lub dane testowe | Invalid data or test data |
- | Nie używane | [Unused] |
. | Zarezerwowane | [Reserved - Space weather] |
/ | Pozycja z czasem, stacja nie obsługuje wiadomości | Position with timestamp (no APRS messaging) |
0-9 | Nie używane | [Unused] |
: | Wiadomość | Message |
; | Obiekt | Object |
< | Zdolność stacji | Station capabilities |
= | Pozycja bez czasu, stacja obsługuje wiadomości | Position without timestamp (with APRS messaging) |
> | Status | Status |
? | Zapytanie | Query |
@ | Pozycja z czasem, stacja obsługuje wiadomości | Position with timestamp (with APRS messaging) |
A-S | Nie używać | [Do not use] |
T | Dane telemetryczne | Telemetry data |
U-Z | Nie używać | [Do not use] |
[ | Beacon lokatora (przestarzałe) | Maidenhead grid locator beacon (obsolete) |
\ | Nie używane | [Unused] |
] | Nie używane | [Unused] |
^ | Nie używane | [Unused] |
_ | Dane pogodowe bez pozycji | Weather Report (without position) |
` | Obecnie używane dane Mic-E, z wyjątkiem TM-D700 | Current Mic-E Data (not used in TM-D700) |
a-z | Nie używać | [Do not use] |
{ | Format danych zdefiniowanych przez użytkownika APRS | User-Defined APRS packet format |
| | Nie używać | [Do not use] |
} | Dane od stacji trzeciej (np. dane od innej stacji emitowane przez bramkę internetową na RF) | Third-party traffic |
~ | Nie używać | [Do not use] |
Pozycja
Standardowe dane pozycji rozpoczynają się następującymi identyfikatorami:
! = / @
Szerokość i długość geograficzna zostają wyrażone poprzez stopnie,
minuty i setne części minuty. Cyfry mogą być zastąpione odstępem, aby
dokonać zaokrąglenia. Wraz z pozycją wpisany jest kod
symbolu.
Dane pozycji umieszczone są w następującym porządku:
Przykładowe dane pozycji:
!5225.85NS01654.50E#
Oddzielając poszczególne elementy:
! - identyfikator 5225.85N - szerokość geograficzna 01654.50E - długość geograficzna S# - kod symbolu
! stacja bez obsługi wiadomości
= stacja z obsługą wiadomości
/ stacja bez obsługi wiadomości
@ stacja z obsługą wiadomości
Jeśli do pozycji dołączony jest czas, to zostaje on wstawiony po identyfikatorze, a przed pozycją i symbolem. Czas może być określony jako DHM (dzień, godzina, minuta) lub jako HMS (godzina, minuta, sekunda). Po dwie cyfry dla każdej wartości, czyli DDHHMM, lub HHMMSS. W przypadku DDHHMM może to być czas uniwersalny lub lokalny. Dla czasu uniwersalnego dodawana jest litera z (zulu), natomiast dla czasu lokalnego znak łamania /. Natomiast HHMMSS może być wyłącznie czasem uniwersalnym i dodawana jest litera h.
Przykładowe dane:
@072118/5225.85N/01654.50E>
Mamy w nich następujące elementy:
@ - identyfikator 072118/ - czas 5225.85N - szerokość geograficzna 01654.50E - długość geograficzna /> - kod symbolu
Dane pozycji mogą być rozszerzone o 7 bajtów wyrażających:
Przykładowe pozycje z rozszerzeniami:
=5225.85N/01654.50E>165/027 !5225.85N/01654.50E_296/005 !5225.85NS01654.50E#PHG4480 @072118z5225.85N/01654.50E-RNG0015 /072118/5225.85N/01654.50E\DFS2345 ;ObszarREZ*5225.85N\01654.50El333/555
Pozycja w standardowym formacie, rozpoczynająca się identyfikatorem:
! = / lub @, może zostać poddana kompresji typu Base-91. Kompresja
obejmuje pozycję i jej rozszerzenie znajdujące się w polu informacji
AX.25
Kompresja Base-91 zawiera 13 znaków:
/YYYYXXXX$csT
/ - pierwszy składnik symbolu YYYY - skompresowana szerokość geograficzna wg ASCII XXXX - skompresowana długość geograficzna wg ASCII $ - drugi składnik symbolu cs - skompresowane kierunek/prędkość albo skompresowany zasięg radiowy albo skompresowana wysokość T - informacja o rodzaju kompresji
Kompresja Mic-E obejmuje nie tylko dane w polu informacji, ale także adres przeznaczenia. Taki format zawiera jeden z następujących identyfikatorów na początku pola informacji:
0x1c 0x1d ' `
Mic-E zawiera pozycję bez czasu, rozszerzenie CSE/SPD (kurs/prędkość), parametr A (wysokość npm) oraz jeden z 15-tu statusów lub w jego miejsce dane telemetryczne.
Ramka w standardowym formacie:
SP3LYR>APRS,WIDE2-2:!5224.78N/01653.52E>125/015
Ramka po przekształceniu na Mic-E (zawiera identyczne informacje, jak ramka powyżej oraz status 'Enroute'):
SP3LYR>UR2T78,WIDE2-2:`,QPm?5=/
$GPRMC $GPGGA $GPGLL
W przypadku szeregów NMEA 0183, wysyłanych przez trackery bez ich przetworzenia na format APRS, dane pozycji będą zaczynać się jako: $GPRMC, $GPGGA lub $GPGLL. Format jest w surowej postaci, jaka podawana jest przez odbiornik GPS. Nie ma tam danych o symbolu, kodowanie symbolu musi zawierać się w adresie przeznaczenia. Nie ma również możliwości wstawienia komentarza do pola informacji. Zaletą takiego formatu danych jest precyzja współrzędnych z dokładnością do tysięcznych części minuty.
[XXnnyy] [XXnn]
Jeśli nie znamy współrzędnych naszego położenia, możemy podać naszą
pozycję za pomocą QRA Lokatora. Umiejscowienie na mapie w oparciu o taki
raport będzie następowało w środku kwadratu. Dane mogą zawierać sześć
znaków lokatora, albo tylko cztery. Taki format dla beaconów pozycji,
jest przestarzały.
Natomiast ciągle aktualnym sposobem wyrażenia pozycji za pomocą QRA
Lokatora jest wstawienie go do ramki ze statusem stacji:
>XXnnyy$/ >XXnn$/
Identyfikatorem statusu jest >. Lokator zostaje wpisany jako
sześcioznakowy lub czteroznakowy, a następnie kod symbolu. Dalej może
być umieszczony komentarz.
Pole informacji dla ramki statusu z QRA Lokatorem, będzie
wyglądało następująco:
>JO82kj/- lub >JO82/G
Wiadomości są jedynym rodzajem informacji APRS, gdzie następuje
potwierdzenie, a w razie potrzeby ponowienie. Wiadomości dopuszczają
konkretnego adresata. Pomimo to, są ramkami UI i w sensie protokołu
AX.25 są zaadresowane na jeden z ogólnych adresów przeznaczenia. Stacja,
do której skierowana jest wiadomość określona jest w polu informacji
ramki UI protokołu AX.25.
Identyfikator wiadomości:
:
Po identyfikatorze następuje adresat wiadomości - 9 znaków (w razie
potrzeby spacje), dziesiątym znakiem jest dwukropek, po nim tekst
wiadomości - maksymalnie 67 znaków.
Przykładowa ramka z wiadomością:
SP3LYR>APRS,WIDE2-2::AB9FX :test{1
Stacja SP3LYR wysyła do stacji AB9FX wiadomość o treści test.
Wiadomości mogą mieć swój kolejny numer poprzedzony { znajdujący się za tekstem. Na wiadomość z numerem 1 zostanie wysłane potwierdzenie ack1 (acknowledgement):
AB9FX>APRS,WIDE2-2::SP3LYR :ack1
W przypadku odrzucenia wiadomości przez adresata, zostanie wysłane rej1 (rejection):
AB9FX>APRS,WIDE2-2::SP3LYR :rej1
Numer wiadomości może zawierać do pięciu znaków
alfanumerycznych bez spacji.
Biuletyny, komunikaty, wiadomości z konfiguracją parametrów
telemetrycznych, wiadomości z automatyczną odpowiedzią, czy inne
wiadomości, które nie zawierają na końcu numeru, nie są potwierdzane
przez ack, czy rej.