RTLSDR-Airband: Porovnání verzí
(→Kompilace) |
(→Kompilace) |
||
Řádka 33: | Řádka 33: | ||
cmake -DPLATFORM=rpiv2 -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF DNFM=OFF ../ | cmake -DPLATFORM=rpiv2 -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF DNFM=OFF ../ | ||
− | cmake -DPLATFORM= | + | cmake -DPLATFORM=native -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF DNFM=OFF ../ |
− | cmake -DPLATFORM= | + | cmake -DPLATFORM=generic -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF -DNFM=ON ../ |
Povinným parametrem je hodnota "DPLATFORM" která nastavuje pro jakou platformu se kompolace dělá. Jsou následující možnosti: | Povinným parametrem je hodnota "DPLATFORM" která nastavuje pro jakou platformu se kompolace dělá. Jsou následující možnosti: | ||
* rpiv2 - pro Raspberry Pi verze 2 nebo '''3''' (ARMv7 CPU, Broadcom VideoCore GPU) | * rpiv2 - pro Raspberry Pi verze 2 nebo '''3''' (ARMv7 CPU, Broadcom VideoCore GPU) | ||
− | * | + | * native - automaticky zjistí CPU a vybere sadu optimalizaci, neověřuje VideoCore GPU (např. Cubieboard) |
− | * | + | * generic - sestaví bez optimalizace pro konkrétní CPU |
− | |||
− | |||
make | make |
Aktuální verze z 8. 12. 2024, 17:18
Obsah
Instalace
Na první pohled se může zdát výhodné použít hotový balíček. Problém ale může být následně z výkonem aplikace. Při vlastní konfigurace se nastaví pro jakou platformu se kompilace provádí což zrovna u Raspberry může být výhodné. Navíc balíčky jsou někdy starší, než nejnovější verze.
Příprava
Pro kompolaci jsou potřeba další pomocné programy:
- Pro Raspberry Pi v1, v2 nebo v3 z GPU Broadcom VideoCore:
sudo apt-get install git cmake build-essential libmp3lame-dev libshout3-dev libconfig++-dev libraspberrypi-dev
- Pro ostatní x86/x86_64 - Debian or Ubuntu + Raspberry 4
sudo apt-get install git cmake build-essential libmp3lame-dev libshout3-dev libconfig++-dev libfftw3-dev
Na raspberry3 pokud chceme pouzit GL, musíme jestě upravit:
- Do souboru /boot/config.txt přidat use_gpu=False
- sudo raspi-config and advanced options -> GL driver -> legacy
Ovladače
Podle typu HW který chceme použít je třeba doinstalovat příslušné ovladače
- RTL-SDR - instalace ovladače pro RTL je popsána v samostatném příspěvlu RTLSDR
Podle navudu by pro RTL mělo stačit jen:
sudo apt install librtlsdr-dev libpulse-dev libfftw3-dev
- Mirics DVB-T
- Other SDRs - SoapySDR - SoapySDR wiki
- U Bustru bylo nutné nainstalovat rtl-sdr ovladače včetně kompilace.
Kompilace
Stáhneme nejnovější verzi:
cd ~ git clone https://github.com/charlie-foxtrot/RTLSDR-Airband.git cd RTLSDR-Airband git checkout unstable mkdir build && cd build
cmake -DPLATFORM=rpiv2 -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF DNFM=OFF ../
cmake -DPLATFORM=native -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF DNFM=OFF ../
cmake -DPLATFORM=generic -DRTLSDR=ON -DMIRISDR=OFF -DSOAPYSDR=OFF -DPULSEAUDIO=OFF -DNFM=ON ../
Povinným parametrem je hodnota "DPLATFORM" která nastavuje pro jakou platformu se kompolace dělá. Jsou následující možnosti:
- rpiv2 - pro Raspberry Pi verze 2 nebo 3 (ARMv7 CPU, Broadcom VideoCore GPU)
- native - automaticky zjistí CPU a vybere sadu optimalizaci, neověřuje VideoCore GPU (např. Cubieboard)
- generic - sestaví bez optimalizace pro konkrétní CPU
make sudo make install
Vlastní konfiguraci pak mam v Moje_konfigurace
Spuštění při startu
Pro nové distribucde (systemctl) nastavíme service a automatické spouštění.
sudo cp ~/RTLSDR-Airband/init.d/rtl_airband.service /etc/systemd/system sudo chown root:root /etc/systemd/system/rtl_airband.service sudo systemctl daemon-reload sudo systemctl enable rtl_airband.service
Vlastní spuštění služby provedeme až po nastavení
sudo systemctl start rtl_airband.service
Pro starší verze Linuxu (/etc/init.d/) překopírujeme spouštěcí skript.
sudo cp ~/RTLSDR-Airband/init.d/rtl_airband-debian.sh /etc/init.d/rtl_airband.sh
Závěr
Po kompilaci budou soubory uloženy:
- Binární
/usr/local/bin/rtl_airband
- Konfigurační
/usr/local/etc/rtl_airband.conf
Pokud nastane chyba a chcem kompilaci provést znovu, je nutné smazat aktuální nastavení
make clean
Moje konfigurace
Konfigurační soubor by se měl nachazet na /usr/local/etc/rtl_airband.conf. Proto ho tam vytvoříme. Pro snadnejší přístup také vytvoříme simlink.
sudo nano /usr/local/etc/rtl_airband.conf sudo ln -s /usr/local/etc/rtl_airband.conf ~/rtl_airband.conf sudo chown $(users) /usr/local/etc/rtl_airband.conf
Vlastní porty pro streamy jsou z internetu uzavřené a uvedená hesla jsou pozměněna. Ale jinak konfigurace odpovídá těm, co skutečně používám:
Otestování
Po vytvoření konfigurace ji otestujeme spustenim z příkazového řádku. Teprve pote restartujeme vlastni službu.
sudo stop rtl_airband sudo /usr/local/bin/rtl_airband -f sudo restart rtl_airband
Zdroje, odkazy
- GitHub - zdrojový kód vlastního projektu
- Wiki - popis instalace, nastavení, ...
- baliček deb - předkompilovaný balíček verze 3.0.1
- RTL-SDR.com - popis