ACARSdec: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(systemctl)
(systemctl)
 
(Není zobrazeno 21 mezilehlých verzí od stejného uživatele.)
Řádka 4: Řádka 4:
 
== Příprava ==
 
== Příprava ==
 
Pokud jsme zatím nepotřebovali, je nutné doinstalovat:
 
Pokud jsme zatím nepotřebovali, je nutné doinstalovat:
  sudo apt install cmake
+
  sudo apt install git cmake
Také je potřeba mít dle potřeby nainstalované ovladače [[RTLSDR | RTL-SDR ]]
+
Pokud zatím nemáme ovladace pro [[RTLSDR | RTL-SDR ]] tak je také nainstalijeme:
 +
sudo apt-get install librtlsdr-dev rtl-sdr
  
 
== Instalace ==
 
== Instalace ==
Řádka 12: Řádka 13:
 
  git clone https://github.com/TLeconte/acarsdec.git
 
  git clone https://github.com/TLeconte/acarsdec.git
 
  cd acarsdec
 
  cd acarsdec
 +
mkdir build
 +
cd build
  
Pokud instalaci provádíme na raspberry, změníme v souboru CMakeLists.txt řádek add_compile_options('''-Ofast -march=native''' ) na add_compile_options('''-std=c++11''' )
+
Pokud instalaci provádíme na '''Raspberry''' 32bit verzi, změníme v souboru '''../CMakeLists.txt''' řádek add_compile_options('''-Ofast -march=native''' ) na:
 +
* for PI 2B : add_compile_options(-Ofast -mcpu=cortex-a7 -mfpu=neon-vfpv4)
 +
* for PI 3B : add_compile_options(-Ofast -mcpu=cortex-a53 -mfpu=neon-fp-armv8)
 +
* for PI 4B : add_compile_options(-Ofast -mcpu=cortex-a72 -mfpu=neon-fp-armv8)
 +
* old : add_compile_options('''-std=c++11''' )
 +
Hodnotu -O2 neni třeba přenastavovat.
  
 
Následně můžeme pokračovat kompilaci
 
Následně můžeme pokračovat kompilaci
mkdir build
 
cd build
 
 
  cmake .. -Drtl=ON
 
  cmake .. -Drtl=ON
 
  make
 
  make
Řádka 37: Řádka 43:
 
  [Service]
 
  [Service]
 
  Type=simple
 
  Type=simple
  EnvironmentFile=/etc/default/acarsdec
+
  ExecStart=/etc/default/acarsdec
  ExecStart=acarsdec $arg -g $gein -p $ppm -i $station -$format $server -r $dev $freq
+
  RestartSec=5
 +
Restart=on-failure
 
   
 
   
 
  [Install]
 
  [Install]
 
  WantedBy=multi-user.target
 
  WantedBy=multi-user.target
 +
Alias=acarsdec.service
  
 
Také vytvořit konfigurační soubor. Samozřejmně nezapomeňte přenastavit hodnoty dle vaší lokalizace.
 
Také vytvořit konfigurační soubor. Samozřejmně nezapomeňte přenastavit hodnoty dle vaší lokalizace.
Řádka 47: Řádka 55:
  
 
  #!/bin/sh
 
  #!/bin/sh
 +
# Defaul seting for acarsdec
 +
# ==========================
 
   
 
   
  # rtl dongle number or S/N
+
  # RTL dongle number or S/N
  dev="0"  
+
  DEV="0"
 
   
 
   
  # set rtl ppm frequency correction
+
  # Set rtl ppm frequency correction
  ppm="51"
+
  PPM="51"
 
   
 
   
  # set rtl preamp gain in tenth of db (ie -g 90 for +9db)..
+
  # Set rtl preamp gain in tenth of db (ie -g 90 for +9db)..
 +
# 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
 
  # By default use maximum gain
 
  # By default use maximum gain
  gain="480"
+
  GAIN="480"
 +
 +
# Format send dat:
 +
#  n  - planeplotter compatible format
 +
#  N  - acarsdec native format
 +
#  j  - acarsdec json format
 +
FORMAT="j"
 
   
 
   
  # ipaddr:port : send acars messages to addr:port via UDP
+
  # Send acars messages to addr:port via UDP
  server="feed.acars.io:5550"
+
  SERVER="feed.acars.io:5550"
 
   
 
   
  # format send dat:
+
  # Station id used in acarsdec network format (for json output)
#  n  - planeplotter compatible
+
  STATIONID="TT-LKCM1-ACARS"
#  N  - acarsdec format
 
  #  j  - JSON format
 
format="j"
 
 
   
 
   
  station="TT-LKCM1-ACARS"
+
  # VHF frequencies f1 and optionally f2 to f8 in Mhz
 +
#FREQ="130.825 130.850 131.525 131.550 131.725 131.825 131.850"
 +
FREQ="131.550 131.725 131.825"
 
   
 
   
  freq="130.825 130.850 131.525 131.550 131.725 131.825 131.850"
+
  # Other seting
 +
#  -v        : verbose
 +
#  -A        : don't display uplink messages (ie : only aircraft messages)
 +
#  -o lv      : output format : 0 : no log, 1 : one line by msg, 2 : full (default), 3 : monitor mode, 4 : msg JSON, 5 : route JSON
 +
#  -l logfile : append log messages to logfile (Default : stdout).
 +
#  -H        : rotate log file once every hour
 +
#  -D        : rotate log file once every day
 +
OPTS='-o 4'
 
   
 
   
  # other seting
+
  #
  # -o lv : output format : 0 : no log, 1 : one line by msg, 2 : full (default), 3 : monitor mode, 4 : msg JSON, 5 : route JSON
+
  acarsdec ${OPTS} -g ${GAIN} -p ${PPM} -i ${STATIONID} -${FORMAT} ${SERVER} -r ${DEV} ${FREQ}
  arg="-v -o 4"
+
 
 +
 
 +
  sudo chmod 775 /etc/default/acarsdec
 +
sudo chown $(users) /etc/default/acarsdec
 +
  sudo ln -s /etc/default/acarsdec ~/acarsdec.conf
 +
 
 
Nastaveni sluzby pro automaticke spustění po startu a následně spustíme
 
Nastaveni sluzby pro automaticke spustění po startu a následně spustíme
 
  sudo systemctl enable acarsdec.service
 
  sudo systemctl enable acarsdec.service

Aktuální verze z 14. 3. 2024, 11:21

Úvod

Jedná se o projekt, slučující více tecnologií do jednoho přehledu https://github.com/TLeconte/

Příprava

Pokud jsme zatím nepotřebovali, je nutné doinstalovat:

sudo apt install git cmake

Pokud zatím nemáme ovladace pro RTL-SDR tak je také nainstalijeme:

sudo apt-get install librtlsdr-dev rtl-sdr

Instalace

Vlastní projekt je k dispozici na gitu. Pro Raspberry je nutná jedna úprava. Stažení projektu:

git clone https://github.com/TLeconte/acarsdec.git
cd acarsdec
mkdir build
cd build

Pokud instalaci provádíme na Raspberry 32bit verzi, změníme v souboru ../CMakeLists.txt řádek add_compile_options(-Ofast -march=native ) na:

  • for PI 2B : add_compile_options(-Ofast -mcpu=cortex-a7 -mfpu=neon-vfpv4)
  • for PI 3B : add_compile_options(-Ofast -mcpu=cortex-a53 -mfpu=neon-fp-armv8)
  • for PI 4B : add_compile_options(-Ofast -mcpu=cortex-a72 -mfpu=neon-fp-armv8)
  • old : add_compile_options(-std=c++11 )

Hodnotu -O2 neni třeba přenastavovat.

Následně můžeme pokračovat kompilaci

cmake .. -Drtl=ON
make
sudo make install

Otestovani

Spusštění pro test

acarsdec -v -g 48 -p 51 -r 0 130.825 130.850 131.525 131.550 131.725 131.825 131.850

systemctl

Pro automatické spouštění je nutne nastavit službu

sudo systemctl edit --force --full acarsdec.service
[Unit]
Description=ACARS
Documentation=https://github.com/TLeconte/acarsdec
After=network-online.target

[Service]
Type=simple
ExecStart=/etc/default/acarsdec
RestartSec=5
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=acarsdec.service

Také vytvořit konfigurační soubor. Samozřejmně nezapomeňte přenastavit hodnoty dle vaší lokalizace.

sudo nano /etc/default/acarsdec
#!/bin/sh
# Defaul seting for acarsdec
# ==========================

# RTL dongle number or S/N
DEV="0"

# Set rtl ppm frequency correction
PPM="51"

# Set rtl preamp gain in tenth of db (ie -g 90 for +9db)..
# 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
# By default use maximum gain
GAIN="480"

# Format send dat:
#  n  - planeplotter compatible format
#  N  - acarsdec native format
#  j  - acarsdec json format
FORMAT="j"

# Send acars messages to addr:port via UDP
SERVER="feed.acars.io:5550"

# Station id used in acarsdec network format (for json output)
STATIONID="TT-LKCM1-ACARS"

# VHF frequencies f1 and optionally f2 to f8 in Mhz
#FREQ="130.825 130.850 131.525 131.550 131.725 131.825 131.850"
FREQ="131.550 131.725 131.825"

# Other seting
#  -v         : verbose
#  -A         : don't display uplink messages (ie : only aircraft messages)
#  -o lv      : output format : 0 : no log, 1 : one line by msg, 2 : full (default), 3 : monitor mode, 4 : msg JSON, 5 : route JSON
#  -l logfile : append log messages to logfile (Default : stdout).
#  -H         : rotate log file once every hour
#  -D         : rotate log file once every day
OPTS='-o 4'

#
acarsdec ${OPTS} -g ${GAIN} -p ${PPM} -i ${STATIONID} -${FORMAT} ${SERVER} -r ${DEV} ${FREQ}


sudo chmod 775 /etc/default/acarsdec
sudo chown $(users) /etc/default/acarsdec
sudo ln -s /etc/default/acarsdec ~/acarsdec.conf

Nastaveni sluzby pro automaticke spustění po startu a následně spustíme

sudo systemctl enable acarsdec.service
sudo systemctl start acarsdec.service

Po spuštění služby můžeme sledovat co se dějě ...

journalctl -fe -u acarsdec

Poznamky

Prý na nové verzi Rasberry je problém z knihovou librtl. Doporučuje se ji přeinstalovat. Viz: https://github.com/wiedehopf/adsb-wiki/wiki/Replace-librtlsdr-on-Raspbian

Odkazy