Építsünk kompakt APRS digit Raspberryvel! (1. rész, a koncepció)
Régóta motoszkál bennem, hogy fel kellene támasztani az APRS szegmenst. A napokban kezembe akadt egy GM-340 mellé épített DMR hotspot, és rögtön összeállt az új projekt: kihajítom az internetcébé gyalázatát, és rádióamatőr panelt kap a kis Raspberry.
A packet-korszak minden tekintetben a legvarázslatosabb volt számomra: a kilencvenes években ismerkedtem a rádiózással, a számítógépekkel, az elektronikával és e három a packetben egyesült. Egy olyan korszak olyan berendezéseit használhattam, melyek teljes mélységében el lehetett merülni, mind hardver, mind szoftver oldalon. Programozni kellett, konfigurálni, hackeket és trickeket ismerni, összefüggéseiben ráismerve pedig még többet tanulni belőlük. Talán ezért sem engedtem el soha ezt a vonalat.
Mivel a DMR hálózat hazánkban finoman szólva sem azt a kört vonzotta be, amire az ember infrastrukturálisan áldoz, nem kellett sokat évődni: a hotspot helyett APRS digipeater illetve gateway lesz a berendezésből.
Igen ám, de a digitális módok igénytelensége után kicsit vissza kell rázódni az AX.25 analóg világába. Nem nagyon, épp csak annyira, hogy észszerű hardver álljon rendelkezésre: ne kelljen kábeleket dugdosni, átkötni, és ha már panelt készítek, ne legyenek lebegő dolgok se. Legyen annyira kompakt és konyhakész, amennyire csak lehet. Ezért nem gondolkodtam a TARPN termékeiben, pedig konstrukcióikban közel állnak hozzám.
Persze most sincs új a Nap alatt, volt is már ilyen koncepciók mentén vezetett kezdeményezés, az MX614-el épített TNC-X egyik verziója, a TNC-XPi.
Igen ám, de már egyik weboldal sincs meg, így hát dobtam egy mailt W2FS Jahnak, hátha valami jó irányba tudok elindulni.
A válasz meglepett, öt éve feladta a projektet, jelenleg inkább beteg feleségét ápolja, legfeljebb FT8 vagy FT4 módokban aktív néha.
Ami ennél is jobban meglepett, hogy az MFJ-1270 modem pontosan a korábbi TNC-X, ráadásul ugyanazzal a Pi átalakítással is lehet kapni. Bizony, a zöld az MFJ. Fejlesztést vagy tervezést nélkülöző panelen annyi változott, hogy az alkatrészek SMD-re lettek cserélve, de még az elrendezés is maradt a régi. Aha, szóval valójában oda lett a projekt… Na, erről ennyit, akkor ez sem opció többé.
Van még egy megoldás, a TNC-PI9k6 névre keresztelt, Teensy-t használó board. Ennek a teljes dokumentációja fent van a neten, de a kapcsolási rajz annyira kaotikus, a „megtervezett” panel pedig olyan szinten kritikán aluli, hogy szóba sem jöhet a vele való munka.
Lássuk be, több időt fordítottam nézelődésre, mint egy modem elkészítésére, de ha már eddig eljutottam, gondoltam megosztom.
Nincs más választás, eszkábálni kell egy TNC-t a Raspberryre. Mivel a rackszekrényben egy előlapos sorolón kandikálnak kifelé az egymás mellé felsorakoztatott RPi boardok, ezért a modem tervezésének elsődleges szempontja az, hogy elférjen. Ennek okán a csatlakozók hátrafele fognak nézni, oldalra pedig semmi nem nyúlik ki. Mivel APRS az elsődleges felhasználás, nem kell bele hatalmas EEPROM sem. A Bell202 IC-t is kiváltom – nem, nem arduinós PWM-el, hanem a korábban nagy megelégedettséggel használt ellenállásokkal.
Ha már szó esett modemekről, TNC-kről, posztorder módon vegyük sorra, mit kell tudni róluk. A modem (modultáor/demodulátor) alapvetően az, ami esetünkben a digitális jelet analóg jellé alakítja. A rádiót és a számítógép ki- és bemeneteit mindenki úgy eszkábálja össze, ahogy tudta. Ezzel szemben a TNC (Terminal Node Controller) kicsit más.
A mikor kialakult a csomagrádiózás – valamikor a 70-es, 80-as években – nem igazán voltak egységes vagy nagyobb teljesítményű platformok és lehetőségek, nem volt olyan könnyű dolgunk, mint most, hogy hangkártyára feldugunk mindent és kész. A legelterjedtebb Commodore is csak 64 kB memóriával gazdálkodott, jónéhány modem és kártya készült is hozzá. Igen ám, de az általános célú hardverek és a packetprogramok elterjedését ez a kötöttség teljesen ellehetetlenítette. Nem volt egy egységes környezet sem, amihez programot lehetett volna írni.
Az ezerféle gép, a néhány kilobájtos lehetőségek mellett a konstruktőröknek is be kellett látni, hogy az egyetlen közös nevező maga a karakteres küldök-fogadok terminál. Az igények és a lehetőségek is egy magasabb szintű, univerzálisabb eszköz felé kiáltottak, ez lett a TNC.
Lényege, hogy egy önállóan működni képes eszközt alkottak, egy modemet, mely ki van egészítve egy saját programot tároló vezérlővel és némi memóriával a bejövő adatoknak. Gyakorlatilag elvégezte a teljes kommunikációs feladatsort, a felhasználónak csak ki kellett olvasnia belőle az üzeneteket és a történéseket, amikor épp be volt kapcsolva a számítógép.
A korabeli TNC-knek volt egy terminálon keresztül elérhető funkciója, ahol be kellett őket állítani, és volt a konverz módja, amikor modemként lehetett használni őket. Hamar jelentkezett az igény, hogy ezeket egységes módon lehessen kezelni, magyarul, hogy az összes TNC a szoftver felől ugyanolyan eszköznek látszódjon.
Ahogy telt-múlt az idő, a számítógépek egyre erősebbek lettek, szép lassan átkerültek rájuk a TNC-k feladatai, funkciói. Az ezt is hatékonyan támogató, szabvánnyá vált terminológia az 1987-ben bemutatott KISS (Keep it Simple Stupid) mód lett – melyet ma már jobban szeretnek a második S nélkül emlegetni.
Megjelentek a különféle packetprogramok, egy részük a portokra összpontosított és elég volt hozzá egy modem, másik részük a TNC-k KISS módját használta ki. Az erős gépek összetett szoftvereket hoztak, lassan mindegy volt, mit használtál. Bárhogy is alakult, a KISS kiszorított és túlélt minden más módot, mire kevés lett volna, a packetrádiózás hanyatlani kezdett.
Két hátránya azért van a KISS TNC-knek. Az egyik, hogy nem használható nem KISS-t támogató programmal. Ilyen nem nagyon van, a régi GP Packettől az UIViewen, MAC/WinAPRS, Xastir, PacLink-en át az AGWPE motorig minden jó barátja. A másik negatívum, hogy aki BBS-ként akar levelezni, annak bizony a régi, kétmódú TNC-t kell választania. Szerintem ez sem jelent valódi veszélyt…
Manapság az óriási erőforrások miatt nincs akkora jelentősége, hogy TNC-d vagy modemed van. Ha ez utóbbi mellett döntesz, a KISS mód megkerülhetetlen, de annyira filléres berendezést jelent, hogy nem is létezik más. Azt azért meg kell jegyezni, hogy azzal, hogy KISS-t használsz egy mai operációs rendszer alatt nem egyszerűsíted a folyamatokat, sőt, bonyolultabbá teszed: már ugyanis nem jelent szűk keresztmetszetet a TNC és a PC közötti kommunikáció, ha ez a szegmens szoftveres oldalon a gépbe költözik és csak a hangkártyán aratod le a jelet, erőforrás tekintetében hatékonyabb vagy, csak hát nincs ehhez optimalizált program.
Valójában ha a Raspberryhez igazán kompakt, segédprogramoktól, USB-s hangkártyáktól mentes, letisztult megoldást akarok, igenis μPC-be zárt KISS-ben kell gondolkodni.
Ki tudja, a kis TNC következő verziója talán nem csak egy hőmérővel, hanem 8kB-os EEPROM-mal kerül ki, netán valódi Bell modemmel…
Ez még azért odébb van, a következő részben telepítsük fel az ehhez szükséges szoftvereket: mountoljuk fel az RPi lemezképét, és érjük el hálózatról az asztalt, melyek mindig hasznos tudnivalók, végül tegyük fel a Xastirt.
Helló Tomi!
Én két tncx pi-t is építettem annak idején. Béla programját tesztelgettük vele. Teljesen jól működött. A nagy előnye az volt, hogy közvetlen rá lehet dugni a RPi-re. Eredetileg úgy volt, hogy majd lesz egy 9k6-os változat is és a két sebesség futhat szimultán, de azt valahogy nem tudták megcsinálni meg ahogy te is írtad később a figyelem máshova terelődött.
Kíváncsi leszek milyent építesz. Esetleg a hasixon is írhatsz róla. Most ami talán egy jó kilencezer hatszázas és többsebességes tnc az a NinoTNC. Ez azonban nem RPi-re van optimalizálva és USB csatija van. https://tarpn.net/t/nino-tnc/nino-tnc.html
Esetleg még megnézheted https://store.mobilinkd.com/products/mobilinkd-tnc4, ezt is javasolták. Ezekkel az újabbakkal viszont semmi tapasztalatom sincs.
73!