First impressions on Dan Smith's aprs tracker



This short hungarian text, below is a description about the Dan,s Home-made aprs tracker for our aprs community.
http://www.danplanet.com/blog/2011/03/20/a-custom-aprs-tracker-with-a-real-screen/
When I compiled and tested it a little in first time, on  my desktop machine,  come up the idea, to try to compile it on an embedded device, without any GUI capability, and try to modify it to use on the network from another machine, have GUI.
First I compiled it on my NLSU2, runing on it a debian with development tools. After compiling the two dependencies, I modified only the main Makefile, the order of the programs, need to compile: deleted the ui, because this small box hasnot gtk installed.
All the compiled 3 programs, aprs, fakegps, and the uiclient,  runnig without any problem, ofcourse the arps try to connect to the gui client: (this is the connect: message)
----------------------
LKGE25945:/tj/aprs-hg/aprs-hg-66eb91c6c9ad# ./aprs -v
APRS v0.1.0415 ()
Failed to send KISS initialization command: Bad file descriptor
connect: No such file or directory
connect: No such file or directory
Sending Packet: HG5APZ-9>APZDMS,WIDE1-1,WIDE2-1:!4731.50N/01900.98Ej/A=000328Home-built tracker
connect: No such file or directory
connect: No such file or directory
-----------------------

t.janos
hg5apz
2012 jan 22

Two days ago I sent a mail to Dan, propose him to extend his aprs tracker with a network connection. Originally the "server part", the aprs program communicate with the graphic client on a unix shocket inside one machine. But it has real advantages, if we can separate the server and the client side: the server, with the connected hw-s, with the gps, tnc, and telemetry hw sit in the car, and if you want to see it in working, you can connect to this small " board computer" a small laptop, or, maybe a tablet (runnuning on it a linux), and you can see the sdta in a nice GUI.
Dan, Thank you! and congrats!
t.janos
2012 jan 23



Based on my question
http://www.danplanet.com/blog/2011/03/20/a-custom-aprs-tracker-with-a-real-screen/#comments
Dan inserted a server-client connection into the system between the aprs and the ui graphical display prog. The use of this feature wasnot documented, but in the Mercurial commit tree. I made a copy here about this short note.

http://d-rats.com/hg/hgwebdir.cgi/aprs.hg/rev/6d80748143ea
"...Fix up bits allowing the use of an INET socket for the aprs->display connection. To use this:
1. Run 'ui' with '-i', which will cause it to listen on an INET socket
2. Run 'aprs' with '-d <hostname>' which will cause it to connect to the display on <hostname> using an INET socket This does not get used much and thus may not be completely robust, but seems to work...."
---------------
Some links to the recent dependencies and to the code:
libfap: http://pakettiradio.net/libfap/
wget http://pakettiradio.net/downloads/libfap/1.3/libfap-1.3.tar.gz
libiniparser: http://ndevilla.free.fr/iniparser/
wget http://ndevilla.free.fr/iniparser/iniparser-3.1.tar.gz
The aprs tracker:
wget http://d-rats.com/hg/hgwebdir.cgi/aprs.hg/archive/tip.zip
Build with "make".




Elso benyomasok Dan Smith,  KK7DS aprs trackererol


Dan Smith <dsmith@danplanet.com> KK7DS web oldala itt olvashato: (2012 jan. allapot szerint)
http://www.danplanet.com/blog/2011/03/20/a-custom-aprs-tracker-with-a-real-screen/
A custom APRS tracker with a real screen
March 20, 2011 kelt a bejegyzes,
amiben vazolja az elkepzeleseit, ami alapjan fejlesztette az egyelore ideiglenes nevvel ellatott rendszeret.

A koncepciorol


Ezeket mondja:
---------------------------------
Ha aprs trackerrol van szo, altalaban ket fo tipust szoktunk erteni alatta:
1. Egy egyszeeru "adasra kepes" eszkozt, mint amilyen a Tiny Track3. Az ilyen eszkoz celja az, hogy periodikusan adja az aktualis poziciot, amit egy gpstol kap. Az aprs halozatban pegid masok latjak, hogy hol tartozkodik a trackerrel felszerelt eszkoz.
Ha azt akarod latni, hogy masok hol vannak, akkor az egyik lehetoseg egy olyan radio, mint pl. a  Kenwood TM-D710, amibe be van epitve egy tnc, es a displayen megjelennek a vett adatok, szovegek, poziciok.

Azt gondoltam, hogy egy sor mas dolgoot is jo lenne latni egy kepernyon, hogy funkcionalisabb, vagy "modernebb" legyen ez a rendszer.
Ilyesmiket:
1. Egy igazi displayt (szinekkel es grafikaval)
2. Telemetria lehetoseget (pl. az auton a motor homersekletet vagy az akkumulator toltottseget/feszultseget)
3. Bovitheto legyen, pl. az autoban tovabbi vezerlesre, esetleg egy aprs vezerlo uzenettel.
------------------------------
Ennek megvalositasara szuletett az a rendszer, aminek a beta verziojat mutatja be ez az oldal.
A hardver alap egy BeagleBoard xM, 1GHz ARM core, 512 MB RAM es Linux fut rajta. Ez alapvetoen egy mobil telefon fejlesztoi board, a telefon hw nelkul. Kiegeszitette egy 3.5 colos LCD displayel, ami composit video csatalakozoval kapcsolodik a baordhoz.

A kepernyon egy egyszeru GTK program fut, kulonbozo mezokre osztva a rendelkezesre allo feluletet, amikben kulonfele informaciok jelenithetok meg.
Maga az aprs tracking kode egy kulonallo program, ami belso socketen keresztul kommunikal a display programmal.
Ebben a verzioban az aprs packetek feldolgozasahoz a libfap libraryt hasznalta, de ez lehet, hogy kesobb maskepp lesz.

A kesobbi telemetria "alrendszerhez" egyelore egy egyszeru mikrokontrolleres egyseg csatalakozik a BeagleBoard soros portjan, ami olvassa az aksi feszultseget es egy LM35 homerseklet szenzor adja a hofok erteket.

Az elso probautak alkalmaval szerzett tapasztalatok alapjan egy sor uj, fokent kenyelmi funcio otlete is felemrult, ezek a kesobbi verziokban fognak helyet kapni.
Ezekhez minden esetre szukseg lesz egy egyszeru billentyuzetre, ez jeleneg egy mobil-telefon meretu bluetooth keyboard.
Egybetus parancsokkal ez lehetove teszi a konfiguraciot, text inputot, bacon adas inditasat, es egyebb uzenetek megjeleniteset. (a jelenlegi parancs listat lasd alabb, a forraskodbol kiemelve)


Az oldalt, 2011 dec 29-tol nehany hozzaszolo kommentalta, kifejeztek keresuket, hogy hozzaferhessenek a forraskodhoz.
Dan ennnek 2012 jan 17-en tett eleget, publikalva a kod hg repository oldalat nehany megjegyzessel, ezeket eredeti formaban ide masolom.
-----------------------------------
Okay, here you all go. Now, some rules (or points to keep in mind):

1. This was not intended for public consumption, so don’t complain about places where my callsign is hardcoded, code is messy, etc (unless you want to fix it)
2. Feel free to send me patches
3. If you build something you are required to send me a picture
This should build on most modern distros, assuming you install the two small required libraries:
http://d-rats.com/hg/hgwebdir.cgi/aprs.hg/
Start the “ui” binary first (probably with -w) and then start the “aprs” binary. It should be trivial to get it built and use the aprstest.ini config file to make it consume the worldwide APRS-IS feed.
Be nice Smilie: :)
----------------------------------
Gyakorlatilag ennyi a dokumentacio.


Elso tapasztalatok


Letoltottem a programot, es ket verzioban leforditottam.
A README fileban olvasni lehet, hogy ket seged lib kell hozza, ezeknek megadja az elerhertoseget is, az egyik a fentebb mar emlitett libfab, a masik egy iniparser nevu seged-konyvtar, az ini file kezelesere.

Eloszor a (kisse mar oreg) CentOs redhat-szeru linux alatt forditottam. A fenti ket lib felrakasa utan lefordult, kiveve a grafikus kliens reszt, mert a CentOs alatt levo gtk mar kisse elavult. A rendszer magja, az aprs program (egyelore nem nevezheto szigoruan vett deamonnak) fut, egy konfig filebol veszi a szukseges parametereket. Ket ilyen pelda .ini file van mellekelve, ebbol az aprs.ini az, ami a megfelelo modositasok utan "uzem kozben" hasznalhato, mig van egy test celokra szolgalo masik  .ini file is. Ebben az oregon.aprs2.net internet gatewayre jelentkezik be az ismert 14580 porton, a szerzo hivojelevel, es "eloben" lehet latni a mukodest, minden tovabbi hw csatalakzotatasa nelkul.

A "normal" hasznalathoz szukseges harver egysegek ezek:
1. KISS TNC
2. GPS
3. Telelemetria egyseg (egyelore a fent vazolt egyszeru mikrokontrolleres homero es feszultsegmero egyseg)

A fenti internet alapu demo mod mukodesbe hozasahoz egy "friss" ubuntun meg egyszer telepitettem a rendszert, a forditas utan itt 4 program jon letre ezek:
- aprs (errol mar volt szo)
- ui (ez a GTK alapu grafikus program)
- uiclient (ez alighanem egy halozaton csatlakozo kliens kezdemeny, egyelore nem sikerult mukodesbe hoznom, a forrasbol latszik, hogy a localhost van "bedrotozva" a 9123 poton keresztul.
- fakegps ez egy praktikus kis segedprogram, fokent teszteleshez, de fix telepites eseten is jol hasznahato, mert a gps poziciot adja, a megfelelo nmea szo formatumban.

Az elso probalkozasokrol ket kepernyo mentest keszitettem, az elson egy KISS TNC csatalkozik az asztali gephez, (ez alighanem minimnalis kovetelmeny, hogy elinduljon, es a megfeleloen javitott aprs.ini file is). A masodik kep a halozati demo modot mutatja be.
 Mivel sem dokumentacio, sem hibauzenetek nincsenek, csak lassan lehet elorehaladni, ha hibak lepnek fel, ill. a lehetosegek felkutatasaban gyakorlatilag a forras filek allnak rendelkezesre.
Innen lehet tudni, hogy a bevezetoben emlitett vezerlo parancsok ezek (csak egy resze van implementalva jelenleg):

       
        {"tnc",       1, 0, 't'},
        {"gps",       1, 0, 'g'},
        {"telemetry", 1, 0, 'T'},
        {"testing",   0, 0,  1 },
        {"verbose",   0, 0, 'v'},
        {"conf",      1, 0, 'c'},
        {"display",   1, 0, 'd'},
        {NULL,        0, 0,  0 },

Az elso kepen latni is lehet, hogy ha a grafikus ui ablakban megnyomjuk a megfelelo billentyut, akkor annak ertelmezeset vegzi.
A program mukodesehez harom terminal ablakban harom komponens inditasa szukseges:
1. jobbra fent az ui grafikus program, ennek az ablaka latszik balra lent.
2. a "munkat vegzo" aprs program, a bal felso terminal ablakban. Ezt lehet -v (verbose) opcoioval inditani, ekkor kiirja, hogy epp mit csinal.
3. a jobb also terminal ablakban a fakegps outputjat latjuk, amint egy $GPGGA nemea szot adott ki.

A kepre kattintva megnezheto az eredeti meretben is.

A masodik kepernyo mentesen a halozatrol kapja az adatokat, es gyors egymasutanban jeleniti meg azokat. Itt nagyjabol azt latjuk, mint a Dan web lapjan megnezheto videon is, csak sokkal gyorsabb tempoban. Az ui terminal ablakban egy sorozat hibauzenet is elvonul, ami valamilyen hibas markup reszletre utal, amit nem tud hibatlanul feldolgozni.



A grafikus ablakban megjeleno ikonok a jol ismert aprs elsodleges es masodlagos ikon keszletet tartalmazo kep-gyujtemeny fileokbol valok.   


Osszefoglalo


A program jelenleg kezdeti, beta verzioban van, de mar most is lehet latni a lehetosegeit.
A web laphoz kapcsolodo kommentek kozott valaki maris felvetette, hogy a rapsbery pi boadon is lehetne implementalni.
A rendszer "mobil uzemre" van kitalalva, es ehhez jelenleg egy kicsit egyedi ("de-lux") hw-t hasznal: BeagleBoard + 3.5 colos LCD, + bluetooth keyboard. Ha "uzemszeruen" akarjuk hasznalni, akkor kell TNC (radio), gps, valamint telemetria unit is.
A mukodeshez minimalisan olyan board kell, amin van harom soros (usb) port, csatlakoztathato hozza LCD display.
Asztali es nyilvan laptop gepen is fut, laptopon problema lehet a soros port, ill. a kocsiban valo kenyelmetlen hasznalat is.
 Erdekes lehetosegnek kinalkozik egy onallo vezerlo egyseg ("Board computer") es egy halozaton (wifin) csatlakozo grafikus klienst futtato, pl. mobil telefon, vagy tablet gep kombinacio.

2012 jan 20.
 t.janos, hg5apz (at) gmail


Use the network connection:
Fix up bits allowing the use of an INET socket for the aprs->display connection.
To use this:
1. Run 'ui' with '-i', which will cause it to listen on an INET socket
2. Run 'aprs' with '-d <hostname>' which will cause it to connect to the display on <hostname> using an INET socket