Ero sivun ”Aprx” versioiden välillä

Radioamatööriwikistä
Siirry navigaatioon Siirry hakuun
>Oh2mqk
p (link format change)
>Oh2mqk
p (Aprx:n muistikulutuksesta)
 
(26 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä)
Rivi 2: Rivi 2:
''There is also english translation of this document: [[Aprx.en]]''
''There is also english translation of this document: [[Aprx.en]]''


'''APRX''' on [[APRS-IS]]—[[APRS iGate|Rx-iGate]] käyttöön tarkoitettu ohjelmisto.
'''APRX''' on alunperin [[APRS-IS]]—[[APRS iGate|Rx-iGate]] käyttöön tarkoitettu ohjelmisto.  Sittemmin siihen on lisätty myös täysi [[APRS Digipiitteri|Digipiitteri]] toiminnallisuus ja [[APRS iGate|Tx-iGate]] toiminta.


Ohjelmisto asennetaan sopivaan UNIX:in kaltaiseen systeemiin ja sen konfiguraatiotiedosto säädetään kohdalleen.
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.
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
Ohjelmistosta on tarjolla valmiit binääripaketit muutamiin Fedora ja Debian ympäristöihin, muuallekin se on käännettävissä helposti lähdekoodista.
se on käännettävissä helposti lähdekoodista.


Esimerkkejä sopivista laitteistoista mainitaan artikkeleissa [[OH1GSM-1]] ja [[OH2RDY]].
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ä edes radioamatöörilupia, vaan kuka tahansa voi sellaisen laittaa ajoon.'''''
'''''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 ==
== Jakelu ==
Ohjelmisto on saatavilla:
Ohjelmisto on saatavilla:
::http://ham.zmailer.org/oh2mqk/aprx/
::http://ham.zmailer.org/oh2mqk/aprx/
Englanninkielinen käsikirja on saatavilla:
::http://ham.zmailer.org/oh2mqk/aprx/aprx-manual.pdf


== Ominaisuudet ==
== Ominaisuudet ==
Tämä ohjelma ei ole kilpailija sen paremmin kaksisuuntaisille [[APRS iGate]]:ille, kuin APRS digeille, vaan on kirjoitettu tarpeeseen joka nähtiin yksinkertaisen vastaanotinverkkoa tihentävän Rx-IGate palvelun luomiseksi.


Tavoitteena on ollut minimaalinen teknologiatarve, eli ohjelmisto ei tarvitse asennusympäristöltä itseään varten mitään sellaisia kirjastoja ja ominaisuuksia mitä standardi POSIX ns. LIBC ei sisällä.
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.
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.


Minimaalinen konfiguraatio sisältää kolme säädettävää parametria:
Rx-iGate systeemin minimaalinen konfiguraatio on:
::'''MYCALL ...'''
  mycall  '''OH2XYZ'''
::'''APRSIS-SERVER ...'''
  <aprsis>
::'''RADIO SERIAL ...'''
    server  rotate.aprs.net  14580
Jos kyseessä on Linux systeemi jossa on jo radiomodeemeja kiinni ''kissattach'' komennolla, riittää "MYCALL" ja "APRSIS-SERVER" määritykset.  (Tosin ''kissattach'':in konfiguraatio on paljon mutkikkaampaa kuin ''Aprx'':n...)
  <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&amp;" 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&amp;" 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.
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.
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ä.
 
[http://ham.zmailer.org/oh2mqk/aprx/aprx.8.html aprx(8) manuaalisivu] (englanniksi)


=== Käyttöjärjestelmät ===
=== Käyttöjärjestelmät ===
Toimivaksi kokeillut:
Toimivaksi kokeillut:
* Linuxit (Fedora, RedHat, SuSE, Debian)
* Linuxit (Fedora, RedHat, SuSE, Debian)
* OpenWrt (pieni sulautettu linux, OpenWrt --with-pthreads,  NSLU2 --with-pthreads)
* Apple OSX
"Pitäisi toimia":
"Pitäisi toimia":
* FreeBSD/NetBSD/OpenBSD/Apple OSX
* FreeBSD/NetBSD/OpenBSD
* Solaris / OpenSolaris
* Solaris / OpenSolaris
* HP-UX
* HP-UX
Rivi 46: Rivi 83:
(tai lyhyemmin: kaikki POSIX yhteensopivat käyttöjärjestelmät)
(tai lyhyemmin: kaikki POSIX yhteensopivat käyttöjärjestelmät)


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


=== Radiomodeemien liitännät ===
=== Radiomodeemien liitännät ===
Kuuntelee ns. [[KISS]]-protokollaa puhuvia radiomodeemeja sarjaportissa, tukee myös TNC2 monitorointiformaattia sarjaporttiinsa puhuvia [[APRS digipiitteri|APRS digipiittereitä]]:
Kuuntelee ns. [[KISS]]-protokollaa puhuvia radiomodeemeja sarjaportissa, tukee myös TNC2 monitorointiformaattia sarjaporttiinsa puhuvia [[APRS digipiitteri|APRS digipiittereitä]]:
* Tukea tarjotaan rajoittamattomalle määrälle sarjaportteja yhdessä koneessa
* Tukea tarjotaan rajoittamattomalle määrälle sarjaportteja yhdessä koneessa
* Toimii myös USB sarjaporteilla
* 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.)
* 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.
Tukee koneessa mahdollisesti olevaa [[AX.25]] verkkoprotokollaa (lähinnä vain Linux:it) ja siihen liitettyjä radiomodeemeja.


== APRS Rx-iGate ominaisuudet ==
== APRS Rx-iGate ominaisuudet ==
Rivi 66: Rivi 102:
* Prosessoi "3rd-party" sanomat katsoen paketin sisään ja analysoiden siellä olevan osoitetiedon ja datan mahdolliset välityskiellot
* 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
* Välittää datan [[APRS-IS]] verkkoon kyseisen verkon standardimuodossa
== APRS Tx-iGate ominaisuudet ==
APRS Tx-iGate on implementoitu yhtenä datalähteenä (<nowiki><source></nowiki> -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 <nowiki><source></nowiki> 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 ==
== Kompleksiset ominaisuudet ==
Rivi 71: Rivi 135:


=== Sarjaportit ===
=== Sarjaportit ===
* Sarjaportit voivat olla fyysisesti kiinni koneessa, kunhan tarjoavat POSIX semantiikkaa (myös USB sarjaportit toimivat)
* 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.
* Sarjaportit voivat olla jossain muualla internetissä, kunhan ovat tavoitettavissa TCP/IP protokollalla.
* Sarjaportteja voi olla periaatteessa rajoittamaton määrä
* Sarjaportteja voi olla periaatteessa rajoittamaton määrä
* Sarjaportit osaavat KISS:iä muutamina variantteina
* Sarjaportit osaavat KISS:iä muutamina variantteina
* Osaa multipleksoida modeemeja KISS linjalla
* Sarjaportit osaavat myös vastaanottaa TNC2 monitoriformaattia
* Sarjaportit osaavat myös vastaanottaa TNC2 monitoriformaattia
Linux-koneissa systeemi ymmärtää myös koneen sisäiseen AX.25 verkkoon kytketyt radiot
Linux-koneissa systeemi ymmärtää myös koneen sisäiseen AX.25 verkkoon kytketyt radiot


=== Mahdollisesti monia kutsumerkkejä ===
=== Mahdollisesti monia kutsumerkkejä ===
Kaikista porteista vastaanotettu APRS liikenne voidaan tarjota APRS-IS verkkoon yhdellä kutsumerkillä (MYCALL), tai haluttaessa jokainen sarjaportti voidaan tarjota APRS-IS verkkoon omalla kutsullaan.
Kaikista porteista vastaanotettu APRS liikenne tarjotaan APRS-IS verkkoon vastaanotinkohtaisella kutsumerkillä.
 
Jälkimmäinen suunniteltiin osaksi järjestelmää jolla monitoroidaan liikkuvien asemien kuuluvuutta keräämällä kaikki kuullut paketit yhdessä paikassa ennen duplikaattien poistoa.


=== Radiokanavan varausasteen mittaus ===
=== Radiokanavan varausasteen mittaus ===
APRS radiokanavan varausasteesta on ollut kaikenlaisia huhuja, mutta ei mitään mittausdataa.
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ä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ä.
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 <nowiki><digipeater></nowiki> 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 <code>/etc/aprx.conf</code> ja kaikki tarpeelliset käynnistystiedostot jotta ohjelma käynnistyy systeemin käynnistyessä.
Oletusasennuspaketissa kuitenkaan mikään ei toimi, vaan:
* Joudut käsikirjan kanssa muokkaamaan <code>/etc/aprx.conf</code> tiedostoa
* Joudut muokkaamaan <code>/etc/default/aprx</code> 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 ==
== Konfigurointi ==
  #
Katso esimerkkejä aprx-manual.pdf tiedostosta.
# Esimerkkikonfiguraatio APRX ohjelmalle  -- an Rx-only APRS iGate
 
# Tämä on tarkoitettu  /etc/aprx.conf  tiedostoksi.
Kun olet muokannut konfiguraation sopivammaksi, kokeile mitä ohjelma on siitä mieltä:
#
   # aprx -d -f /etc/aprx.conf
(ohjelma sulkeutuu Control-C näppäilyllä)
# mycall  parametri:
 
# Asemakutsumerkki jolla paketteja välitetään APRS-IS verkkoon.
Jos se ei huutele mitään "ERROR:" tekstejä, se kelpaa ainakin konfiguraation lukukoneistolle.
  # Jokaisella ohjelman ajossa olevalla kappaleella pitää olla oma
 
# erillinen kutsumerkkinsä.
Sammuta mahdollinen aiempi ilmentymä ohjelmaa:
#
  # /etc/init.d/aprx stop
mycall          N0CALL-1
käynnistä uusi:
   # /etc/init.d/aprx start
# APRS-IS palvelimen nimi ja porttinumero
# Servereitä voi olla useita, mutta vain yhtä käytetään kerrallaan.
# Jokaiselle palvelimelle pitää määritellä  aprsis-heartbeat-timeout
# erikseen.
#
aprsis-server    finland.aprs2.net 14580
# Jotkin APRS-IS palvelimet kertovat "sydämenlyöntiään" 20 sekunnin
# välein kaikkiin yhteyksiinsä.  Toiset ohjelmistot ovat ihan hiljaa.
# finland.aprs2.net kuuluu jutteleviin.
# Tämä pitää määrittää jokaiselle palvelimelle erikseen.
#
aprsis-heartbeat-timeout   120
# Esimerkki lisäpalvelimen määrittelystä, näitä ryhmiä toistetaan
# kunnes kaikki halutut on määritelty.
#
#aprsis-server            rotate.aprs.net 14580
#aprsis-heartbeat-timeout  120
#
# rflog määrittelee kierrätettävän tiedoston, jonne kaikki radioverkosta
# kuullut paketit logitetaan.
#
#rflog /var/log/aprx-rf.log
# aprxlog määrittää kierrätettävissä olevan tiedoston, jonne
# tärkeimmät APRS-IS serveriyhteyden tapahtumat kirjataan.
#
#aprxlog /var/log/aprx.log
# erlangfile  parametri määrittää binaaritiedoston, jonne kerätään
# käyttöastetilastoa ja josta aprx-stat apuohjelma käy sitä lukemassa.
#
# Sisäänrakennettu oletusarvo: /var/run/aprx.state
#
erlangfile /var/run/aprx.state
# "radio serial"  parametri.  Sen optiot ovat:
#   - /dev/ttyUSB1    -- tty laite
#   - 19200          -- portin nopeus
#                        1200, 2400, 4800, 9600, 19200, 38400
#  - 8n1            -- vapaaehtoinen vakio (muuta ei tueta)
#  - KISS            -- vaihtoehtoinen vakio
#  - TNC2            -- vaihtoehtoinen vakio
#
#radio serial  /dev/ttyS0    19200 8n1    KISS
#radio serial  /dev/ttyUSB1  19200 8n1    TNC2
# netbeacon  parametri.
# Lainausmerkeissä annetaan APRS sanomadata "sellaisenaan".
# Netbeacon:eiden enimmäismäärää ei ole rajoitettu.
#
#netbeacon  "!6016.35NR02506.36E&aprx - an Rx-only 'iGate'"


[[Category:APRS]]
[[Category:APRS]]

Nykyinen versio 14. kesäkuuta 2010 kello 01.01

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