McOrts / taller-lora-sat-groundstation

Taller para la construcción de mini-estación de seguimiento de satélites LoRa basado en el proyecto https://github.com/G4lile0/ESP32-OLED-Fossa-GroundStation de @Galile0

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Taller estación recepción de satélites LoRa TinyGS

Este repositorio contiene el código, información y documentación necesaria para montar un mini-receptor de señal de satélite con modulación LoRa.

El tipo de receptor se basa en los estándares del proyecto TinyGS creado por:

TinyGS se define como una red abierta de estaciones terrestres distribuidas por todo el mundo para recibir y operar satélites LoRa, sondas meteorológicas y otros objetos voladores, utilizando módulos baratos y versátiles. A diferencia de otras, no se requiere de grandes conocimientos en telecomunicaciones ni licencias de radioaficionado. Está orientada por una parte a la participación de personas en el mundo Maker sin grandes exigencias técnicas. Y por otro a dar servicio a los operadores de los satélites recibiendo telemetría y otros datos en tiempo real gracias al despliegue mundial de la red de estaciones.

La red TinyGS está creciendo de forma exponencial y está destinada a jugar un papel importante en la estrategia de los proyectos de mini-satélites públicos y privados.



Construcción de la estación receptora

Configuración del hardware

En la elección del microcontrolador hay muchas opciones. Para el taller hemos elegido el TTGO LoRa32 V2 (433MHz) Además de esta placa necesitarás lo siguiente:

  • Usuario de Telegram
  • Acceso a una red WiFi

El procedimiento de instalación está en constante evolución por lo que vamos a señalar los bloques principales sin entrar en detalles. Detalles que sí podrás consultar en los enlaces correspondientes.

  1. Instalar el firmware en el microcontrolador.
  2. Obtener las credenciales de la plataforma (MQTT). Para ello tendrás que acceder al BOT de Telegram: @tinygs_personal_bot:

  1. Configurar la estación.

Montaje

Como soporte a la placa del microcontrolador tenemos dos opciones:

  • Para exterior se puede usar la de los relés Sonoff:

La antena es la pieza clave a la que tendrás que prestar atención frecuentemente. Porque requerirá reorientaciones habituales y cambios en base al satélite que tengas como prioridad de recepción. Hay múltiples opciones, desde la más DIY hasta comerciales ya calibradas que puedes comprar on-line:

  1. Dipolo, es una antena simple compuesta de dos elementos y fácil de construir:

    • Rabbit Ear (por @estbhan)
    • JPCoax (por @kreatif)
  2. Antena de cuarto de onda (a.k.a plano de tierra)

  3. Antenna móvil, generalment de banda dual de radioaficionado 2m/70cm

  4. Direccional: Antena Yagi de UHF430-450MHz

Dashboard de control (NOC en Node-RED)

El backoffice de TinyGS publica dos topics con información de tu estación. Esta aplicación de control se basa en la subscripción a los mismos:

tinygs/[user]/[nombre de la estación]/cmnd/begin
tinygs/[user]/[nombre de la estación]/cmnd/frame/0

Node-RED es una herramienta de programación visual. Muestra gráficamente relaciones entre objetos (nodos) que son funciones que transforman el mensaje que les llega de los nodos precedentes. Utilizando nodos estándar, el usuario no necesita programar. Aunque si se quiere, se pueden crear funciones programando en JavaScript. En definitiva permite, desde un navegador web, construir flujos para procesar información y comunicarla a través de infinidad de integraciones.

Vamos a montar un dashboard que nos permitirá monitorizar hasta dos estaciones TinyGS. Es nuestro NOC personal que nos permitirá:

  • Saber qué satélite estamos escuchando.
  • Cuál fué el último satélite recibido
  • Saber los valores de configuración del modem.
  • Analizar la señal recibida a través del histórico de los valores de RF.
  • Recibir avisos:
    • Receptor caído. No se conecta a la red WiFi
    • Satélite recibido.

Node-RED NOC TinyGS dashboard

Node-RED

En primer lugar necesitaremos tener instalada una instancia de Node-RED. La recomendación más actual es hacerlo en un contenedor Docker. Pero utilizar una Single Board Computer como la Raspberry Pi es muy adecuado porque los requisitos de capacidad de proceso y memoria son muy bajos.

También vamos a necesitar algunos 'nodos' adicionales a los que incluye la instalación.

IFTTT

Para recibir los avisos vamos a usar el servicio de If This Then That que se integrará fácilmente en Node-RED usando el nodo de petición HTTP.

https://maker.ifttt.com/trigger/TinyGS/with/key/[clave de IFTTT]?value1={{{payload}}}

El servicio a configurar es simple. Utilizaremos el componente Webhooks para captar el evento y las notificaciones para que salte el aviso en nuestro dispositivo: móvil, smartwatch...

Montaje final

Una vez configurado el servidor Node-RED y nuestro evento en IFTTT. Nos queda tres últimos pasos:

  1. Crear la tabla en la BBDD MysSQL:
CREATE TABLE `tinygs` (
  `dtg` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `station_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL,
  `frame` varchar(512) CHARACTER SET ascii NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Opens of the house''s main door';
ALTER TABLE `tinygs`
  ADD PRIMARY KEY (`dtg`,`station_id`);
  1. Importar en Node-RED el fichero nodered_dashboard4TINYGS.json que contiene todos los flujos. Node-RED install options

  2. Configurar las credenciales y hash para acceder a:

  • Servidor MQTT
  • Servidor MySQL
  • Llamada a IFTTT

About

Taller para la construcción de mini-estación de seguimiento de satélites LoRa basado en el proyecto https://github.com/G4lile0/ESP32-OLED-Fossa-GroundStation de @Galile0

License:MIT License