Ero sivun ”Aprx” versioiden välillä

Radioamatööriwikistä
Siirry navigaatioon Siirry hakuun
>Oh2mqk
>Oh2mqk
p (Aprx:n muistikulutuksesta)
 
(35 välissä olevaa versiota 2 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
<div class="floatright">__TOC__</div>
<div class="floatright">__TOC__</div>
'''APRX''' on [[APRS-IS]]&mdash;[[APRS iGate|Rx-iGate]] käyttöön tarkoitettu ohjelmisto.
''There is also english translation of this document: [[Aprx.en]]''
 
'''APRX''' on alunperin [[APRS-IS]]&mdash;[[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 se on käännettävissä helposti lähdekoodista.


Ohjelmistosta on tarjolla valmiit binääripaketit muutamiin Fedora ja Debian ympäristöihin, muuallekin
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ä).  
se on käännettävissä helposti lähdekoodista.


Esimerkkejä sopivista laitteistoista mainitaan artikkeleissa [[OH1GSM-1]] ja [[OH2RDY]].
'''''Pelkkänä vastaanottimena toimivan Rx-iGate:n rakentaminen ei tarvitse automaattiaseman lupaa, eikä suomessa edes radioamatöörilupia, vaan kuka tahansa voi sellaisen laittaa ajoon.'''''


'''''Pelkkänä vastaanottimena toimivan Rx-iGate:n rakentaminen ei tarvitse automaattiaseman lupaa, 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 ==
== Ominaisuudet ==


Tämä ohjelma ei ole kilpailija sen paremmin kaksisuuntaisille [[igate]]:ille, kuin APRS digeille, vaan on kirjoitettu tarpeeseen joka nähtiin yksinkertaisen vastaanotinverkkoa tihentävän Rx-igate palvelun luomiseksi.
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.


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ä.
Rx-iGate systeemin minimaalinen konfiguraatio on:
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.
  mycall  '''OH2XYZ'''
  <aprsis>
    server  rotate.aprs.net  14580
  <aprsis>
  <interface>
    serial-device '''/dev/ttyS0  19200'''  8n1    KISS
  </interface>


Minimaalinen konfiguraatio sisältää kolme säädettävää parametria:
Yksinään olevan APRS Digipeaterin minimaalinen konfiguraatio on:
   MYCALL ...
   mycall  '''OH2XYZ'''
   APRSIS-SERVER ...
   <interface>
  RADIO SERIAL ...
    serial-device '''/dev/ttyS0  19200''' 8n1    KISS
Jos kyseessä on Linux systeemi jossa on jo radiomodeemeja kiinni ''kissattach'' komennolla, riittää "MYCALL" ja "APRSIS-SERVER" määritykset.
  </interface>
  <digipeater>
    transmitter  $mycall
    <source>
        source    $mycall
    </source>
  </digipeater>


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.
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...)


Ohjelmisto sisältää myös ns. "Erlang monitor" mekanismin, joka kerää mittaustietoa radiokanavan käyttöasteesta.
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.


[http://ham.zmailer.org/oh2mqk/aprx/aprx.8.html aprx(8) manuaalisivu] (englanniksi)
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 ===
=== Käyttöjärjestelmät ===
* Toimivaksi kokeillut:
Toimivaksi kokeillut:
** Linuxit (Fedora, RedHat, SuSE, Debian)
* Linuxit (Fedora, RedHat, SuSE, Debian)
* "pitäisi toimia":
* OpenWrt (pieni sulautettu linux, OpenWrt --with-pthreads,  NSLU2 --with-pthreads)
** FreeBSD/NetBSD/OpenBSD/Apple OSX
* Apple OSX
** Solaris / OpenSolaris
"Pitäisi toimia":
** HP-UX
* FreeBSD/NetBSD/OpenBSD
** Windows+CygWin  
* Solaris / OpenSolaris
* HP-UX
* Windows+CygWin  
(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 iGate ominaisuudet ===
== 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.
* 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:
* Tietää että seuraavat tokenit AX.25:n osoitteen VIA-kentissä ovat merkki että pakettia ei pidä välittää APRS-IS verkkoon:
Rivi 65: Rivi 103:
* 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 ==
Ohjelmistolla kykenee myös kompleksisiin juttuihin joita ei muualta löydy.


=== Kompleksiset ominaisuudet ===
=== 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


<<< todo ? >>>
=== 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 <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.
#
# mycall  parametri:
# Asemakutsumerkki jolla paketteja välitetään APRS-IS verkkoon.
# Jokaisella ohjelman ajossa olevalla kappaleella pitää olla oma
# erillinen kutsumerkkinsä.
#
mycall          N0CALL-1
# 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            -- pakollinen vakio
#  - KISS            -- pakollinen 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'"


== Jakelu ==
Kun olet muokannut konfiguraation sopivammaksi, kokeile mitä ohjelma on siitä mieltä:
Ohjelmisto on saatavilla:
  # aprx -d -f /etc/aprx.conf
* http://ham.zmailer.org/oh2mqk/aprx/
(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


[[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