Aprx

Radioamatööriwikistä
(Ohjattu sivulta APRX)
Siirry navigaatioon Siirry hakuun

There is also english translation of this document: Aprx.en

APRX on alunperin APRS-ISRx-iGate käyttöön tarkoitettu ohjelmisto. Sittemmin siihen on lisätty myös täysi Digipiitteri toiminnallisuus ja Tx-iGate toiminta.

Ohjelmisto asennetaan sopivaan UNIX:in kaltaiseen systeemiin ja sen konfiguraatiotiedosto säädetään kohdalleen. Sitten se kykenee välittämään radiolta kuultuja APRS paketteja APRS-IS verkkoon. APRS Digipiitteri tarkoittaa verkon laitetta, joka tunnistaa paketista että sitä pitäisi jaella pidemmälle ja uudelleenlähettää paketin, mikäili paketin osoitekentässä olevalla jakelumäärittelyllä on vielä hyppyjä jäljellä. Tässä versiossa tarjolla on myös Viskoosinen APRS Digipiitteri, joka kuuntelee kanavaa pienen hetken ja ja laskee muutaman sekunnin viiveen aikana kuulemansa kopiot toistettavasta kandidaattipaketista. Jos pakettia on kuultu lähettimen kanavalla vain yhden kerran, vain silloin Viskoosinen APRS Digipiitteri toistaa sen kanavalle.

Ohjelmistosta on tarjolla valmiit binääripaketit muutamiin Fedora ja Debian ympäristöihin, muuallekin se on käännettävissä helposti lähdekoodista.

Esimerkkejä sopivista laitteistoista mainitaan artikkeleissa OH2RDK ja OH2RDY. Softa pyörii ainakin myös OH6NT-5 ja OH6AC asemilla eBox-2300 "tupakkiaskeissa" Debianilla (ks. OH2RDK yllä).

Pelkkänä vastaanottimena toimivan Rx-iGate:n rakentaminen ei tarvitse automaattiaseman lupaa, eikä suomessa edes radioamatöörilupia, vaan kuka tahansa voi sellaisen laittaa ajoon.

APRS Digipiitteri ja Tx-iGate vaativat automaattiaseman luvan lukuunottamatta tilapäisesti omistajan valvovan silmän alla esim. kesämökillä hetkittäin käynnissä olevaa asennusta.

Jakelu

Ohjelmisto on saatavilla:

http://ham.zmailer.org/oh2mqk/aprx/

Englanninkielinen käsikirja on saatavilla:

http://ham.zmailer.org/oh2mqk/aprx/aprx-manual.pdf

Ominaisuudet

Alunperin tämä ohjelma kirjoitettiin tarpeeseen tihentää verkkoa, jolla APRS vastaanottimet syöttävät kuultuja tietoja APRS-IS verkkoon, mistä niitä saa sitten katsella vaikkapa http://aprs.fi/ palvelun kautta.

Uusi versio tarjoaa niin yksinään olevan APRS pakettien Digipeater toiminnan, kuin myös yksi ja kaksisuuntaiset iGate toiminnot.

Tavoitteena on ollut minimaalinen resurssitarve, eli ohjelmisto ei tarvitse asennusympäristöltä itseään varten mitään sellaisia kirjastoja ja ominaisuuksia mitä standardi POSIX ns. LIBC ei sisällä. Näin ohjelmiston resurssitarvetta on pienennetty mahdollisimman vähään ja se on helposti asennettavissa kaikkiin POSIX-yhteensopiviin alustoihin ja erityisesti se sopii hyvin pieniin "sulautettuihin" (Linux) koneisiin. Yleiskäyttöisessä i386 Linux koneessa iGate:ksi+digipeateriksi säädetyn Aprx:n kirjoitettavan käyttömuistin tarve on luokkaa 250 kB.

Rx-iGate systeemin minimaalinen konfiguraatio on:

 mycall  OH2XYZ
 <aprsis>
    server   rotate.aprs.net  14580
 <aprsis>
 <interface>
    serial-device /dev/ttyS0  19200  8n1    KISS
 </interface>

Yksinään olevan APRS Digipeaterin minimaalinen konfiguraatio on:

 mycall  OH2XYZ
 <interface>
    serial-device /dev/ttyS0  19200  8n1    KISS
 </interface>
 <digipeater>
    transmitter  $mycall
    <source>
       source     $mycall
    </source>
 </digipeater>

Jos kyseessä on Linux systeemi jossa on jo radiomodeemeja kiinni kissattach komennolla, tarvitaan vielä "ax25-rxport" määrityksiä. (Tosin kissattach:in konfiguraatio on paljon mutkikkaampaa kuin Aprx:n...)

Jotta esim. http://aprs.fi/ palvelu kertoo enemmän tästä yhdyskäytävästä mm. listaten sen kuulemat sanomat, tarvitaan vielä beacon määritys - joka perinteisesti on kaikkein virheherkintä mitä tässä voi tehdä. Ensiksi pitää tietää iGate aseman koordinaatit asteina ja minuutteina, esimerkiksi katsomalla ne vaikkapa http://aprs.fi/ palvelusta karttapohjalta. Sitten määritetään:

<beacon>
beacon for OH1XYZ-15 symbol "R&" lat "6020.22N" lon "02504.44E"
comment "..."
</beacon>

Koordinaattikenttien koot pitää huomata, longitudissa asteita on 3 numeroa, etunollat mukana! Minuutit ovat kahdella numerolla ja kahdella desimaalilla, piste on pakollinen ja N/S E/W ovat pakollisia isolla kirjoitettuna. Yllä annettu symboli "R&" tarkoittaa Rx-iGatea. Yllä kommentti-parametri on teknisistä syistä kirjoitettu eri riville kuin muut, konfiguraatioon ne laitetaan kaikki samalle riville.

Koska tämän ohjelmiston pitää toimia myös äärimmäisen muistirajoitteisissa ympäristöissä, ei ole nähty mieltä tehdä tälle mitään muistisyöppöjä konfiguraatiotyökaluja, vaan asentajan tulee olla sinut tekstitiedostomuotoisen konfiguroinnin säätämisen kanssa.

Ohjelmisto sisältää myös ns. "Erlang monitor" mekanismin, joka kerää mittaustietoa radiokanavan käyttöasteesta telemetriana, jota voi katsoa mm. http://aprs.fi/ webistä.

Käyttöjärjestelmät

Toimivaksi kokeillut:

  • Linuxit (Fedora, RedHat, SuSE, Debian)
  • OpenWrt (pieni sulautettu linux, OpenWrt --with-pthreads, NSLU2 --with-pthreads)
  • Apple OSX

"Pitäisi toimia":

  • FreeBSD/NetBSD/OpenBSD
  • Solaris / OpenSolaris
  • HP-UX
  • Windows+CygWin

(tai lyhyemmin: kaikki POSIX yhteensopivat käyttöjärjestelmät)

Kaikkiin maailman käyttöjärjestelmiin ei ole valmiita asennuspaketteja, eikä integroituja managerointityökaluja. Lähdekoodista kuitenkin osaava saanee paketin kääntymään vähällä vaivalla.

Radiomodeemien liitännät

Kuuntelee ns. KISS-protokollaa puhuvia radiomodeemeja sarjaportissa, tukee myös TNC2 monitorointiformaattia sarjaporttiinsa puhuvia APRS digipiittereitä:

  • Tukea tarjotaan rajoittamattomalle määrälle sarjaportteja yhdessä koneessa
  • Toimii myös USB sarjaporteilla (edellyttäen että TNC myös tajuaa USB-RS232:n tasot!)
  • Toimii myös etäpalvelimessa olevalla "TCP STREAM" palvelulla näkyvässä sarjaportissa (esim. Cisco routerien AUX portit.)

Tukee koneessa mahdollisesti olevaa AX.25 verkkoprotokollaa (lähinnä vain Linux:it) ja siihen liitettyjä radiomodeemeja.

APRS Rx-iGate ominaisuudet

  • Kytkeytyy yhdellä kutsumerkkiSSID:llä APRS-IS runkoverkkoon kaikkien radioporttiensa datan välittämiseksi, mutta mahdollistaa myös yksittäisten radioporttien erillisen raportoinnin APRS-IS:ään.
  • Tietää että seuraavat tokenit AX.25:n osoitteen VIA-kentissä ovat merkki että pakettia ei pidä välittää APRS-IS verkkoon:
    • RFONLY, NOGATE, TCPIP, TCPXX
  • Tietää että seuraavat lähdeosoitteet ovat vääriä, eikä niitä saa esiintyä paketeissa, joten pakettia ei välitetä verkkoon:
    • WIDE*, RELAY*, TRACE*, TCPIP, TCPXX, NOCALL, N0CALL
  • On välittämättä kaikki kyselyviestit ("?")
  • Prosessoi "3rd-party" sanomat katsoen paketin sisään ja analysoiden siellä olevan osoitetiedon ja datan mahdolliset välityskiellot
  • Välittää datan APRS-IS verkkoon kyseisen verkon standardimuodossa

APRS Tx-iGate ominaisuudet

APRS Tx-iGate on implementoitu yhtenä datalähteenä (<source> -lohkona) digipeaterille.

APRS Tx-iGate:

  • Seuraa perussääntöjä jotka kuvataan dokumentissa http://www.aprs-is.net/IGateDetails.aspx
  • Sille voi määritellä lisää suodinsääntöjä jotka tutkivat viestin sisältöä päättääkseen, halutaanko kyseinen paketti välittää APRS-IS:stä radiokanavalle, vai ei.


APRS Tx-iGate:n lisääminen Aprx:n konfiguraatioon tarvitsee sopivan <source> lohkon digipeaterin määrityksiin:

 <aprsis>
    server  rotate.aprs.net   14580
    #filter       b/a0good   # Tx-iGate everything always from this call
 </aprsis>
 <digipeater>
    transmitter  $mycall       # radio port
    <source>
       source    $mycall       # radio port
    </source>
    <source>
       source        APRSIS
       relay-mode    3rd-party
       viscous-delay 5
       #filter       b/a0good   # Tx-iGate everything always from this call
       #filter       -b/aa0bad  # Tx-iGate never anything from this call
    </source>
 </digipeater>

Kompleksiset ominaisuudet

Ohjelmistolla kykenee myös kompleksisiin juttuihin joita ei muualta löydy.

Sarjaportit

  • Sarjaportit voivat olla fyysisesti kiinni koneessa, kunhan tarjoavat POSIX semantiikkaa (myös USB sarjaportit toimivat tietyin edellytyksin, ks. yllä).
  • Sarjaportit voivat olla jossain muualla internetissä, kunhan ovat tavoitettavissa TCP/IP protokollalla.
  • Sarjaportteja voi olla periaatteessa rajoittamaton määrä
  • Sarjaportit osaavat KISS:iä muutamina variantteina
  • Osaa multipleksoida modeemeja KISS linjalla
  • Sarjaportit osaavat myös vastaanottaa TNC2 monitoriformaattia

Linux-koneissa systeemi ymmärtää myös koneen sisäiseen AX.25 verkkoon kytketyt radiot

Mahdollisesti monia kutsumerkkejä

Kaikista porteista vastaanotettu APRS liikenne tarjotaan APRS-IS verkkoon vastaanotinkohtaisella kutsumerkillä.

Radiokanavan varausasteen mittaus

APRS radiokanavan varausasteesta oli ennen vuotta 2008 ollut kaikenlaisia huhuja, mutta ei mitään mittausdataa. Tämän puutteen ratkaisemiseksi Aprx-ohjelmistoon rakennettiin Erlang-estimaattori, joka "arvaa" kanavan varausasteen vastaanotettujen pakettien datamäärän mukaan.

Tällainen mittaus aliarvioi kanavan varausasetta, mutta 0.01 Erlangia vs. 0.10 Erlangia on kuitenkin selkeästi erilainen liikennemäärä.

Varausasteen telemetria radioteitse

Internetyhteydettömän digipeaterin telemetrian saa lähtemään myös radioteitse käyttämällä tällaista määritystä:

 <telemetry>
       transmitter  $mycall
       via          TRACE1-1
       source       $mycall
 </telemetry>

Tarkemmat ohjeet aprx-manual.pdf tiedostossa.

Monta digipeateria

Kun Aprx palvelimella on määriteltynä useampia lähettimiä, jokaiselle jota halutaan käyttämään jonkun asian digipeattaamiseen voi laittaa omat <digipeater> lohkon jolla on omat erilliset toimintasääntönsä.

Tällä tavalla voidaan rakentaa:

  • Cross-band / cross-channel digipeatereita
  • Digipeatereita joilla on diversiteettivastaanottimia
  • Digipeatereita joilla on hajautettu vastaanotinverkosta (yhteydet mielellään jotenkin muuten kuin radiolla)

Viskoosinen digipeateri

Digipeaterilla one erityinen jähmeä (viskoosinen) toimintatila, jossa se laittaa saapuneet APRS paketit lyhyeen viivevarastoon (aikamäärä on säädettävissä 1-9 sekuntiin ja yleensä 5 sekuntia on sopiva.) Kyseisen viiveen aikana systeemi laskee kuulemansa paketit ja jos se on kuullut kyseisen paketin vain kerran, sitten se paketti syötetään digipeater-toimintoon.

Katso Viscous APRS Digipeater artikkelia esimerkistä, miten lähetystiheys muuttuu, kun digipeater asetetaan viskoosiseen tilaan.

Asennus

Tuoreimmat valmiit binääripaketit tehdään yleensä Debian Linuxille ja ne toimivat suunnilleen kaikissa Debian johdannaisissa mm. Ubuntut.

 # dpkg -i aprx_1.99.382-1_i386.deb

Oletusasennuspaketti vie paikalleen konfiguraatiotiedoston /etc/aprx.conf ja kaikki tarpeelliset käynnistystiedostot jotta ohjelma käynnistyy systeemin käynnistyessä. Oletusasennuspaketissa kuitenkaan mikään ei toimi, vaan:

  • Joudut käsikirjan kanssa muokkaamaan /etc/aprx.conf tiedostoa
  • Joudut muokkaamaan /etc/default/aprx tiedostoa.

Sitten ohjelma käynnistyy ja pysähtyy komennoilla:

 # /etc/init.d/aprx start
 # /etc/init.d/aprx stop

Debianissa uuden ohjelmaversion asennus merkitsee hyvin usein myös kysymystä "saanko ylikirjoittaa konfiguraatiotiedoston?" Siihen vastataan aina "N", jos ei haluta tehdä kaikkea säätöä uusiksi.

Konfigurointi

Katso esimerkkejä aprx-manual.pdf tiedostosta.

Kun olet muokannut konfiguraation sopivammaksi, kokeile mitä ohjelma on siitä mieltä:

 # aprx -d -f /etc/aprx.conf

(ohjelma sulkeutuu Control-C näppäilyllä)

Jos se ei huutele mitään "ERROR:" tekstejä, se kelpaa ainakin konfiguraation lukukoneistolle.

Sammuta mahdollinen aiempi ilmentymä ohjelmaa:

 # /etc/init.d/aprx stop

käynnistä uusi:

 # /etc/init.d/aprx start