Deze website maakt gebruik van zogeheten cookies. Klik op [OK] om deze melding te verbergen. Klik hier om meer informatie te lezen over de gebruikte cookies.
P O L Y T E C H . N U
English

APRS protocol

inleiding
AX.25 protocol
Om complexere datacommunicatie ordentelijk te laten verlopen zijn er duidelijk afspraken nodig. Dit begint met de opbouw van de lagen. Deze opbouw is uitvoerig uiteengezet in het AX.25 protocol document. Hierin staat de opbouw van het AX.25 protocol van de fysieke laag, data verbinding, netwerk, transport, sessie, presentatie en applicatie. Dit AX.25 protocol staat beschreven in een document van 143 pagina's waar "niet door te komen is". :- Gelukkig is het voor gebruik van APRS ook weinig relevant... Het is complexe materie dat erg droge stof is. Weet dat het AX.25 protocol onderliggend is aan het APRS protocol, maar voor de rest mag je het vergeten. ;-)

APRS protocol
Het APRS protocol beschrijft alles wat relevant is (voor ontwikkelaars?!) van APRS apparatuur en software. APRS is te gebruiken zonder de kennis van het protocol te hebben, maar het opent wel perspectieven om de basis te kennen. Er staat zeer interessante informatie in dat ook goed leesbaar is. Het is een aanrader om het een kans te geven om het eens te bestuderen. Het oogt in eerste instantie mogelijk complex, maar bij nader bekijken is het logisch opgesteld en duidelijk.

De structuur APRS data pakketten is vormgegeven volgens het APRS protocol. Veelal "zien wij dit protocol niet" omdat dit in een modem of software verwerkt zit waar een gebruiker vrijwel niet mee te maken heeft. De structuur van de verstuurde informatie wel.

Hét APRS protocol is hier te vinden: http://www.aprs.org/doc/APRS101.PDF.

Het protocol is naar mijn idee prachtig in elkaar gezet en voorziet in diverse mogelijkheden en wensen. Het is een theoretisch document, maar zeer interessant. Op deze website is diverse praktische informatie weergegeven, maar wel in vereenvoudigde vorm. Voor details verwijs ik door naar het échte APRS protocol. Er is een werkgroep dat de ontwikkelingen van APRS beheert: http://aprs.org. In mijn ogen is de site gedateerd, oubollig en onoverzichtelijk. :- Het werk dat zij leveren is goed, maar de presentatie is niet meer van deze tijd.

evolutie van APRS
Toen APRS bedacht is was een gps ontvanger door 'de gewone man' niet te betalen. APRS is daarmee ook eenvoudig ontstaan en een beperkt aantal gebruikers. Toen gps ontvangers goedkoper werden, heeft dit voor een flinke groei van APRS gebruikers gezorgd. Toen Kenwood met de TH-D7 APRS portofoon kwam, werd APRS eenvoudig bereikbaar voor veel gebruikers. APRS bestaan nu alweer twee decennia en 'de wereld' is veranderd. Er zijn meerdere portofoons en mobilofoons met ingebouwde modems en gps ontvangers. En met 30.000 APRS stations is het APRS systeem nog springlevend! Met de komst van Arduino controllers en Raspberry Pi besturingen zijn de mogelijkheden nog groter. Vooralsnog voorziet het APRS protocol nog wel in de nieuwe technieken. Er zijn echter wel delen van het APRS protocol die verouderd zijn en eigenlijk niet meer relevant.

Een nieuwe techniek is het meten van stralingsdosis en de meetwaarden uitzenden via telemetrie. Deze functionaliteit is tegenwoordig zelf goed te bouwen en een mooie toepassing anno nu. Via deze externe link is telemetrie van de stralingsdosis in Slovenië te zien.

berichten volgens het APRS protocol
Het is mogelijk om door middel van APRS een bericht, tot 67 karakters, naar een geadresseerde te sturen. De opzet is dat de verstuurde informatie in (door een mens) leesbare tekst wordt verstuurd. Het is ook mogelijk om een optioneel verzoek tot ontvangstbevestiging mee te sturen. Wanneer een bericht voorzien is van een volgnummer, dan wordt een ontvangstbevestiging verwacht dat gekoppeld is aan het bijbehorende nummer. Wanneer er geen ontvangstbevestiging wordt ontvangen, dan is het denkbaar dat het bericht nog een (aantal) keer wordt verstuurd totdat het bericht goed aankomt of definitief gemarkeerd wordt als zijnde niet bezorgd.

bericht samenstelling
De adres ruimte is altijd 9 karakters lang. De opzet is dat hier de roepletters met eventuele SSID worden geplaatst en om aan 9 karakters te komen aangevuld wordt met spaties. Dus het adres wordt bijvoorbeeld "PA0ABC-9 ".
De bericht ruimte kan gevuld worden met leesbare ASCII tekst met uitzondering van |, ~ en {.
Elk bericht kan voorzien zijn van een alfanumeriek berichtnummer tot vijf karakters en zonder spaties. Bijvoorbeeld: 1, 003 en 12345. In de praktijk zijn drie karakters toegepast zoals 001 en verder. Wanneer geen ontvangstbevestiging gewenst is, dan kan het volgnummer achterwege blijven.



bericht samenstelling
:
geaddresseerde
:
bericht tekst
bericht identificatie
{
bericht nummer
:
9
:
0...67
1
1...5
Voorbeeld waarbij geen bevestiging verwacht wordt:
:PA0ABC-7 :Test bericht tot 67 karakters lang.

Voorbeeld waarbij wel een bevestiging verwacht wordt, in dit geval op bericht nummer 3:
:PA0ABC-7 :Test bericht tot 67 karakters lang.{003


bericht bevestiging en afwijzing
Wanneer er een bericht nummer toegevoegd is aan een bericht, dan kan de ontvanger een ontvangstbevestiging terug sturen met het nummer dat bij het oorspronkelijke bericht hoort. De samenstelling van een bevestiging (EN: acknowledement) of afwijzing (EN: rejection).


samenstelling van ontvangstbevestiging
:
geaddresseerde
:
ack
bericht nummer
1
9
1
3
1...5
Voorbeeld:
:PA0XYZ-1 :ack003


samenstelling van bericht afwijzing
:
geaddresseerde
:
rej
bericht nummer
1
9
1
3
1...5
Voorbeeld:
:PA0XYZ-1 :rej003

telemetrie data
In het APRS protocol is een voorziening opgenomen om meetgegevens te kunnen versturen en ontvangen. "Tele" staat voor afstand en "metrie" staat voor meten, ofwel het op afstand weergegeven van meetinformatie. De vorm van de meetinformatie kan, binnen grenzen, vrij ingevuld worden. Telemetrie is zeer handig om bijvoorbeeld de status van een station op afstand te kunnen bepalen. Het om afstand kunnen lezen van voedingsspanningen, temperaturen en dergelijke kan zeer nuttig zijn.

Telemetrie regels zijn bedoeld om bijvoorbeeld status informatie mee te kunnen versturen. Telemetrie gegevens kunnen verstuurd worden door middel van een samenstelling van vier commando regels. Het is mogelijk om de volgende waarden te kunnen versturen:
vijf analoge waarden
acht digitale waarden

De volgende regels zijn van toepassing:
:PARM voor naamgeving van de parameters;
:UNIT voor weergave van eenheden;
:EQNS voor (optionele) vergelijkingen;
:BITS voor weergave van binaire informatie.

methoden
Er zijn twee methoden om telemetrie informatie te versturen. Dit kan met en zonder vergelijkingen. Wanneer de analoge waarden tussen 0...255 liggen, kan er een verkort protocol worden toegepast. Wanneer er kleine, grote of decimale waarden gewenst zijn, dient er een vergelijking mee gestuurd te worden om de meetwaarde te kunnen samenstellen. Hieronder staat een voorbeeld van de korte methode en de lange methode.

Lange methode (zonder vergelijkingen)
:PA0XYZ-2 :PARM.Battery,Btemp,None,None,None,Busy,Ack,PE,Sel,Err,NC,NC,NC
:PA0XYZ-2 :UNIT.volt,deg.C,None,None,None,high,high,hig,hig,hig,hi,hi,hi
:PA0XYZ-2 T#123,150,000,255,234,123,11001010


Lange methode (met vergelijkingen)
:PA0XYZ-2 :PARM.Battery,Btemp,None,None,None,Busy,Ack,PE,Sel,Err,NC,NC,NC
:PA0XYZ-2 :UNIT.volt,deg.C,None,None,None,high,high,hig,hig,hig,hi,hi,hi
:PA0XYZ-2 :EQNS.0,0.0625,0,0,1,0,0,1,0,0,1,0,0,1,0
:PA0XYZ-2 :BITS.11111111,DIGI_NED Telemetry


parameters :PARM
Om te weten wat de bijbehorende betekenis is van de meetwaarde, is het mogelijk om de parameter naam mee te sturen. Er kunnen maximaal vijf analoge waarden voorzien worden van een omschrijving en maximaal acht digitale meetwaarden. De lengte van de naamgeving is beperkt zoals in het APRS protocol opgegeven. Hieronder staat een voorbeeld regel:

:PA0XYZ-2 :PARM.Battery,Light,VSWR,Temp,Hum,Busy,Ack,PE,Sel,Err,NC,NC,NC

Het is niet nodig om de parameters bij elke uitzending mee te sturen omdat het statische informatie betreft. Om drukte op het netwerk ter vermijden is het raadzaam om de parameter regel bijvoorbeeld maar één maal per kwartier uit te zenden.

eenheden :UNIT
Elke meting heeft via de parameter regel een omschrijving gekregen. Ook is het mogelijk om een eenheid op te geven. De eenheden worden aangeduid met :UNIT in de regel. Gebruikelijke eenheden zijn bijvoorbeeld:
Volt voor een spanning in Volt;
Deg.C voor een temperatuur in graden Celcius;
Watt voor een (zend)vermogen;
CPM voor Counts Per Minute bij een dosismeting.

De lengte van de eenheden tekst is beperkt. In het APRS protocol is het maximale aantal karakters opgegeven.

:PA0XYZ-2 :UNIT.volt,deg.C,None,None,None,high,high,hig,hig,hig,hi,hi,hi

vergelijking :EQNS
Info volgt nog...

bits :BITS
Info volgt nog...

Het is mogelijk om via APRS Telemetrie gegevens te verzenden. Telemetrie is het op afstand ontvangen van status informatie. Het APRS protcol voorziet er in om per verzonden (T) regel (voorzien van een volgnummer) vijf analoge (0...255) waarden te versturen en acht individueel in te stellen bits (0 of 1). De T-regel bevat alleen de waarden, de betekenis van de waarden en de eenheden is ter herleiden aan PARM. (parameter) en UNIT. (eenheid) regels. Afhankelijk van de positie in de regel is het mogelijk om in de PARM. regel een beschrijving van 3...7 ASCII karakters mee te sturen zoals bijvoorbeeld "Battery" en "Temp" voor aanduiding van de accuspanning en temperatuur van de opstelling. Afhankelijk van de positie in de regel is het mogelijk om in de UNIT. regel de eenheid van 1...7 ASCII karakters mee te sturen zoals bijvoorbeeld "Volt" en "DegC" voor eenheid van de accuspanning en temperatuur in graden Celcius van de opstelling. Het is ook mogelijk om met de vijf 0...255 waarden grotere getallen te kunnen versturen. Door gebruik te maken van de EQNS. regel kunnen door middel van een vergelijking veel grotere getallen worden verstuurd. Normaal is de waarde tussen 0 en 255. Door middel van de vergelijking A × V^2 + B × V + C zijn grotere waarden te verkrijgen. De analoge waarde "V" wordt ingesteld en "A", "B" en "C" komen voort uit de drie digits zie in de T-regel zijn ingevuld.


Telemety Report Format
Tsequence nr.analog valuesdigital valuescomment
T#nnn,bbb,bbb,ccc,ddd,eee,fghijklm@
15444448n
-0...2550...2550...2550...2550...2550...2558x 0/1n
Example:
T#123,150,000,255,234,123,11001010

bulletin uitzenden
Het is mogelijk om een bulletin uit te zenden. Een bulleting is een bericht dat aan alle gebruikers geadresseerd is. De voorbeeld tekst om uit te zenden is als volgt:

:BLN0 :Dit is een voorbeeld bulletin bericht.

Een bulletin moet altijd met ':BLN' beginnen. Na de tekst zijn er zes tekens gereserveerd voor een volgnummer. In de basis is het '0', '1' en verder opvolgend. Ook 'A', 'B' en dergelijke mag worden toegepast. In een uitzonderlijke situatie kan er ook tekst worden toegepast zoals 'TEST'. Een voorwaarde is altijd dat het totaal aantal tekens altijd zes is en aangevuld moet worden met spaties om zes tekens te bereiken. Met ':' is er een scheiding gegeven tussen de basis informatie en het werkelijke bulletin. Achter de ':' mag vrije ASCII tekst worden geplaatst dat het daadwerkelijke bulletin is.