2026. január 4., vasárnap

AirBAND szkenner-02

 Miután véget értek a karácsonyi ünnepek, és volt nyugalmas idő a szkennelő szoftver fejlesztésére, el is kezdtem ezzel foglalkozni. Azért nem bíztam a véletlenre és már a decemberi hónap elejétől maszíroztam ezt a témakört. Én informatikus-rendszerüzemeltető vagyok, nem programozó, ezért (és ez nem titok) a ChatGPT-t hívtam segítségül a Python kódoláshoz. Specifikáltam szövegesen, hogy mit szeretnék, milyen hardware-en, majd arra jutottunk, hogy egy HTML FRONTEND fogja szimulálni a szkennert és mögötte egy Python alapú BACKEND fog futni. Nagyon boldog is voltam, mert szerintem mutatósra sikeredett a felhasználó felé mutatott felület, mely mögé gyakorlatilag készen foltak a "headless" kódok. Ez egy igen száraz poszt lesz, megpróbálom színesíteni majd képekkel. Ne feledjük: a cél továbbra is "repsáv-szkenner" megalkotása volt. Na lássuk a tortúrát kendőzetlenül ...


Ez volt a böngészőben meghívható felület, a raspberry Pi 5000-es portján


A fejlesztésről: (első verzió)

- Raspberry Pi 5
- RTL-SDR Blog v3 stick (ennek még jelentősége lesz)
- HTML felületen "szkenner-hardware" szimulációja
- Python Backend (kezeli a sticket, kiszolgálja a FRONTEND-et

A Python kezeli a sticket, egy lista.txt alapján végig megy az abban lévő frekiken,
szkennel gombnyomásra, UP / DOWN léptet a listában, ha adást talál rögzít mp3-ba,
méri a spektrumot (S-METER, Power és Signal / Noise kijelzés), a nagy kijelzőn
kis rajz a jelről, hangerőt szabályoz, és logol.


Én nem untatok senkit a részletekkel, de a Raspberry-n futó Linux drivereivel, és más
helyről leszedett SDR stick kezelő csomagokkal sem működött rendesen a kód. Mintegy
8 napot foglalkoztam ezzel, napi 6-9 órában.

Kiderült, hogy az 5-ös Pi USB kezelése teljesen más struktúra, mint a 3-as vagy 4-es modelleken,
így a v3-as stick szinkron hibával elszáll, a legváratlanabb pillanatokban, vagy véletlenszerűen, a
sok-sok egyidejű művelet bármelyikénél. Nem gyenge python kódott rakott össze a GPT. Irdatlan
mennyiségű kódmódosítás, tesztelés, küzdés napokon át ... 

Javasolta a GPT, hogy szerezzek be egy RTL-SDR Blog v4 sticket, mert abban már más CHIP van,
és nem fog elszállni szinkronhiba miatt, amikor a Pi megszólítja. Szerencsére egy nap alatt tudtam 
szerezni egy v4 sticket (volt nekem régebben, de mivel Android rendszerhez nem jó, eladtam) és
v3-al dolgoztam tovább. Ez is ugyanúgy elhasalt. Több nap után elnézést kért a GPT, de azt mondta,
hogy számára is - nem várt problémák miatt - kivitelezhetetlen ez a működési lánc.


Íme a ChatGPT nyilatkozata:


Ezen a ponton elvetettük ezt a nagyon ígéretes megoldást
(Szolíd 4-5 nap izzadás után)



A fejlesztésről:
 (második verzió)

Az elvárás ugyanaz, a specifikáció ugyanaz, csak FLASK webkiszolgáló nélkül,
sokkal egyszerűbb FRONTEND-del, lecsupaszítva.
Szkennelés, UP / DOWN a listaelemek között, rögzítés WAV-ba + LOG-olás


Megszületett a fejemben ez a  CURSES alapú egyszerűbb megoldás
(Gyakorlatilag karakteres világ, mint a DOS-ban az ASCII)

Ezzel az egyszerű karakteres irányítású verzióval
Ezzel a design-nal ...


Itt a következő történt:


(Így nyilatkozik erről a GPT)
Ezt is elengedtük :-(
Szintén elment vele 2-3 napom ...


Ez a két parancs gyönyörűen működteti a sticket,
FM és AM üzemmódban (minden sallang elhagyásával)


FM:

rtl_fm -f 94.8M -M fm -s 200000 -r 48000 -g 30 \
| aplay -r 48000 -f S16_LE -t raw -c 1


AM:

rtl_fm -f 119.350M -M am -s 24000 -r 24000 -g 49 -E dc | sox -t raw -r 24000 -e signed -b 16 -c 1 - -t raw -   lowpass 3000 highpass 250 gain 10 | aplay -r 24000 -f S16_LE -t raw -c 1


Hangrendszer tesztje:

alsamixer -c 2


FM teszt parancssorból

AM teszt parancssorból

AM teszt (119.350 MHz) parancssorból.
Itt az antenna még beltéren volt, ezért is halkabb ...




Szóval akár működhetett is volna, de a GPT-vel (se') nem tudtunk olyan
kódot létrehozni, ami stabilan teszi a dolgát.

Nem adtam fel, következett - immáron 2026-ban - a folytatás.
A következő poszt erről fog szólni ...