RTLSDR-Airband: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Příprava)
(Kompilace)
 
(Není zobrazeno 8 mezilehlých verzí od stejného uživatele.)
Řádka 8: Řádka 8:
 
  sudo apt-get install git cmake build-essential libmp3lame-dev libshout3-dev libconfig++-dev libfftw3-dev
 
  sudo apt-get install git cmake build-essential libmp3lame-dev libshout3-dev libconfig++-dev libfftw3-dev
  
Na raspberry3 pokud chceme pouzit GL, mus9me jest2 upravit:
+
Na raspberry3 pokud chceme pouzit GL, musíme jestě upravit:
 
* Do souboru ''/boot/config.txt'' přidat ''use_gpu=False''
 
* Do souboru ''/boot/config.txt'' přidat ''use_gpu=False''
 
* sudo raspi-config and advanced options -> GL driver -> legacy
 
* sudo raspi-config and advanced options -> GL driver -> legacy
Řádka 29: Řádka 29:
 
  git checkout unstable
 
  git checkout unstable
 
   
 
   
  mkdir build
+
  mkdir build && cd build
cd build
 
  
  cmake -DPLATFORM=armv7-generic -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=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:
 
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)
* armv7-generic - pro platformy založené na ARMv7 bez VideoCore GPU (např. Cubieboard)
+
* native - automaticky zjistí CPU a vybere sadu optimalizaci, neověřuje VideoCore GPU (např. Cubieboard)
* armv8-generic - pro 64bitové platformy ARM, např. Odroid C2
+
* generic - sestaví bez optimalizace pro konkrétní CPU
* x86 - pro x86 nebo x86_64 PC se systémem Linux
 
* x86-freebsd - pro x86 nebo x86_64 PC se systémem FreeBSD (probably you need to use gmake instead of make)
 
  
 
  make
 
  make
 
  sudo make install
 
  sudo make install
  
Pro jednoduší editaci nastavíme práva pro konfigurační soubor a symlink:
+
Vlastní konfiguraci pak mam v [[ RTLSDR-Airband#Moje_konfigurace | Moje_konfigurace ]]
sudo chmod 660 /usr/local/etc/rtl_airband.conf
 
sudo chown pi /usr/local/etc/rtl_airband.conf
 
sudo ln -s /usr/local/etc/rtl_airband.conf /home/pi/rtl_airband.conf
 
  
 
=== Spuštění při startu ===
 
=== Spuštění při startu ===
 
Pro nové distribucde (systemctl) nastavíme service a automatické spouštění.  
 
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 cp ~/RTLSDR-Airband/init.d/rtl_airband.service /etc/systemd/system
  sudo chown root.root /etc/systemd/system/rtl_airband.service
+
  sudo chown root:root /etc/systemd/system/rtl_airband.service
 
  sudo systemctl daemon-reload
 
  sudo systemctl daemon-reload
 
  sudo systemctl enable rtl_airband.service
 
  sudo systemctl enable rtl_airband.service

Aktuální verze z 8. 12. 2024, 17:18

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
    • 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