APRS

APRS de afkorting van Automatic Position Reporting System. Het is een real-time informatievoorziening: als er iets wijzigt, zie je het meteen op de kaart. Oorspronkelijk was het bedoeld voor een beperkt geografisch gebied, bijvoorbeeld een rampgebied waarin support units konden worden weergegeven (Objects).

Voorbeeld kaart met APRS informatie, waarmee real time stations zijn te volgen

Houd hierbij steeds in het achterhoofd dat het in Amerika ontwikkeld is waar men veel meer op draadloze communicatie leunt – zeker bij rampen, waar ze daar in grossieren – dan bij ons. Nu we met een APRS tracker aan het experimenteren zijn, is het misschien wel goed om de theorie weer eens een beetje op te halen.

APRS is gebaseerd op het Packet Radio protocol

Het grote voordeel is dat geen kennis van de topologie van het netwerk noodzakelijk is. Anders dan bij Packet, waar je je gateways moet kennen, is dat bij APRS dus niet zo. Om dit te kunnen realiseren maakt APRS gebruik van de AX.25 UI -frames. Vrij vertaald: AX.25 is de amateur versie van het X.25 protocol (vandaar AX.25), en daar gebruikt men de Unnumbered Information frames van. Zeg maar een soort broadcast: je stuurt het de ether in zonder te weten of en door wie het ontvangen is. Er is dus geen adressering: iedereen mag het opvangen.

Dat kan op twee manieren: de ALOHA manier of de CSMA methode. ALOHA was de oude manier waarop ook de eerste ethernetten werkten. Je had geen benul van wat er op je communicatie kanaal gebeurde: als je wat te zeggen had dan boerde je je zegje de kabel op, of in dit geval de ether in. Bij een weinig gebruikt informatiekanaal gaat dat meestal goed. Maar naarmate het informatiekanaal intensiever gebruikt wordt, wordt de kans op een “collision”, een botsing tussen twee zendersignalen die tegelijk in de lucht komen en dus “dubbel zitten”, steeds groter. De informatie gaat dan verloren en beide zenders moeten het bericht herhalen. Of, in geval van APRS, gaat het gewoon verloren. Je moet je realiseren dat APRS half duplex werkt. Niet zoals bij een spraakrepeater, waarbij het ontvangen signaal meteen weer uitgezonden wordt op een andere frequentie. Een APRS repeater (digipeater genoemd) slaat het ontvangen bericht eerst op, en zendt het weer uit als de frequentie weer vrij is.

De meer intelligente methode is dan ook CSMA. Carrier Sense Multiple Access. Ofwel: we zijn ons nu wél bewust van wat er op het informatiekanaal gebeurt: we luisteren (sense) naar de draaggolf (carrier). Is de draaggolf weg, dan is het informatiekanaal vrij en kan je zelf zenden. Maar omdat, als iedereen aan het wachten was, je natuurlijk weer een collision (botsing) krijgt als na het stoppen van de zender iedereen tegelijk gaat zenden, wordt er na het stilvallen van het informatiekanaal een willekeurige tijd gewacht tot de zender in de lucht komt. Multiple access: meerdere gebruikers op hetzelfde informatiekanaal. De meeste APRS transceivers werken nu zo: luisteren of er gezonden wordt en als dat zo is, wachten op het verdwijnen van de draaggolf, vervolgens een willekeurige tijd wachten en als het dan nog steeds stil is, mag je zenden. Dan kan het nog steeds wel mis gaan, maar de kans is aanzienlijk verkleind.

Voor het bepalen van de positie wordt gebruik gemaakt van een GPS.De positie informatie wordt dan via Digitale Repeaters, de zogenaamde Digipeaters, verspreid. Deze positie informatie kan dan weer zichtbaar gemaakt worden op kaarten. APRS wordt echter niet alleen maar gebruikt om een positie weer te geven. APRS wordt ingezet bij speciale gebeurtenissen, noodtoestanden (vooral weer in Amerika), het geven van weersinformatie, “tracken” (volgen) van stations maar ook voor het versturen van korte berichten. Het is dus meer dan alleen maar een positie rapportage systeem.

Hiërarchie

Nu het belangrijkste: Binnen APRS bestaat een hiërarchie. Sommige stations zijn belangrijker dan anderen. Deze hiërarchie bestaat uit drie lagen: De Digipeater stations, de Relay stations en de Mobiele/portable stations. Hoe dit verder werkt zullen we zo zien. Maar eerst even iets over de gebruikte frequenties. Iedereen kent natuurlijk de 2m frequentie 144,800. In de tijd dat de D-amateurs in dat stuk 2 meter nog geen digitale uitzendingen mochten doen, is de frequentie 430,5125 ook in gebruik genomen voor APRS. In vrijwel heel Europa is 144,800 standaard. Daarnaast wordt er nog gebruik gemaakt (alweer in Amerika) van 10,151 MHz in LSB met 300 Baud en van 29,250MHz met de gebruikelijke 1200 Baud. Er zijn stations die packets tussen deze banden uitwisselen, de zogenaamde Gateways. Wat op 70cm gebeurt wordt ook op 2m uitgezonden en vice versa. Er zijn dus wel koppelingen tussen de twee netten.

SSID

Aan de roepnaam zie je vaak nog een nummer geplakt met een streepje ertussen. Dat noemt men de SSID: de Secondary Station IDentifier. Het geeft aan wat voor soort station je bent. De Nederlandse afspraken zijn als volgt: Geen toevoeging: een basisstation of relay digi. (Als ik mijn QTH op de kaart zet, doe ik dat door als symbool een huisje te kiezen. Ik zet dan alleen mijn call neer. Ben ik een relay, dan gebruik ik als symbool een ster met een R erin, maar nog steeds geen toevoeging)

  • 1 : 70cm digi
  • 2: 2m digi
  • 5: maritiem mobiel
  • 7: portable station (portofoon)
  • 9: auto (mobiel)

Het aanpassen van de SSID betekent niet dat automatisch mijn symbooltje op de kaart aangepast wordt. Dat moet je apart doen. Dat werkt met primaire en secundaire tabellen. De primaire tabel begint met een voorwaartse slash, gevolg door een karakter uit de tabel boven aan de volgende bladzijde. Daarnaast is er nog een secundaire tabel, die voorafgegaan wordt door een terugwaartse slash (backslash).

Voorbeeld: om op de kaart het standaard autootje neer te zetten, bestaat je symbool uit een voorwaartse

Karakter tabel. Deze komt na een slash overeen met de tekens in de symbool tabel

De primaire symbool tabel

De secundaire symbool tabel

slash en het karakter “>”. Zoek het “>” karakter maar eens op in de bovenste tabel, en zoek in de primaire symbool tabel dezelfde positie op. Daar zie je het autootje. Dus /> is auto. /[ is een mannetje, en /$ een telefoon. Op die manier bepaal je hoe je weergegeven wordt op de kaart.

Hoe APRS is opgebouwd

Weer even terug naar de hiërarchie. Hoe is APRS opgebouwd: Op hoge, centraal gelegen locaties stelt men een Digipeater op. De afstand tussen twee Digipeaters moet minimaal 50km bedragen. Waarom zal ik zo beschrijven. Dat betekent dat er in Nederland maar plaats is voor een stuk of 8 digipeaters! Daarnaast kan een basisstation een Relay zijn. Deze herhaalt dan weer de packets van mobiele stations als deze in de buurt zijn. Hoe je gerelayeerd wordt, hangt af van wat je in je unproto path hebt staan. Dat is een instelling in je APRS software. Je unproto path begint altijd met AP, bijvoorbeeld APT31 1, APK1 01. In veel software is dat al voor je opgelost. Daarna kan je instelling generiek of specifiek zijn. Generiek is bijvoorbeeld RELAY, of WIDE3-3. Specifiek is een call van een specifieke digi. Ik kom daar zo nog even op terug.

Vervolgens na de AP komt dan de configuratie van wat je met je signaal wilt bereiken. Er waren historisch een aantal mogelijkheden:

  • WIDE
  • TRACE
  • WIDEn-n waarbij n maximaal 7 is
  • TRACE-n-n waarbij n maximaal 7 is
  • RELAY
  • WIDE1 -1

Om een paar dingen maar gelijk duidelijk te maken: WIDE en TRACE worden zonder toevoeging niet meer gebruikt. Dat stamt nog uit de tijd van de domme digipeaters. Je ziet het nog in oude aanbevelingen: WIDE,WIDE3-3 bijvoorbeeld. NIET doen. Gaat ook niet meer werken. Wat betekenen die toevoegingen aan WIDE en TRACE? Nou, het volgende: als je WIDE3-3 in je Unproto Path zet, dan zal elke digipeater waar jouw pakketje langskomt, het laatste getal aftellen totdat 0 bereikt is. Dus na de eerste digipeater is je pakketje WIDE3-2 geworden, dan WIDE3-1 en tenslotte WIDE3. En dan stopt het herhalen. Heb je 3 hops gehad, dan heeft je pakketje dus ongeveer 150km afgelegd. Meer dan genoeg om een internet gateway te bereiken. Het heeft dus totaal geen zin om WIDE7-7 in je Unproto Path te zetten. Waarom moeten ze in Oost-Duitsland en midden Frankrijk weten waar jij rijdt? Niet doen dus. Het verstopt de frequentie over een zeer groot gebied. 3-3 is meestal meer dan genoeg.

TRACEn-n

Dan hebben we nog TRACEn-n. Dat is eigenlijk een speciale uitvoering van de WIDEn-n: bij gebruik van een TRACE wordt bij elke digipeater waar je pakketje langskomt, de call van de desbetreffende digipeater aan het pakket toegevoegd. Voorbeeld:

PA3CNO->WIDE1 -1 ,TRACE3-3

PA3CNO->PD0PYL*,TRACE3-3

PA3CNO->PD0PYL*,PA5JB*,TRACE3-2

PA3CNO->PD0PYL*,PA5JB*,PI1 FLD*,TRACE3-1

PA3CNO->PD0PYL*,PA5JB*,PI1 FLD*,PA2CQP*

Hierbij is PD0PYL een relay station (tegenwoordig door de verplichte ATOFs voor relays niet meer). Wat je nu ziet gebeuren is dat het packet steeds langer wordt! Het gevolg daarvan is, dat ook de zender steeds langer in de lucht moet zijn om al deze informatie uit te zenden. TRACEn-n moet je dus alleen gebruiken om te testen, maar absoluut niet in een operationele situatie! Je verstopt het hele informatiekanaal ermee. Nog een nieuwtje: een packet wordt maximaal 7x gerelayeerd. Het is dus totaal zinloos om Unproto Paths als “WIDE7-7,TRACE7-7” in te stellen. En dat komt echt voor. . . Fout (NOOIT een TRACE in een operationele opstelling, en 14 hops gaat het niet worden) en zinloos: waarom zou je 700km ver zichtbaar willen zijn. …

Heb je een basisstation, dan zou je kunnen besluiten om je pad specifiek te maken. Wat betekent dat: in plaats van gelijk met een WIDE te beginnen, zet ik er bijvoorbeeld een call in. Ik zit midden tussen PE1PYT in Delft en PA5JB in Leiderdorp. Als ik WIDE3-3 in mijn basisstation zet, is de kans dat beide stations mij ontvangen erg groot. Omdat beiden digipeaters zijn, zullen ze beiden mijn packet relayeren. Met een mogelijke collision tot gevolg. Dus wat maak ik van mijn Unproto Path:

PA3CNO->PA5JB,WIDE3-3

Doordat ik als eerste de call van PA5JB erin heb staan, zal alleen hij mijn packet relayeren, waarna het verder gaat als WIDE3-3. PE1PYT reageert immers niet op PA5JB in het path. Zo kan ik mijn packet dus een bepaalde kant op sturen.

Instellingen voor vaste stations

Nu wat instellingen voor de vaste stations. In de UIVIEW software zit een veld dat “alias” heet. Daar specificeer je waar je eigen station naar luistert. Ben je een gewoon basisstation, dan is je alias tenminste je eigen call. Daarnaast zet je erbij wat je verder nog relayeert. En daar is nu in de regio wat verwarring over ontstaan. Vroeger zette een mobiel station allereerst RELAY in zijn Unproto Path. Een basisstation had in zijn alias zijn eigen call en RELAY staan. Hoort een basisstation dan een mobiel station, dan zal hij die relayeren. Een digipeater had zijn eigen call, RELAY en WIDE in zijn alias staan. Maar daar is in 2006 al een verandering in gekomen. Een mobiel station dat door een Digipeater ontvangen werd, werd door de RELAY in de alias van de digipeater dus herhaald. Het RELAY werd gestript en de rest van het packet ging door. In mijn geval bleef dan WIDE3-3 over. De eerstvolgende digipeater in zicht van deze digipeater reageert op de WIDE3-3 en maakt daar netjes WIDE3-2 van. Maar dat packet komt ook weer terug op de digipeater die als eerste mijn RELAY ontving. En omdat de RELAY niet in zijn downcounter staat, herhaalt hij het packet weer! Dat gaf aanleiding tot nogal wat problemen. Daarom is er al sinds 2006 een voorstel om RELAY te vervangen door WIDE1 – 1. Echter, tot op de dag van vandaag wordt RELAY nog steeds toegepast. Robert PA2RDK testte dat door zijn APRS tracker twee keer zijn positie te laten zenden: het eerst packet als PA2RDK-6 met als path WIDE1 -1 ,WIDE2-2, en het tweede packet als PA2RDK-9 met als path RELAY,WIDE2-2. En beiden worden nog gerelayeerd, dus is er kennelijk ook nog ondersteuning voor RELAY. Dat zou dus niet zo moeten zijn!

Bijdragen aan het APRS netwerk?

Wil je bijdragen aan het APRS netwerk, zet dan een basisstation in de lucht en zet in de alias je eigen call en WIDE1 -1. Benoem jezelf nooit tot digipeater zonder overleg met je “buren”. Het enige wat je bereikt is dat je alle verkeer in de regio dan zelf gaat herhalen, waarmee je de effectief te overbruggen afstand voor je medeamateurs verkleint in plaats van vergroot! Jouw digipeater zal immers netjes 1 aftrekken van het packet, en daarmee sterft het eerder uit op zijn weg. Bovendien veroorzaak je collisions omdat je in het zicht van twee digi’s packets gaat zitten herhalen die de digi’s zelf ook al opnieuw uitzenden. Niet doen dus. Met een Relay (WIDE1 -1 ) digi help je mobiele amateurs wél zonder problemen met digi’s te veroorzaken. En tegenwoordig kan je met een Raspberry Pi en een RTL dongle al een i-gateway neerzetten.


(Overgenomen uit RAZzies, met dank voor goedkeuring voor publicatie op deze website door PA3CNO)