Instalación de iGate APRS en Raspberry Pi
Como ya vimos anteriormente en algunos artículos, es posible recibir mensajes APRS desde distintos orígenes (terrestre, ISS, cubesats) de forma muy sencilla. En este artículo veremos como pasar estos mensajes a la red APRS-IS a través de un iGate para mejorar la cobertura de nuestra zona.
Únicamente vamos a configurar el sistema en modo RX iGate, es decir, solo va a recibir mensajes. Existe cierta polémica sobre si los iGates de solo recepción rompen la funcionalidad bidireccional de la mensajería APRS. Según Heikki Hannikainen, creador y propietario de la web aprs.fi, los iGates de solo recepción no interrumpen la mensajería si hay iGates con capacidad de transmisión cerca que estén conectados a un servidor APRS-IS. Si no tenemos un iGate con capacidad de transmisión cerca, lógicamente la comunicación bidireccional no va a funcionar. Si tenemos un iGate de TX cercano, los iGates adicionales de solo recepción mejoran el rendimiento de la mensajería.
Podemos leer el artículo completo de Heikki Hannikainen en el siguiente enlace:
Antes de continuar, debemos tener en cuenta que puesto que vamos a inyectar datos a la red ARPS-IS, necesitamos obligatoriamente indicativo de radioaficionado. Seremos los responsables de los mensajes que pasen a la red a través de nuestro iGate.
Instalación
Instalar dispositivo SDR
Si aún no hemos instalado el dispositivo en nuestra Raspberry Pi, podemos seguir los pasos descritos en el siguiente artículo:
Instalar Dire Wolf
El software que vamos a usar para decodificar los mensajes AX.25 de APRS será Dire Wolf.
Para instalarlo en Raspberry OS basta con ejecutar el siguiente comando:
1 | sudo apt install direwolf |
Configuración
El primer paso es generar un archivo de configuración para Dire Wolf. Para ello vamos a generar un archivo ‘.conf’ en la ubicación que queramos. En este ejemplo se ha creado el archivo direwolf.conf en /etc.
Para el contenido copiaremos la siguiente plantilla, obtenida del propio repositorio de Dire Wolf:
1 | # |
Ahora veamos qué datos debemos introducir en la plantilla.
MYCALL
Aquí debemos de introducir nuestro indicativo seguido del SSID recomendado para un iGate. Según las recomendaciones de APRS del 6 de febrero de 2012, debemos añadir el SSID -10.
1 | -10 internet, Igates, echolink, winlink, AVRS, APRN, etc |
IGSERVER
El servidor al que realizaremos la conexión. Debemos cambiarlo por el nuestro dependiendo de dónde nos encontremos.
IGLOGIN
Aquí introducimos nuestro indicativo y la clave de acceso a la red APRS-IG. Si no conocemos nuestra clave, podemos generarla aquí.
PBEACON (Opcional)
Añadimos esta opción si queremos que nuestro iGate aparezca en las webs que muestran los datos APRS, tipo aprs.fi, APRS Track Direct, etc.
1 | PBEACON delay=1 every=60 symbol=R& overlay=I lat=XX.XX long=XX.XX comment="Comentario que queramos" sendto=IG |
Una vez configurado el archivo, ya podemos probar el sistema completo. Lo que haremos será escuchar en la frecuencia de APRS con el programa rtl_fm y pasarle los datos a Dire Wolf en tiempo real. Para ello bastará con ejecutar el siguiente comando:
1 | rtl_fm -f 144.80M -g 37 - | direwolf -c /etc/direwolf.conf -r 24000 -D 1 - |
Podemos usar los parámetros de ajuste de rtl_fm que necesitemos: -p para los PPM, -d para indicar el número de serie del dispositivo, -g para la ganancia, etc.
Por último, vamos a hacer que el proceso funcione de forma autónoma en la Raspberry Pi y que se inicie de forma automática cuando esta se reinicie. Para ello vamos a crear un servicio que lo haga todo y que se lance al iniciar la Raspberry Pi.
Lo primero será crear un archivo unit con la información del servicio:
1 | sudo nano /etc/systemd/system/aprsigate.service |
El contenido del archivo será el siguiente (modificar si es necesario):
1 | [Unit] |
Ahora vamos a cargar el servicio en el arranque mediante el siguiente comando:
1 | sudo systemctl enable aprsigate |
Por último iniciamos el servicio:
1 | sudo systemctl start aprsigate |
Para consultar el estado del servicio ejecutamos:
1 | sudo systemctl status aprsigate |
Si todo está correcto tendremos la siguiente salida:
1 | pi@raspberrypi:~ $ sudo systemctl status aprsigate |