Recibir satélites LoRa

TinyGS es una red de estaciones terrestres distribuida alrededor del mundo para la recepción y operación de satélites LoRa, sondas meteorológicas y otros objetos, usando módulos programables de muy bajo coste.
En este artículo veremos como instalar y configurar nuestra estación terrestre desde cero.

Placas compatibles

Podemos encontrar placas compatibles por unos 10€/15€. Algunos de los modelos compatibles más usados son los siguientes:

  • Heltec WiFi LoRa 32 V1/V2 (versiones de 433MHz y 863-928MHz).
  • TTGO LoRa32 V1/V2 (versiones de 433MHz y 868-915MHz).
  • TTGO T-BEAM + OLED (versiones de 433MHz y 868-915MHz).
  • FOSSA 1W Ground Station (versiones de 433MHz y 868-915MHz).
  • Placas de desarrollo ESP32 con SX126X/SX127X.

Consultar la web del proyecto para más detalles sobre placas compatibles.

Instalación

Para la instalación seguiremos el método sencillo, que consiste en descargar un programa que realiza la instalación del firmware de forma automática. Para ello accedemos al siguiente enlace para obtener la última versión disponible de TinyGS:

TinyGS releases

Buscamos el instalador en los archivos adjuntos de la última release y descargamos la versión adecuada para el sistema operativo que estemos usando.

Una vez descargado, extraemos el programa y lo ejecutamos.

Ahora seleccionamos el puerto COM en el que tenemos conectada nuestra placa y hacemos clic en Upload tinyGS firmware!.
Si no nos aparece el puerto COM para seleccionar, debemos asegurarnos de que la placa está bien conectada y que tenemos los controladores previamente instalados.

Una vez termine de grabarse nuestra placa, esta se reiniciará (puede tardar algunos minutos) y quedará lista para el siguiente paso.

Configuración

Solicitar datos de acceso

El primer paso para la configuración de nuestra estación será la obtención de nuestros datos de acceso al servidor MQTT del proyecto. Este servidor es el encargado de recolectar los paquetes de datos de los satélites que reciben las distintas estaciones conectadas, así como de la gestión de las mismas. Para obtener los datos de acceso del servidor debemos acceder al canal del proyecto en Telegram mediante el siguiente enlace:

tinyGS Community

Una vez nos unimos al grupo podremos ver un mensaje de bienvenida como el siguiente:

Para solicitar nuestros datos de acceso debemos iniciar una conversación con el bot del proyecto haciendo clic en el botón Open private chat que aparece en el mensaje.
Ahora se nos abrirá un nuevo chat con el bot al que enviaremos el mensaje “/mqtt”. El bot nos responderá con nuestros datos de acceso que debemos anotar y, por supuesto, no debemos compartir con nadie.

Configurar la estación

Una vez tenemos nuestra placa con el firmware instalado y hemos conseguido nuestros datos de acceso, el siguiente paso es configurar la estación.
Si hemos seguido los pasos de esta guía, a estas alturas nuestra estación ya debe haberse reiniciado y debe mostrar por pantalla que está lista para la configuración.

Para acceder a la interfaz de configuración debemos conectarnos primeramente a la red inalámbrica que la propia estación ha creado.

Una vez estemos conectados a esta red, debemos abrir el navegador web y acceder a la dirección 192.168.4.1. Se nos mostrará un menú con opciones como el siguiente:

Hacemos clic en Configure parameters e introducimos los parámetros de configuración de nuestra estación.
Los valores básicos que debemos introducir son los siguientes:

Parámetro Descripción
GroundStation name Nombre de nuestra estación.
Password for this dashboard Clave de acceso que queramos para entrar al panel de datos web.
WiFi SSID Nombre de la red WiFi a la que se conectará la estación.
WiFi password Clave de la red WiFi a la que se conectará la estación.
Latitude Latitud. Valor con 3 dígitos decimales. Signo menos para latitud sur.
Longitude Longitud. Valor con 3 dígitos decimales. Signo menos para longitud oeste.
Timezone Nuestra zona horaria.
MQTT Username Nombre de usuario que hemos obtenido en el paso anterior.
MQTT Password Contraseña que hemos obtenido en el paso anterior.
Board type Nuestro modelo de placa.
OLED Bright Nivel de brillo de la pantalla. Cuanto menor brillo, más tiempo durará la pantalla.

Podemos ver una descripción más detallada de todos los parámetros en la web del proyecto.

Una vez introducidos los datos, hacemos clic en Apply para aplicar los ajustes y reiniciamos la estación.

Acceder a nuestra estación

Si hemos llegado hasta este paso sin problemas, nuestra estación ya debería estar conectada al servidor MQTT y lista para recibir datos desde los satélites.
Si queremos comprobar el estado de nuestra estación o bien realizar ajustes en la misma tenemos varias formas de interactuar con ella.

La primera forma sería lógicamente mirando la pantalla de la estación. En ella podremos ver el estado de la misma, así como el satélite que está escuchando y el último paquete recibido.

Otra forma sería usando el bot privado de Telegram que hemos usado previamente para obtener los datos de acceso al servidor.
Bastaría con enviarle al bot el mensaje “/stations“ y nos devolverá un listado con nuestras estaciones conectadas y algunos datos de las mismas.

También podemos ver el estado de nuestra estación accediendo por red local a ella. Para ello necesitamos conocer previamente la dirección IP de la misma, siendo la forma más sencilla de obtenerla la propia pantalla.

Una vez la tenemos, accedemos mediante el navegador y en el menú hacemos clic en Station dashboard. Nos pedirá unos datos de acceso que son “admin” para el nombre de usuario y la contraseña es la que le hemos indicado en el paso previo de configuración.

Por último, la forma más completa de consultar el estado y de ver todos los paquetes recibidos, sería desde la web https://tinygs.com

Si accedemos directamente a esta web solo podremos ver los datos públicos de las estaciones y no podremos interactuar con nuestra estación. Para acceder a nuestro propio panel de usuario en la web necesitamos un enlace personalizado que vamos a obtener desde el bot de Telegram. Para que nos genere un enlace le enviamos el mensaje “/weblogin“ y nos responderá con un enlace temporal que usaremos para acceder a la web. Sobra decir que este enlace no debe ser compartido con nadie, ya que le estaríamos dando el control de nuestra estación.

Recepción de paquetes

Si tenemos nuestra estación activa y conectada la red MQTT y a la antena, la recepción de los paquetes de datos se hará de forma automática y desatendida. La estación recibe desde el servidor los ajustes de escucha para el satélite que va a realizar el pase sobre nuestra posición y se prepara para recibir la señal. Podemos ver fácilmente el satélite activo en la pantalla:

Una vez se reciba un paquete de datos, este se enviará al servidor y se mostrará en pantalla la palabra CONFIRMED.

Si hemos recibido el paquete, pero por cualquier motivo nos ha llegado incompleto o corrupto, veremos un mensaje como el siguiente:

Esto quiere decir que el mensaje no ha superado la verificación mediante CRC (código de redundancia cíclica) y no es válido.

Si queremos ver la recepción de los mensajes en tiempo real, podemos acceder al canal de Telegram TinyGS Telemetry y ver si nuestros mensajes se están subiendo correctamente al servidor.

Agradecimientos

Finalmente quiero dar mis agradecimientos y reconocimiento a todo el equipo que conforma el proyecto TinyGS y a todos los colaboradores que lo hacen posible.