Aprsg
aprsg eli APRS Gateway on IGateohjelma Linuxin kaltaisille käyttöjärjestelmille. Sen tavoite on tarjota aprsd:n keskeisimmät toiminnot hieman paranneltuina, helpommin konfiguroitavina ja pienemmällä muistinkulutuksella. aprsg on kehitetty alunperin Debian Linuxille, mutta se asentuu vaivatta muihinkin Debian-pohjaisiin jakeluihin. Tyystin erilaisiin jakeluihin tai ympäristöihin aprsg:n saattaa hyvinkin saada asennettua lähdekoodeista kääntämällä.
Tärkeimmät ominaisuudet:
- APRS-pakettien vastaanotto yhdeltä tai useammalta KISS- tai tavalliselta TNC:ltä sarjaportin kautta
- Kuultujen pakettien lähettäminen APRS-IS-palvelimelle
- Pakettien välittäminen netistä bandille kutsun ja/tai lähettäjän sijainnin mukaan suodatettuna
- Mahdollisuus vaihtaa palvelinta automaattisesti yhteyden katketessa
Asentaminen
Debian ja siihen pohjautuvat jakelut
Debianille ja siihen pohjautuville käyttöjärjestelmille on tarjolla valmis asennuspaketti sekä aprsg:lle että sen käyttämällä sarjaporttikirjastolle. Ne löytyvät osoitteesta http://oh3tr.ele.tut.fi/~oh2gve/aprsg/debian/. Lataa ja asenna paketit, esimerkiksi komentoriviltä homma tapahtuu seuraavasti.
wget http://oh3tr.ele.tut.fi/~oh2gve/aprsg/debian/aprsg_0.5-1_i386.deb wget http://oh3tr.ele.tut.fi/~oh2gve/aprsg/debian/libwxctb0_0.9-4_i386.deb sudo dpkg -i libwxctb0_0.9-4_i386.deb aprsg_0.5-1_i386.deb
Graafisissa käyttöliittymissä saatat onnistua esimerkiksi klikkaamalla linkkejä http://oh3tr.ele.tut.fi/~oh2gve/aprsg/debian/aprsg_0.5-1_i386.deb ja http://oh3tr.ele.tut.fi/~oh2gve/aprsg/debian/libwxctb0_0.9-4_i386.deb ja tuplaklikkaamalla sitten paketteja sieltä mihin ne tallensit.
Näin toimien saatat saada varoituksia puuttuvista paketeista, jotka aprsg tarvitsee. Katso tällöin pakettien nimet virheilmoituksesta ja asenna ne haluamallasi pakettienhallintatyökalulla.
Asetukset ja käynnistäminen
Asennuksen jälkeen vuorossa on asetusten teko, joka tapahtuu luomalla asetustiedosto /etc/aprsg/aprsg.conf esimerkiksi komennoilla
cd /etc/aprsg cp aprsg.conf.sample aprsg.conf
ja muokkaamalla sitä tiedostossa olevien kommenttien ja tarvittaessa ohjeiden mukaan.
Konfiguroitu aprsg käynnistyy komennolla
/etc/init.d/aprsg start
Tarkkaile IGatesi toimintaa! Lokitiedostot ovat avuksi tässä vaiheessa, vaikka niiden keräämisestä myöhemmin haluaisit esimerkiksi levytilan säästämiseksi luopuakin. Pääteikkunaan tulostuvat vain muutamat käynnistymisen estävät virheet, kaikki muut tulevat lokitiedostoon.
Poistaminen
Koska aprsg on asennettuna Debianin pakettienhallinnan kautta, voit poistaa sen käyttämälläsi pakettienhallintatyökalulla. Esimerkiksi siis komentamalla
aptitude purge aprsg
Lähdekoodeista kääntämällä
aprsg tarvitsee kääntyäkseen ja toimiakseen wxWidgets- ja Communication Toolbox -kirjastot. Kehitysalustassa on wxWidgetsin versio 2.6.3.2.1.5, mutta koodi saattaa kääntyä muitakin versioita vastaan. Kirjaston saat osoitteesta http://www.wxwidgets.org/downloads/. Jos joudut/päädyt kääntämään kirjaston itse, kannattanee jättää graafiset osat kääntämättä (--disable-gui), sillä aprsg ei niitä tarvitse. Communication Toolboxista (lyh. wxtcb) käytämme versiota 0.9, jonka saat osoitteesta http://downloads.sourceforge.net/wxcode/wxctb-0.9.tar.gz.
Kun edellämainitut kirjastot on asennettu ja tähdet ovat taivaalla oikeissa paikoissa, kääntämisprosessin pitäisi sujua normaaliin tapaan:
wget http://oh3tr.ele.tut.fi/~oh2gve/aprsg/source/aprsg-<versio>.tar.gz tar xvzf aprsg-<versio>.tar.gz cd aprsg-<versio> ./configure make make install
Konfigurointi
Pikaopas kiireisille harrastajille
- Ota risuaita pois niistä esimerkkiasetustiedoston riveistä, jotka on listattu alla.
- Korvaa samalla paksunnetut kohdat omilla tiedoillasi.
- Jos ei starttaa, lue ohjeet.
- Jos ei toimi, lue ohjeet.
- Jos ei vieläkään toimi, soita SRALlin hallitukselle ja vaadi rahat takaisin, hi.
Takaisin asiaan...
aprsgn konfiguroinnissa kannattaa käyttää pohjana niin lähdekoodi- kuin Debian-paketissakin tulevaa esimerkkiasetustiedostoa. Tiedoston risuaitamerkillä alkavat rivit ovat kommenttirivejä, joihin on kirjoitettu vinkkejä ja esimerkkejä asetusten tekoon. Konfigurointi tapahtuu helpoiten poistamalla kommenttimerkit esimerkkirivien edestä ja asettamalla niihin oikeat arvot. Asetustiedosto on jaettu osioihin, joiden välissä olevien [otsikoiden] edestä on myös poistettava kommenttimerkki.
Seuraavassa on lueteltu rivit, joiden edestä pitää poistaa risuaita RX-IGaten käyttöönotossa. Pakolliset muutettavat kohdat on paksunnettu.
[general]
IGaten kutsu
Pelkästään bandilta nettiin liikennettä välittävä asema ei tarvitse automaattiseman lupaa eikä siis erityiskutsua, joten voit käyttää omaa kutsuasi. Jos kutsusi on jo APRS-käytössä, laita tähän sen perään jokin vapaana oleva SSID (Secondary Station IDentifier, numero 1-15 joka erottaa saman käyttäjän asemat toisistaan).
callsign = OH2GVE-15
Aseman sijainti
Vaadittu esitysmuoto on asteet kahdella (jälkimmäisessä kolmella) numerolla ja heti perään minuutit kahden desimaalin tarkkuudella. Koordinaatit saa esim. aprs.fi-palvelusta vaihtamalla sen asetuksista koordinaattien esitysmuodoksi "APRS" ja sohimalla senjälkeen hiiren osoittimen IGaten QTH:n kohdalle.
latitude = 6127.25N longitude = 02350.72E
Sijainnin lähetysväli
IGaten oman sijainnin lähetysväli minuutteina.
beaconinterval = 20
[uplink]
Käytettävä palvelin
Käytettävä APRS-IS-palvelin ja tcp-portti. Palvelimia voi asettaa useita, jolloin yhteys siirtyy automaattisesti toiseen jos ensimmäiselle palvelimelle ei päästä tai yhteys sinne katkeaa.
server = aprs.sral.fi:2345 finland.aprs2.net:14580
Yhteyden tila
RX-IGaten kanssa kannattaa käyttää arvoa txonly, sillä silloin mahdollisia palvelimelta tulevia paketteja ei käsitellä eivätkä ne täytä lokitiedostoja.
state = txonly
Aikakatkaisu
Vaikka palvelinyhteys olisi tilassa writeonly, sieltä tulevaa liikennettä lasketaan koko ajan, ja jos liikennettä ei kuulu lainkaan annettuun aikaan (esimerkissä kahteen minuuttiin), yhteys tulkitaan katkenneeksi ja avataan uudelleen. Tämä nopeuttaa katkenneen verkkoyhteyden havaitsemista, johon ilman tätä toimintoa voi mennä 10-20 minuuttia.
notraffictimeout = 2
Jos verkkoyhteyden uudelleenavaus ei onnistu, odotetaan ennen seuraavaa yritystä tässä määritelty minuuttimäärä.
retryinterval = 3
Yhteydet radiolaitteisiin
aprsg osaa vastaanottaa paketteja sarjaportin kautta perusTNC:n lisäksi KISS-TNC:ltä. KISS-TNC:n käyttö on suositeltavampaa, sillä se selviää paremmin APRS-paketeissa joskunaan esiintyvistä hassuista erikoismerkeistä kuten ä ja ö. Laitteita voi olla kytkettynä useita, vain käytössä olevan PC:n sarjaporttien määrä on rajana. Useamman laitteen käyttäminen lienee tosin mielekästä lähinnä silloin kun ne kuuntelevat eri taajuuksia.
Yhteydet radiolaitteisiin numeroidaan juoksevasti ykkösestä alkaen. Yhteyksien parametrien mahdolliset arvot on lueteltu esimerkkiasetustiedostossa. Alla on annettu esimerkki RX-only IGaten syöttämisestä KISS-TNC:llä.
[connection1] type = 'serialkisstnc state = rxonly device = /dev/ttyS0 speed = 19200 wordlength = 8 parity = N stopbits = 1 erroraction = terminate
erroraction-kohta määrittää mitä aprsg tekee jos sarjaporttia ei saada auki. Normaalit sarjaportit harvemmin katoavat, mutta jos käytät esimerkiksi USB-sarjaportteja tai virtuaalisarjaportteja voi ongelmia ilmetä. Tällöin kannattaa asettaa "erroraction = log".
[duplicatecontrol]
Kaikki IGaten kuulemat paketit tarkistetaan, ja ennen kuulemattomat tallennetaan tässä mainituksi määräksi sekunteja. Jos tämän ajan kuluessa kuullaan sama paketti uudelleen esimerkiksi toisen digipiitterin kautta, sitä ei turhaan välitetä uudelleen palvelimelle. Tästä on hyötyä ainakin silloin, jos palvelinyhteys kulkee hitaan tai kalliin gprs-linkin yli.
duplicatetime = 10
[logging]
Lokitiedostot ovat avuksi aseman toiminnan seuraamisessa. Päälokitiedosto on pakollinen, sinne kirjautuu tietoja ohjelman käynnistyessä ja pysähtyessä. Kuultujen pakettien loki on vapaaehtoinen, mutta se on kätevä keino aseman toiminnan seuraamiseen joten sitä kannattaa käyttää. Huom: lokitiedostojen sijaintihakemiston pitää olla luotuna valmiiksi ennen aprsg:n käynnistämistä. Deb-paketti luo esimerkkiarvoissa mainitun oletushakemiston automaattisesti asentuessaan.
logfile = /var/log/aprsg/aprsg.log inputlogfile = /var/log/aprsg/input.log
Muuta
Ohjelman kehittäjädokumentaatio löytyy osoitteesta http://oh3tr.ele.tut.fi/~oh2gve/aprsg/doxygen/.