DumpVDL2: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(Test)
(systemctl)
 
(Nejsou zobrazeny 3 mezilehlé verze od stejného uživatele.)
Řádka 5: Řádka 5:
 
  sudo apt install build-essential cmake git libglib2.0-dev pkg-config
 
  sudo apt install build-essential cmake git libglib2.0-dev pkg-config
  
Nainstalujeme libacars
+
Nainstalujeme [[ libacars ]]
 
  cd
 
  cd
 
  git clone https://github.com/szpajder/libacars
 
  git clone https://github.com/szpajder/libacars
Řádka 32: Řádka 32:
 
  sudo make install
 
  sudo make install
  
 +
 +
== Test ==
 +
Spuštění pro test
 +
dumpvdl2 --rtlsdr 0 --gain 48  --correction 50 136725000 136775000 136800000 136825000 136875000
  
 
== systemctl ==
 
== systemctl ==
Řádka 44: Řádka 48:
 
  [Service]
 
  [Service]
 
  Type=simple
 
  Type=simple
  EnvironmentFile=-/etc/default/dumpvdl2
+
  ExecStart=/etc/default/dumpvdl2
ExecStart=dumpvdl2 --rtlsdr ${DEV} --gain ${GAIN} --correction ${PPM} --output decoded:${FORMAT}:${PROTOCOL}:address=${SERVER},port=${PORT}  --station-id ${STATIONID} ${FREQ}
 
 
   
 
   
 
  [Install]
 
  [Install]
Řádka 54: Řádka 57:
 
  sudo nano /etc/default/dumpvdl2
 
  sudo nano /etc/default/dumpvdl2
  
  #!/bin/sh
+
  #!/bin/bash
  # Defaul seting for acarsdec
+
  # Defaul seting for dumpvdl2
  # ==========================
+
  # --------------------------
 
   
 
   
 
  # RTL dongle number or S/N
 
  # RTL dongle number or S/N
  DEV="0"
+
  DEV="1"
 
   
 
   
 
  # Set rtl ppm frequency correction
 
  # Set rtl ppm frequency correction
  PPM="51"
+
  PPM="-5"
 
   
 
   
 
  # 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)..
 
  # By default use maximum gain
 
  # By default use maximum gain
  GAIN="480"
+
  GAIN="48"
 +
 +
# Station id used in acarsdec network format (for json output)
 +
STATIONID="TT-LKCM1-VDLM2"
 
   
 
   
 
  # Format send dat:
 
  # Format send dat:
  #  text      - Human readable text
+
  #     WHAT:FORMAT:TYPE:PARAMS
  #  pp_acars  - One-line ACARS format accepted by Planeplotter via UDP
+
#
  #  json     - Javascript object notation
+
#  kde WHAT:
  FORMAT="json"
+
#      "decoded" - output decoded messages
 +
#      "raw:    - output AVLC frames without decoding (as raw bytes)
 +
#
 +
#  kde FORMAT:
 +
  #      "text"     - Human readable text
 +
  #     "json"      - Javascript object notation
 +
  #      "pp_acars" - One-line ACARS format accepted by Planeplotter via UDP
 +
  #
 +
#  kde TYPE:
 +
#      "file: - output to a file
 +
#              PARAMS: path=  urcuje cestu na soubor pro ukladani dat, '-' nebo bez zadani se uklada na standartnim vystupu (obrazovce)
 +
#                      rotate= umoznuje rotaci souboru, hourly/daily
 +
#      "udp"  - output to a remote host via UDP network socket
 +
#              PARAMS: address=  cilova url, nebo IP adresa kam se data posilaji
 +
#                      port=    cilovy port (defaul 5555)
 +
  #     "zmq"  - output to a ZeroMQ publisher socket
 +
#              PARAMS: mode=    ..
 +
#                      endpoint= ..
 +
#
 +
OUTPUT+=("decoded:text:file:path=-")
 +
OUTPUT+=("decoded:json:udp:address=10.129.99.149,port=5555")
 +
  OUTPUT+=("decoded:json:udp:address=feed.acars.io,port=5555")
 
   
 
   
  # Output protocol:
+
  # VHF frequencies f1 and optionally f2 to f8 in hz (specificke kmitocty: 136.100M 136.945M)
  #  udp
+
  FREQ="136.650M 136.675M 136.700M 136.725M 136.750M 136.775M 136.800M 136.825M 136.850M 136.875M 136.900M 136.925M 136.950M 136.975M"
#  tcp
 
PROTOCOL="udp"
 
 
   
 
   
  # Send acars messages to addr:port via UDP
+
  # ----------------------------------------- end setting ------------------------------------
  SERVER="feed.airframes.io"
+
  # Jednoducha smycka pro spojeni jednotlivych vystupu
  PORT="5553"
+
for i in ${OUTPUT[@]};do
 +
    OUT="$OUT --output $i "
 +
  done
 
   
 
   
  # Station id used in acarsdec network format (for json output)
+
  # Vlastni spusteni prikazu ze vsemi parametry
  STATIONID="TT-LKCM1-VDLM2"
+
  dumpvdl2 ${OUT}--station-id ${STATIONID} --rtlsdr ${DEV} --gain ${GAIN} --correction ${PPM} ${FREQ}
+
 
# VHF frequencies f1 and optionally f2 to f8 in hz
 
FREQ="136725000 136775000 136800000 136825000 136875000 136975000"
 
  
  sudo chmod 664 /etc/default/dumpvdl2
+
  sudo chmod 775 /etc/default/dumpvdl2
 
  sudo ln -s /etc/default/dumpvdl2 ~/dumpvdl2.conf
 
  sudo ln -s /etc/default/dumpvdl2 ~/dumpvdl2.conf
  

Aktuální verze z 2. 11. 2025, 17:28

Úvod

Příprava

sudo apt install build-essential cmake git libglib2.0-dev pkg-config

Nainstalujeme libacars

cd
git clone https://github.com/szpajder/libacars

cd libacars
mkdir build
cd build
cmake ../
make
sudo make install
sudo ldconfig

Instalace

cd
git clone https://github.com/szpajder/dumpvdl2.git
cd dumpvdl2
mkdir build
cd build
cmake ../

cmake se pokusí najít všechny požadované knihovny a ovladače SDR. Pokud povinná závislost není nainstalována, vyhodí chybu. Chybějící volitelné závislosti způsobí deaktivaci příslušných funkcí. Na konci procesu cmake zobrazí krátké shrnutí konfigurace. Pokud je vše v pořádku, můžeme pokračovat.

make
sudo make install


Test

Spuštění pro test

dumpvdl2 --rtlsdr 0 --gain 48  --correction 50 136725000 136775000 136800000 136825000 136875000

systemctl

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

sudo systemctl edit --force --full dumpvdl2.service
[Unit]
Description=DumpVDL2
Documentation= https://github.com/szpajder/dumpvdl2
After=network-online.target

[Service]
Type=simple
ExecStart=/etc/default/dumpvdl2

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

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

sudo nano /etc/default/dumpvdl2
#!/bin/bash
# Defaul seting for dumpvdl2
# --------------------------

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

# Set rtl ppm frequency correction
PPM="-5"

# Set rtl preamp gain in tenth of db (ie -g 90 for +9db)..
# By default use maximum gain
GAIN="48"

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

# Format send dat:
#      WHAT:FORMAT:TYPE:PARAMS
#
#  kde WHAT:
#      "decoded" - output decoded messages
#      "raw:     - output AVLC frames without decoding (as raw bytes)
#
#  kde FORMAT:
#      "text"      - Human readable text
#      "json"      - Javascript object notation
#      "pp_acars"  - One-line ACARS format accepted by Planeplotter via UDP
#
#  kde TYPE:
#      "file: - output to a file
#               PARAMS: path=   urcuje cestu na soubor pro ukladani dat, '-' nebo bez zadani se uklada na standartnim vystupu (obrazovce)
#                       rotate= umoznuje rotaci souboru, hourly/daily
#      "udp"  - output to a remote host via UDP network socket
#               PARAMS: address=  cilova url, nebo IP adresa kam se data posilaji
#                       port=     cilovy port (defaul 5555)
#      "zmq"  - output to a ZeroMQ publisher socket
#               PARAMS: mode=     ..
#                       endpoint= ..
#
OUTPUT+=("decoded:text:file:path=-")
OUTPUT+=("decoded:json:udp:address=10.129.99.149,port=5555")
OUTPUT+=("decoded:json:udp:address=feed.acars.io,port=5555")

# VHF frequencies f1 and optionally f2 to f8 in hz (specificke kmitocty: 136.100M 136.945M)
FREQ="136.650M 136.675M 136.700M 136.725M 136.750M 136.775M 136.800M 136.825M 136.850M 136.875M 136.900M 136.925M 136.950M 136.975M"

# ----------------------------------------- end setting ------------------------------------
# Jednoducha smycka pro spojeni jednotlivych vystupu
for i in ${OUTPUT[@]};do
    OUT="$OUT --output $i "
done

# Vlastni spusteni prikazu ze vsemi parametry
dumpvdl2 ${OUT}--station-id ${STATIONID} --rtlsdr ${DEV} --gain ${GAIN} --correction ${PPM} ${FREQ}


sudo chmod 775 /etc/default/dumpvdl2
sudo ln -s /etc/default/dumpvdl2 ~/dumpvdl2.conf

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

sudo systemctl enable dumpvdl2.service
sudo systemctl start dumpvdl2.service

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

journalctl -fe -u dumpvdl2

Odkazy