Buscar este blog

Instalando ADS-B en una Raspberry Pi

En una Raspberry Pi se puede instalar sofware como ADS-B (como dump1090-fa mantenido por https://www.flightaware.com/ que facilita una distribución especifica como Piaware o readsb),para recibir mediante un SDR señales del sistema de localización de aeronaves ADS-B.

Tambien un software que trabaja con varios protocolos y alimenta a multiples agregadores como ADSB.IM

La frecuencia de trabajo de ADS-B es 1090 MHz (UHF) por lo que conviene usar una antena y un cable coaxial adecuados (Por ejemplo)

ADSB.IM

Para instalar este software sobre LINUX (piOS) basta con

curl https://raw.githubusercontent.com/dirkhh/adsb-feeder-image/main/src/tools/app-install.sh | sudo bash

Si es Debian el SO pedira que antes haga 

sudo apt-get install -y python3-flask python3-flask 

Si faltan paquetes lo indicará que ejecute

sudo apt-get install -y docker.io docker-compose 

Como se puede ver usa el concepto de dockers lo que simplifica la instalación de esta y otras aplicaciones desarrolladas bajo este concepto

Para desinstalar ADS-B

sudo bash /opt/adsb/app-uninstall 

Para entrar en la aplicación basta hacer desde un navegador 

http://xxx.xxx.xxx.xxx:1099

tambien como

http://NAME.l.adsb.im:1099/

http://<IP_DE_TU_RASPBERRY>:1099

http://192.168.1.97:1099


SETUP

En el primer arranque entra en setup http://192.168.1.97:1099/waiting

Parámtetros báscios de la estación; nombre, coordenadas, altitud, y huso horario

Aplicaciones que se quieren ejecutar: ADS-B, ACARS/VDL2, HFDL, AIS y SONDE


OPERACIÓN

ADS-B trabajando con antena interior de cuernos

ADS-B trabajando con antena colinearl vertical exterior 


Mantenimiento

Dónde se ha instalado

sudo find / -name "docker-compose.yml" 2>/dev/null

/opt/adsb-feeder-update/adsb-feeder-image/src/modules/adsb-feeder/filesystem/root/opt/adsb/docker-compose.yml

/opt/adsb/config/docker-compose.yml

cd /opt/adsb/config

sudo docker network ls

NETWORK ID     NAME             DRIVER    SCOPE
faa4b4fb995a   adsb_im_bridge   bridge    local
cf665d77beb1   bridge           bridge    local
f3c3e6676a49   host             host      local
3f984db6b5a5   none             null      local

El docker está mal escrito por lo que para manejarlo de forma manual al final hay que añadirle unas lineas GEMINI en esto tiene mano de santo

sudo nano /opt/adsb/config/docker-compose.yml

networks: 
  adsb_im_bridge: 
  external: true

o esta otra que propone Cloude

networks: 
 adsb_im_bridge: 
 name: adsb_im_bridge

comprobar estado

sudo docker ps

o

sudo docker compose ps

NAME          IMAGE                                                              COMMAND   SERVICE       CREATED          STATUS          PORTS
ultrafeeder   ghcr.io/sdr-enthusiasts/docker-adsb-ultrafeeder:latest-build-923   "/init"   ultrafeeder   49 seconds ago   Up 45 seconds   0.0.0.0:30001-30006->30001-30006/tcp, :::30001-30006->30001-30006/tcp, 0.0.0.0:30047->30047/tcp, :::30047->30047/tcp, 0.0.0.0:30104->30104/tcp, :::30104->30104/tcp, 0.0.0.0:30152->30152/tcp, :::30152->30152/tcp, 0.0.0.0:31003-31006->31003-31006/tcp, :::31003-31006->31003-31006/tcp, 0.0.0.0:32006->32006/tcp, :::32006->32006/tcp, 0.0.0.0:1090->80/tcp, :::1090->80/tcp

Apagarlo

sudo docker compose down

[+] Running 1/1
 ✔ Container ultrafeeder  Removed

Encenderlo

sudo docker compose up -d

[+] Running 1/1
 ✔ Container ultrafeeder  Started 

Mejor este

sudo docker start ultrafeeder

sudo docker restart ultrafeeder

Tambien hay que arrancar

sudo docker start docker-node-sdr-1

sudo docker restart docker-node-sdr-1


sudo docker compose down

sudo docker compose up -d

sudo docker logs docker-node-sdr-1 --tail 30

Se puede hacer todo de una

sudo docker restart docker-node-sdr-1 ultrafeeder

Cuantos aviones tiene en memoria

pi@raspberrypi:/opt/adsb/config $ sudo docker exec -it ultrafeeder cat /run/readsb/aircraft.json | grep -o '"hex":' | wc -l

0

LOGS

sudo docker logs ultrafeeder --tail 50

[readsb] usb_claim_interface error -6
FATAL: rtlsdr: error opening the RTLSDR device: Device or resource busy

parar el que le quita el USB-RTL y rearrancar

sudo docker stop docker-node-sdr-1
sudo docker restart ultrafeeder

Otra solución es desconectar y conectar US-RTL-SDR y relanzar

sudo docker restart ultrafeeder


Errores

Estos dos errores en el navegador no tienen mayor importancia, puede ser por falta de aviones en pantalla o por hivernación del ordenador/navegador

Problem fetching data from the server:
404: Not Found

Problem fetching data from the server:
Seems the decoder / receiver / backend isn't working correctly!

Lo que está conectado a USB

lsusb

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9514 Microchip Technology, Inc. (formerly SMSC) SMC9514 Hub
Bus 001 Device 003: ID 0424:ec00 Microchip Technology, Inc. (formerly SMSC) SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 007: ID 303a:1001 Espressif USB JTAG/serial debug unit
Bus 001 Device 008: ID 0bda:2838 Realtek Semiconductor Corp. RTL2838 DVB-T

Ver que tod ha arrancado

sudo docker ps

Error de que no se conecta al USB

time=2026-09-16T09:15:25.870Z level=WARN msg="dongle start attempt failed" id=dongle-mooroo30 attempt=5 maxRetries=5 error="create source for dongle dongle-mooroo30: rtl_tcp connect: rtl_tcp connect to 127.0.0.1:1234: dial tcp 127.0.0.1:1234: connect: connection refused"

time=2026-09-16T09:15:25.880Z level=ERROR msg="dongle failed after all retries, skipping" id=dongle-mooroo30 error="dongle dongle-mooroo30: all 5 attempts failed: create source for dongle dongle-mooroo30: rtl_tcp connect: rtl_tcp connect to 127.0.0.1:1234: dial tcp 127.0.0.1:1234: connect: connection refused" retries=5

time=2026-09-16T09:15:25.966Z level=INFO msg="bookmarks directory" path=/app/bookmarks

time=2026-09-16T09:15:25.968Z level=INFO msg="starting HTTP server" addr=0.0.0.0:3000

cd ~/no-sdr/docker
sudo docker compose up -d


Temas técnicos

ADSB.IM usa tar1090 que es una mejora del interface gráfico de dump1090-fa, de forma que hemos instalado de una forma rápida y sencilla un entorno que incluye la herramienta que en un principio íbamos a instalar 


Comentarios

Parece que por el momento solamente trabaja con ADS-B, pero lo hace realmente bien


Referencias


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

ENTRADAS POPULARES (ULTIMO MES)