Instalando ACARS en una Raspberry Pi

ACARS (Aircraft Communications Addressing and Reporting System) es un sistema de enlace de datos digital que permite a las aeronaves transmitir mensajes cortos y relativamente simples a las estaciones terrestres (compañías aéreas, centros de control, etc.) y viceversa.

Trabajan en la frecuencia de  131,725MHz y utiliza MSK (Minimum Shift Keying) a una velocidad de 2400 bps. 

En vuelos transoceanicos usan por HF o satélite (Inmarsat).

Vamos a probar acarsdec


Instalación

Seguimos el procedimiento habitual

Permisos
rpi-rw

Actualizacion y dependencias
sudo apt-get update
sudo apt-get install librtlsdr-dev libasound2-dev libpcre3-dev cmake

Clonamos la libreria
cd ~
git clone https://github.com/f00b4r0/acarsdec.git
cd acarsdec

Compilamos
mkdir build
cd build
cmake .. -Drtl=ON
make
sudo make install


Funcionamiento

Ayuda con los formatos y destinos de salida

acarsdec --output help
--output FORMAT:DESTINATION:PARAMS                                     
Supported FORMAT:       
 "oneline": Single line summary  
 "full": Full text decoding    
 "monitor": Live monitoring 
 "pp": PlanePlotter format  
 "native": Acarsdec native format                                               
Supported DESTINATION:  
 "file": File (including stdout) output. PARAMS: path,rotate 
 "udp": UDP network output. PARAMS: host,port                                   
Parámetros para RTL-SDR

 --rtlsdr <device> decode from rtl dongle number <device> or S/N <device>
 -B <bias> enable (1) or disable (0) the bias tee (default is 0)
 -c <freq> set center frequency to tune to in MHz, e.g. 131.800 (default: automatic)
 -g <gain> set rtl gain in db (0 to 49.6; >52 and -10 will result in AGC; default is AGC)
 -m <rateMult> set rtl sample rate multiplier: sample rate is <rateMult> * 12000 S/s (default: automatic)
 -p <ppm> set rtl ppm frequency correction (default: 0)


Salida por pantalla usando dos terminales

1er terminal
                                              
acarsdec --output full:udp:host=127.0.0.1,port=5555 -
v --rtlsdr 0 131.725 131.825 131.525                                            
Found 1 device(s):                                                              
  0:  Realtek, RTL2838UHIDIR, SN: 00000001                                      
                                                                                
Using device 0: Generic RTL2832U OEM                                            
Found Rafael Micro R820T tuner                                                  
Tuner gain: AGC                                                                 
#1: Fc = 131675000Hz, Fr = 131725000Hz, phase =  0.327249 (+50000Hz)            
#2: Fc = 131675000Hz, Fr = 131825000Hz, phase =  0.981748 (+150000Hz)           
#3: Fc = 131675000Hz, Fr = 131525000Hz, phase = -0.981748 (-150000Hz)           
Setting center freq: 131.6750 MHz                                               
Setting sample rate: 0.9600 MS/s                                                
Setting bandwidth to: 324.00 kHz                                                
Setting bias tee to 0                                                           
UDP: Attempting to resolve '127.0.0.1:5555'.                                    
Starting, decoding 3 channels                                                   
blk_starting                                                                    
Allocating 4 zero-copy buffers   

Otro formato con IP de la RAspberry Pi

acarsdec -v -g 35 --rtlsdr 0 --output oneline:udp:host=19
2.168.1.97,port=5555 131.725                                                    
Found 1 device(s):                                                              
  0:  Realtek, RTL2838UHIDIR, SN: 00000001                                      
                                                                                
Using device 0: Generic RTL2832U OEM                                            
Found Rafael Micro R820T tuner                                                  
Tuner gain: 33.8                                                                
#1: Fc = 131725000Hz, Fr = 131725000Hz, phase =  0.000000 (+0Hz)                
Setting center freq: 131.7250 MHz                                               
Setting sample rate: 0.9600 MS/s                                                
Setting bandwidth to: 24.00 kHz                                                 
Setting bias tee to 0                                                           
UDP: Attempting to resolve '192.168.1.97:5555'.                                 
Starting, decoding 1 channels                                                   
blk_starting                                                                    
Allocating 4 zero-copy buffers 

2º terminal

nc -u -l -p 5555

se quedará esperando a recibir un mensaje ACARS ... 

Salida por pantalla usando un unido trminaly con ganancia (-g 40)

acarsdec -g 40 --output full:udp:host=127.0.0.1,port=
5555 --rtlsdr 0 131.725 131.825 131.525 2>&1 | nc -u -l -p 5555 

Solo aviones

acarsdec --output full:udp:host=127.0.0.1,port=5555 --rtlsdr 0 131.725 131.825 131.525 > /dev/null & nc -u -l -p 5555

Solo un canal (Menos stress apra el SDR)

acarsdec -g 40 --output full:udp:host=127.0.0.1,port=5555
 --rtlsdr 0 131.725 2>&1 | nc -u -l -p 5555 

Mensaje de pruebas desde otro terminal

echo "TEST RADIO UPV" | nc -u -w1 127.0.0.1 5555

echo "TEST RADIO UPV" | nc -u -w1 192.168.1.97 5555

acarsdec -g 40 --output full:udp:host=127.0.0.1,port=
5555 --rtlsdr 0 131.725 131.825 131.525 2>&1 | nc -u -l -p 5555    
TEST RADIO UPV  

Ver mensajes del proceso desdde otro terminal
tail -f acars.log   

Limpia procesos colgados
sudo killall -9 acarsdec         

Conclusiones

Por el momento no se ha captado ningun mensaje ACARS del tráfico aéreo del aeropuerto de Manises (El receptor está a unos 15km y no está en las sendas de despegue y aterrizaje del aeropuerto). Por otra parte hay que tener en cuenta que el sistema VDL es un sistema mas moderno que tiene el msmo uso


Advertencia importante

Las modificaciones, configuraciones y procedimientos descritos en este sitio pueden implicar riesgos técnicos, legales o de seguridad. El autor no se responsabiliza del mal funcionamiento de los equipos, daños permanentes, pérdida de garantía ni de posibles infracciones legales derivadas del uso de esta información.
El lector asume plena responsabilidad por cualquier acción que decida realizar basándose en el contenido de este blog.


© 2026 EA5JTT. Queda prohibida la reproducción total o parcial sin autorización expresa del autor.

No hay comentarios:

Publicar un comentario

Instalando ACARS en una Raspberry Pi

ACARS (Aircraft Communications Addressing and Reporting System) es un sistema de enlace de datos digital que permite a las aeronaves transmi...