LoRa-APRS Tracker

Para implementar el Tracker la tarjeta utilizada es la siguiente: LILYGO TTGO T-Beam V1.1 LoRa32 433 Mhz NEO-6M

 [1]

 

La tarjeta Lilygo TTGO T-Beam es una tarjeta de desarrollo de IoT con comunicación WiFi, Bluetooth, GPS NEO-6M y LoRa32 a 433Mhz / 470mhz. Cuenta con soporte para batería 18650 en la parte trasera, lo cual facilita su uso portátil. Cabe destacar que esta tarjeta generalmente no la venden con el display incluído, por lo que hay que comprarlo de forma separada. Los trackers que han sido implementados en Europa utilizan un display tipo OLED SSD1306 pero al menos aquí en México y hasta este momento, es más fácil conseguir el SH1106.

 

INSTALACIÓN Y CONFIGURACIÓN DEl tracker LORA-APRS

El proceso de instalación es muy similar al descrito para el iGate o Digipeater. A continuación se describen los pasos:

  1. Descargar e instalar el software Visual Studio Code para poder programar la tarjeta.
    https://code.visualstudio.com/download
  2. Una vez instalado el Visual Studio Code, descargar la extensión Platformio
    https://platformio.org/install/ide?install=vscode
    ***Nota: Si ya tienes instalado el Visual Studio Code y la extensión Platformio, no es necesario volver a realizar los pasos 1 y 2.
  3. Descargar y guardar en el disco duro de la computadora las librerías del LoRa-APRS del siguiente link:
    https://github.com/xe2ad/LoRa-APRS_Tracker
    Esta librería está ya modificada para usar el display OLED SH1106 y es una versión modificada de https://github.com/lora-aprs/LoRa_APRS_Tracker , debido a que esta última está configurada para usar el display OLED SSD1306.
  4. Abrir el Visual Studio Code y dar click en File –> Open Folder , buscar la carpeta descargada desde github, seleccionarla y dar click en abrir.
  5. Buscar el archivo is-cfg.json (está en la subcarpeta data) que es precisamente el archivo que se tiene que modificar con tus datos. A continuación se presenta este archivo, con cuadros de texto agregados para una mejor explicación de los parámetros más importantes:

El símbolo de cada objeto en APRS está determinado por la combinación de dos caracteres: Symbol y Overlay. En la siguiente tabla se muestran los símbolos que se pueden utilizar. Symbol es el renglón superior y Overlay es «/» o «\»:

[2]

Los demás parámetros se suelen dejar como están, a menos que quieras experimentar con los tiempos entre balizas y las condiciones en las cuales éstas se van a enviar.

6. Una vez modificado el archivo is-cfg.json hay que compilar y programar la tarjeta TTGO. Dar click en el símbolo de la «palomita» (√) para compilar, si el mensaje de «SUCCESS» aparece en la ventana de la Terminal (parte inferior de la ventana principal), dar click en el símbolo de Upload o de la «flecha» (→), si el mensaje de «SUCCESS» aparece en la ventana de la Terminal quiere decir que el microcontrolador de la tarjeta está correctamente programado.

7. Finalmente hay que subir la imagen del archivo, para esto dar click en el símbolo del «allien» o Platformio en la parte izquierda de la ventana del Visual Studio Code y después en «Uploado Filesystem Image», tal y como se hizo para el iGate o el Digipieater. Una vez hecho esto el Tracker debería estar ya listo para funcionar.

Hay que verificar que el led a un lado del módulo del GPS en la tarjeta TTGO parpadeé después de unos minutos de haber concluído el paso 7. De hecho, la tajeta TTGO y su antena de GPS cerámica deben tener «vista libre» hacia el cielo para que esta pueda recibir la señal de los satélites de GPS y pueda calcular su ubicación. Una vez calculada el led del GPS debe parpadear y además el display debe mostrar la fecha correcta, hora UTC y haber detectado más de un satélite. Si «Sats» es igual a 0, quiere decir que el GPS no está funcionando correctamente y habrá que realizar el procedimiento de reseteo del GPS.

 

Después de varios días de frustración en que mi tarjeta TTGO no detectaba ningún satélite e intercambiar varios mensajes con algunos colegas radioaficionados en Europa que ya han implementado este tipo de Tracker, llegamos a la conclusión de que la mayoría de antenas cerámicas para el GPS que incluyen estas tarjetas son un tanto deficientes, por lo que recomiendo instalar una antena de GPS externa. Yo cambié la antena cerámica por una externa y, después de realizar el procedimiento de reseteo del GPS, la tarjeta TTGO comenzó a detectar señal de satélites a los dos o tres minutos de haber iniciado. Las antenas externas que he utilizado son como las siguientes:

     

Tener en cuenta que el conector de la antena de GPS en la tarjeta TTGO es del tipo IPEX y al ser tan pequeño hay que tener mucho cuidado cuando se conecta o desconecta, para no dañar este conector.

 

Reset del gps

Para poder resetear el GPS de la tarjeta TTGO, hay que descargar las siguientes librerías:

https://github.com/xe2ad/TTGO-T-Beam_GPS-reset-main

En estas librerías no hay que modificar absolutamente nada, solo hay que abrir esta libreria y verificar que en la carpeta «src» esté el archivo T22-GPS-restoreFactory-v2.ino, el cual es el que me ha funcionado hasta este momento. Dentro de la carpeta principal están otros dos archivos .ino, la versión 1.1 (GPS-T22_V1.0-20190612_V1.1-20191212-resetGPS.ino) y versión 3 (T22-GPS-reset-v3.ino). Para correr cualquiera de las versiones, solo una de ellas debe estar dentro de la carpeta «scr». Para correr el reseteo dar click en el símbolo de la «palomita» (Build) y después en el símbolo de la flecha (Upload). Una vez hecho esto, abrir la terminal dándole click al símbolo del «enchufe» en el mismo menú azul en la parte inferior de la ventana del Visual Studio Code y verificar que aparezcan líneas con información de la señal de GPS. Hay que esperar varios minutos pero si pasado un buen tiempo el led del módulo GPS no parpadea, hay que volver a intentar cargando el archivo .ino una vez más. Este procedimiento es un tanto inestable y tiende a fallar algunas veces hasta que el módulo GPS comience a funcionar.

 

 

Un agradecimiento especial para Peter Buchegger y la página https://www.lora-aprs.info/ por la información proporcionada y por subir las librerías de código abierto para poder configurar las tarjetas TTGO como iGate o Digipeater. También un agradecimiento a Thomas DL3EL por su ayuda y paciencia. Este proyecto tiene una dedicación especial a mi amigo y tocayo, David de Ávila XE1SDK (sk), por haber sido un experto en estos temas e introducirme en el mundo del APRS.

[1] https://github.com/lora-aprs/LoRa_APRS_Tracker

[2] https://blog.thelifeofkenneth.com/2017/01/aprs-symbol-look-up-table.html