Mail about APRS received from iw3fqg
January 2, 2002

Ciao Paolo, alla prossima salita a Monte Falcone contiamo di attivare la telecamera e anche la stazione meteo APRS.
La posizione di MonteFalcone e' ottima, vedremo come posizionare la telecamera perche' si scorge perfettamente tutta la pianura.
Noi pensavamo di usarla per sapere se funziona la seggiovia (visto che piu' di una volta ci hanno tirato il pacco).
Si esiste un IR3FAL con un UIDIGI.
Per essere visibili in APRS non occorre niente di particolarmente complesso, il protocollo (anche se io continnuo a rifiutarmi di considerarlo tale...) e' una serie di regole di formattazione di stringhe trasmesse come frame UI.
Ti riporto uno dei testi di WB4APR che lo descrive:
APRS uses UI frames which retain all of the error detection capability of standard packets, but without acknowledgment. In APRS, collisions or lost packets are not a problem since information is redundantly transmitted (AND effeciently! due to the decaying transmission periods). UI packets are the same type that are sent by a TNC using BEACON and BText commands. NOTE, however, that the APRS UI packets are generated internally in the APRS software and the TNC BText is not used while APRS is running.

APRS uses the TNC UNPROTO command to setup the path for the trans- mission of each packet. But when we refer to the UNPROTO command in APRS, we are refering to the APRS UNPROTO or OPS-UNPROTO command which then in turn issues the hardware UNPROTO commands to the TNC.

TO ADDRESS: APRS uses the TO address to indicate the general application of your packets or to address certain sub-nets of interest. By default, APRS will accept packets addressed to a number of generic calls such as the following:


All other TO addresses are ignored unless you set CONTROLS-FILTERS-OTHER to ON. There is also a alt-SETUP-MODES-SPECIAL command which tells APRS to ignore ALL TO calls except SPCL. SImilarly it configures your station to transmit TO SPCL. This allows participants in a special event to ignore all other traffic on frequency but still all non-participants will still see the SPCL packets. You can also use alt-S-MODES-altNet to set up any other private alternet address so that your APRS packets do not clutter up other APRS users screens.

APRS FORMATS: In the following APRS on-air formats, the abbreviations are D for degrees (or DAY), M for minutes (Both lat/long and time), h for hundredths (or Hours), N for North and W for West. The APRS symbol is identified by the characters following the Latitude and Longitude shown here as / and $. The / is an Alternate Table identifier and the $ is the symbol. See SYMBOLS.TXT. There are three types of time for local, zulu and hhmmss.

POSITION REPORT: The first character determines the position report format except for the FIXED format which may occur anywhere up to the 24th character position in the packet. If the posit begins with @ or = then APRS is running. If only a TNC is running, then a ! or a / indicates that there is no APRS messaging capability on line. In this case, the date- time means the time that APRS was last running.

FIXED: .......!DDMM.hhN/DDDMM.hhW$comments... (fixed short format)
/DDHHMM/DDMM.hhN/DDDMM.hhW$comments... (long format)

GRDSQR: [XXnnyy]comments to end of line
[XXnn]comments to end of line

POWER: ..........................$PHGabcd... (Power,ant/height/Gain.

POWER-HEIGHT-GAIN: This optional field replaces the CSE/SPD fields with a report of transmitter power, antenna height-above-average-terain and antenna gain. APRS uses this to plot radio range circles around all stations. The following details the format to be used in the BText of a TNC dedicated as an APRS digipeater:

!DDMM.mmN/DDDMM.mmW#PHG5360/WIDE...(identifying comments)...
| | | | |||| |_____ makes station show up green
| | | | ||||________ Omni (Direction of max gain)
| | | | |||_________ Ant gain in dB
| | | | ||__________ Height = log2(HAAT/10)
LAT LONG | | |___________ Power = SQR(P)
| |_____________ Power-Height-Gain identifier *
|_______________ # is symbol for digipeater

As you can see by the integers in the PHG string, there are only 10
possible values for each of these fields as follows:

DIGITS 0 1 2 3 4 5 6 7 8 9 Equation
POWER 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 watts SQR(P)
HEIGHT 10,20,40, 80,160,320,640,1280,2560,5120 feet LOG2(H/10)
GAIN 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 dB
DIR 0,45,90,135,180,225,270, 315, 360, . deg (D/45)

The DIRECTIVITY field offsets the PHG circle by one third in the indicated direction. This means a front to back range of 2 to 1.
Most often this is used to indicate a favored direction or a null even though an OMNI antenna is at the site. Note that 0 means OMNI and 8 means 360 or a NORTH offset.

HIGHTS are ABOVE-AVERAGE TERRAIN! Not above ground or sea level. Your antenna may be at 1000 ft above sealevel and be on a 100 foot tower. But if you go out 10 miles in all directions and find that the average elevation is 1200 feet, then your height-above-averag-terain is less than ZERO!!!!

OMNI-SIGNAL-STRENGTH DIRECTION FINDING REPORT: APRS can localize jammers by plotting the overlapping signal strength contours of all stations hearing the signal. This OMNI-DF format replaces the PHG format with DFS to indicate DF Signal strength, and the transmitter power field is replaced with the relative signal from 0 to 9. The following beacon would represent a weak signal heard on an antenna with 3 dB gain at 40 feet:


A signal of ZERO (0), is equally SIGNIFICANT beacuse APRS uses these 0 signal reports to draw BLACK circles where the jammer is NOT! These BLACK circles are extremely valuable since you will get a lot more reports from stations that don't hear the jammer than from those that do. This quickly eliminates a LOT of territory!

WEATHER REPORT: APRS uses the underline symbol character for WX reports. For these, the COURSE/SPEED field is used for the WIND and the remainder of the comment line contains other weather items. See WX.TXT

OBJECT POSITION: OBJECT reports are identical to POSITs except that the posit is preceeded with a fixed nine character object name and a *.


STATUS PACKET: These packets are used to tell the world your current mission or any other single line announcement. Mobiles may indicate their destination and ETA. These packets are time stamped so the sender knows when they were valid.


ALL OTHER PACKETS: Any packet that does NOT meet any of the above formats is assumed to be just a STATUS beacon and is placed on the LATEST list.

CQ anyone out there?

MESSAGE: Station to station messages use the following format, again padding the addressee call with spaces to a total of nine characters followed by a colon. A line counter character follows the "{" symbol at the end of the line.

W3XYZ____:one line message text......{3

MSG ACK: An ACK is just a message with the letters ACK# where the # is the message line number.

BULLETINS: BULLETINs are simply messages to the call signs of BLN1, BLN2, ... BLN#. They will never be acked, but all APRS stations will capture and sort them onto the special BULLETINS page. Bulletins sent to BLN# will decay to very long periods but bulletins sent to BLNx will decay down to once every 20 minutes and stay at that rate. Bulletins can be sent to specific groups and selectively filtered on receipt. Such Bulletins are sent to BLN#grup where grup can be any 4 or less group name.

DF REPORTS: The DF report includes a NRQ field in addition to the position, course and speed of the vehicle plus the bearing line.


NRQ indicates the Number of hits (for an N7LUE interface), the approximate Range and the Quality of the report. If N is 0, then it means nothing. Values from 1 to 8 give an indication of the number of hits per period relative to the length of the time period. So 8 means 100% of all samples possible, got a hit. The N is not processed, but is just another indicator from the automatic DF units. By entering a 9 as the HIT indicator, you can indicate to other users that your report is manual. The range limits the length of the line to the original maps scale of the sending station. The range is 2^R so, for R=4 would be 16 miles.


APRS should be used as a generalized position displaying tool, EVERY TNC that is permanently on the air, even non APRS networks, should be reporting its position in that ID beacon! This way, stations monitoring can quickly see a geographical plot of the network. If you want to keep the exact location of your transmitter ambiguous, then use the GRID-SQUARE format, and your position will be ambiguous to a few miles, but stations can still see that you are on the air.

In pratica una volta conosciute le posizioni reali o presunte, la stazione emette un beacon del tipo:

!4626.51N/01151.80E#1/APRS Marmolada 3260 slm 1.8

!4540.01N/01111.53E#PHG2260/Monte Falcone (VI) 1700m slm/A=005500

Il primo e' il beacon di IW3SAK incima alla marmolada, il secondo e' di IR3FAL.

La descrizione dettagliata del protocollo la trovi su dove e' liberamente scaricabile il pdf con le specifiche.

Un digipeater APRS si comporta come un normale digipeater packet solo che:

1 ripete solo frame UI
2 ripete per default frame inviati a RELAY, WIDE o TRACE
Questo serve per le stazioni mobili che si spostano nel territorio e non conoscono quale digi andranno a impegnare ma vengono comunque ripetuti
3 segue una serie di regole quando riceve frame indirizzati a WIDEN-n o TRACEN-n
Una stazione fissa o mobile vuole propagare i propri beacon entro un certo numero di salti (nel caso di WIDEN-n) o vuole conoscere il path che un beacon ha seguito per arrivare a destinazione:

Supponiamo che IW3FQG non vuole andare oltre 2 digipeater in tutte le direzioni. Imposta l'emissione affinche il TNC emetta un frame del tipo:
Il primo digi che lo vede il frame e lo ripete come segue:
Il secondo

Quando l'SSID viene posto a 0 il frame non viene piu' ripetuto.
Naturalmente per evitare ping-pong un digipeater non ripete frame gia' ripetuti entro un certo limite (di solito si fissa a 30sec circa).

Esistono altre regole utili a propagare i frame verso alcune direzione arbitrarie (vedi la regola UISSID che serve anche per stabilire una direzione geografica di propagazione).

4 non ripete frame originati dalla stessa stazione con un rate troppo alto (per evitare congestione)

Tutte queste funzioni fino a qualche tempo fa' erano implementate piu' o meno ma mai completamente nei vari TNC commerciali...
UIDIGI implementa lo stato dell'arte del protocollo, con in piu' la gestione remota completa dei parametri di configurazione con un TNC2.
Risultato... Europei e americani a parte mi hanno scritto anche i giapponesi che lo usano e hanno tradotto il manuale!

Questo non lo dico per vantarmi, ma perche' all'ultima riunione presso la fiera di Verona tutti mi guardavano come un marziano, ma qui nessuno e' neanche piu' capace di farsi una eprom, figurati configurare i programmi e capire qualcosa che non sia plug & play, se vedi il traffico la maggior parte delle stazioni sono fisse e mandano beacon a nastro (perche' vogliono farsi vedere e manco sanno che quasi tutti i programmi gestiscono la risposta automatica alla query ?APRS? che viene inviata tutte le volte che una stazione si mette in frequenze) o che si manda messaggi (che non arrivano mai, in unproto figurati) dei tipo:
c 6?
Mi leggi?

Per il resto tutti sono interessati a fare mappe, copiandole con il copia&incolla dai vari programmi tipo autoroute (che sono copyright). APRS e' utile per raccogliere dati (telemetrici o altro) su larga scala senza grosso impegno di risorse e in modo (scusami il termine) "push", con un THD7 unito al GPS si possono conoscere le posizioni precise dei corrispondenti fissi o mobili, mandare brevi messaggi di testo personali o circolari.
Unito ai server internet che raccolgono il traffico radio e lo scambiano tra loro consente di conoscere la posizione di chiunque nel mondo e (in alcuni casi anche di comunicare con loro).
Qui all'utimo rally lo abbiamo montato in un'auto apripista e dalla direzione gara sapevano all'incirca sempre dove si trovava la testa della gara.
Ora vogliono montare l'aprs nei mezzi della protezione civile.

> C'e' forse qualche nodo aprs che trasmette la posizione di svariati nodi che
> non c'entrano nulla con l'aprs? Come funziona?
> Poi volevo chiederti se si puo` fare qualcosa su ir3ip per l'aprs. Inizia
> infatti ad incuriosirmi... mi sono comprato il gps, ho fatto il tinytrack,
> poi a casa uso xastir e mi collego ai server internet per prelevare le
> informazioni aprs.... insomma, sto cercando di capirci qualcosa.

In Italia IW0DER che e' un server APRS collegato agli altri presenti nel mondo raccoglie tutto cio' che ascolta, tiene un buffer di circa 30min (di default) e a chi si collega in internet invia tutto quello che ha ascoltato.

Poi i server APRS internet sono collegati tra loro e quindi collegandosi a uno si legge tutto il traffico globale.
Non so' se hai provato il server che e' un client di questi server plotta in tempo reale le posizioni usando come fonte mapblast.
Findu e' il successore di javaprs l'applet java che puo' essere incorporato all'interno di una pagina per mostrare dinamicamente (senza bisogno dei programmi) le stazioni ascoltate dal server. So' che ora lo sviluppo del software e' passato di mano e che esiete la versione 2.0.

> Mi piacerebbe fare qualcosa su ir3ip per l'aprs.... .magari installare un
> server aprsd per dare la possibilita` agli utenti di scambiare traffico aprs
> pur non avendo radio in 144.800.

Si, il server aprsd puo' essere utile visto che attualmente il traffico italiano credo sia raccolto solo da IW0DER che e' a Cassino, ma devi valutarlo anche in funzione del traffico che ti andra' a generare in uscita.

> Sarebbe pero` interessante anche fare scambio fra rete radio e le
> informazioni da internet, solo che la frequenza 144.800 pare essere molto
> busy.
> Sarebbe interessante secondo me che 144.800 rimanga libera per le stazioni
> mobili che devono trasmettere la loro posizione, e che ci sia una frequenza
> magari in 430 a piu` alta velocita` per prelevare tutte le informazioni
> europee o mondiali, con possibilita` di inviare in 144.800 solo le
> informazioni indispensabili ad esempio i messaggi per chi e' in ascolto solo
> in 144.800.

Il problema dei 144.800 busy e' dovuto all'ignoranza di chi opera in APRS.
Una stazione fissa dovrebbe trasmettere ogni 20 ~ 30 minuti la propria posizione non oltre i 2 o tre digipeater usando WIDE e non TRACE come sistema di ripetizione, per evitare di allungare i frame.
Ci sono invece persone che per farsi vedere trasmettono ogni 10 minuti indirizzando i propri frame a TRACE7-7 il che significa che a partire dal un frame:
Il primo ripete con
Il secondo ripete con
Il terzo ripete con

e cosi' via fino a che l'SSID non arriva a 0.

Questo oltre a generare casino perche' chiunque viene visto anche se e' fermo decine di volte in un minuto, occupa la frequenze con frame che durano molto piu' tempo.

Il routing con WIDEN-n che segue le stesse regole del TRACEN-n ma che non include íl nominativo di chi ripete genera frame piu' corti.
Inoltre molti non sanno che esietono particolari comandi che (stringhe trasmesse in UI che generano QUERY) quali la ?APRS? che fa' in modo che chi la interpreta risponda entro 2 minuti con la propria posizione.

APRS nasce come un sistema isofrequenza e con poche regole proprio per evitare che le troppe regole impediscano a una stazione di non essere vista. In USA la frequenza e 144.390 in Europa e' 144.800 adesso c'e' anche la ISS con il digi aprs a bordo, usare piu' frequenze si potrebbe a patto pero' di 'travasare' intelligentemente le informazioni tra i canali in modo che tutti possano vedere tutto.
Attualmente i gateway internet usano la destinazione IGATE (sia nel campo di destinazione o nel campo digi) per mandare messaggi attraverso un internet gateway.
Lo stesso sistema viene usato per i gateway radio HF/VHF etc dove al posto di IGATE usano GATE o HFGATE Qui pero' e' a discrezione dell'utente impostare correttamente il path di propagazione del beacon, perche' altrimenti non viene visto. C'e' da dire anche che il piu' delle volte non ha senso ricevere le informazioni di posizione di chi e' in USA o viceversa.
La maggior parte della gente mobile usa Kenwood D700 o THD7 che funzionano anche a 9600bd, ma la maggior parte dei fissi usa vecchi TNC o anche sound blaster.
Io ho lasciato acceso per circa un anno un digipeater a 9600bd in parallelo a IR3FAL poi l'ho spento perche' nessuno lo usava.
All'inizio travasavo tutto, e allora mi dicevano che creavo un doppione a 9600, poi l'ho spento perche' effettivamente non c'era nessuno.

> Non conosco lo stato dell'arte, sono completamente ignorante in materia,
> quindi non so che problematiche ci sono. Certo e` che in 144.800 bisogna
> trasmettere il proprio beacon numerose volte prima che venga sentito dalla
> rete, a causa delle numerose collisioni.
> Su ir3ip ho creato un forum riguardante l'aprs.... se hai delle proposte da
> fare sarei molto interessato.
> Ciao. Paolo

Ci vedremo la' allora.

Scusa per la lungaggine.

Ci sentiamo.