Aprx
Sisällysluettelo |
There is also english translation of this document: Aprx.en
APRX on alunperin APRS-IS—Rx-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:
Englanninkielinen käsikirja on saatavilla:
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ä.
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