ESP32 LoRa for dummys - Lilygo ESP 32 Lora GPS (Neo 6M /GNSS Neo M8M)
Lilygo ESp 32 Lora GPS (NEO 6M) /GNSS (Neo M8M) es una placa que dipone de:
- Un chip de posicionamiento global por satélite que dependiendo del modelo permite:
- GPS (NEO 6M solo GPS)
- GNSS(Neo M8M GPS, Galileo, GLONASS, BeiDou; es una opción mas moderna, mas completa y mas cara)
- Un ESP32 Espressif Systems ESP32 SoC que incluye Wi-Fi, Bluetooth y LoRa (TTGO T-Beam 1.3 para Arduino)
- Una antena para LoRa, en este caso la antena GPS cerámica con conector IPX está incorporada
- Una caja incorporada para la alimentación de una bateria Li-Ion del tipo NCR18650 de 65 mm (OJO Las hay de 67 y 69,5mm)(La batería de litio modelo 18650 de 3,7V debe comprarse por separado , pero por menos de 3€ se encuentra en Aliexpress) el PMU permite su control y recarga.
- No dispone de pantalla OLED por lo que si se desea una debe comprarse por separado y clabearla
- Módulo de pantalla OLED de 0,96 pulgadas para Arduino, I2C, IIC, 128x64, ss-d-1306, 3,3 V-5V, azul/azul, amarillo/blanco, ESP32, ESP8266, pero por menos de 2 € puede comprarse en Aliexpress
- Instrucciones de cableado
Con una placa T-BEAM (ESP32+LoRa+GPS) en principio podemos hacer todo lo que hasta ahora hemos hecho con una ESP32+Lora mas funciones con GPS como el posionamiento y el seguimiento
- Beacon: no es necesario el GPS para esta función
- Funciona sin problemas a la primera tanto en en las bandas de radioaficionados 144 MHz 440 MHz como en la PRM446
- Se puede modificar el programa para incluir información obtenida por el GPS
- TinyGS: No es necesaria la función GPS para esta función. Se ha probado con la instalación automática que a veces da el siguienrte error"Warning this board is supposed to work with this configuration but it will not be automatically detected and it's not properly tested yet. If you have this board we would like to hear your experience." Por lo que:
{"name": "T-beam v1.1 + oled", "aADDR": 60, "oSDA": 21, "oSCL": 22, "oRST": 0, "pBut": 38, "led": 14, "radio": 1, "lNSS": 18, "lDIO0": 26, "lDIO1": 0, "lBUSSY": 0, "lRST": 23, "lMISO": 19, "lMOSI": 27, "lSCK": 5, "lTCXOV": 0.0}
name: "T-beam v1.1 + oled" - The name of the board.
aADDR: 60 (0x3C in decimal) - The I2C address of the OLED display.
oSDA: 21 - The SDA pin of the OLED display.
oSCL: 22 - The SCL pin of the OLED display.
oRST: 0 - The reset pin of the OLED display.
pBut: 38 - The GPIO pin used for the user button.
led: 14 - The GPIO pin used for the main board indicator LED.
radio: 1 - The type of radio module used by the board (1 for sx127x).
lNSS: 18 - The NSS pin of the LoRa module.
lDIO0: 26 - The DIO0 pin of the LoRa module.
lDIO1: 0 - The DIO1 pin of the LoRa module.
lBUSSY: 0 - The BUSY pin of the LoRa module.
lRST: 23 - The reset pin of the LoRa module.
lMISO: 19 - The MISO pin of the SPI bus.
lMOSI: 27 - The MOSI pin of the SPI bus.
lSCK: 5 - The SCK pin of the SPI bus.
lTCXOV: 0.0f - The TCXO voltage (only used for SX126X modules).
- Finalmente tras varios intentos se consigue cargar el firmware desde la web y se añade el template y funciona sin problemas pero parece que la figura de ruido es superior a las placas LiLygo sin GPS/ GNSS y por tanto se reciben menos paquetes
- Posicionamiento (Posición, fecha y hora)
- Cuando el chip GPS recibe datos y trabaja se enciende y parpadea un LED que está junto a él (el chip con la marca ubox en rojo).
- Si no parpadea es que no se reciben datos de ningun satélite GPS, pruebe a estar un rato junto a una ventana
- Si parpadea y el programa no da datos es que seguramente tiene mal asignado los pines
- Si escribe en el monitor serie (el del arduino IDE) información del tipo @@@@@@@@ compruebe que la velocidad establecida en el programa es la misma que la seleccionada
- Hay muchos programas que dan en uno u otro formato los mismos datos básicos: tiempo (fdecha y hora) y posición, y a partir de estos también la distancia entre dos pntos y la velocidad de desplazamiento
- Programas
- ESP-GPS : es un pequeño tutorial que usa el porcesador ESP32-WROOM 32 (El usado en el ESP32 Basic starter kit y el modulo NEO 6M GPS así es que podemos convertirlo en un proyecto mas por menos de 5€ en aliexpress) tiene dos programas
- ESP32-DIS Calcula la distancia entre unas coordenadas dadas en el programa y las obtendidas por el GPS.
La salida de datos es la siguiente:
17:23:06.944 -> - latitude: xx.xx17:23:06.944 -> - longitude: xx.xx17:23:06.944 -> - distance to London: xxxx
- ESP32-GPS_CS que da las coordenadas, la velocidad y el tiempo (fecha y hora). Hace uso de TinyGPS++.h. Hay que sustituir los pines usados en el ejemplo
Serial2.begin(GPS_BAUDRATE, SERIAL_8N1, 16, 17);
por los de la placa lilygo T-beam
Serial2.begin(GPS_BAUDRATE, SERIAL_8N1, 34, 12);
donde SERIAL_8N1 es el valor por defecto que indica 8 bits por dato, sin paridad y con un bit de parada
La salida de datos es la siguiente:
17:12:51.927 -> - latitude: xx.xx
17:12:51.927 -> - longitude: xx.xx
17:12:51.927 -> - altitude: xx.xx
17:12:51.927 -> - speed: INVALID
17:12:51.961 -> - GPS date&time: INVALID
- ESP32 with NEO-6M GPS Module (Arduino IDE)
- ESP-GPS es un progrma sencillo que vuelca los datos en bruto en formato NMEA en concreto el registro GPGGA
17:25:31.388 -> -------------------------------
17:25:31.388 -> $GPGGA,.....
- ESP32 TFT with LVGL: Display GPS Location, Date, and Time
- ESP32_GPS_NMEA da la siguiente información formateada
17:12:40.017 ->
17:12:41.017 -> LAT: xx.xxxxx
17:12:41.017 -> LONG: xx.xxxxxxx
17:12:41.017 -> SPEED (km/h) = 0.00
17:12:41.017 -> ALT (min)= 9.00
17:12:41.017 -> HDOP = 1.35
17:12:41.017 -> Satellites = 6
17:12:41.017 -> Time in UTC: 2000/0/0,16:12:44
- Seguimiento o tracker
- Tracker sin Wifi, ni datos
- APRS (es una red de trackers de radioaficionados) se necesitan dos placas ESP32 Lora 433 MHz una de ellas con GPS que es la que genera el tracker que envía a la que hace de iGate que es la que lo retransmite a
- APRS Tracker
- APRS iGate
- ESP32APRS LoRa Simple Project is a Internet Gateway(IGate)/Dital Repeater(DiGi)/Tracker/Weather(WX)/Telemetry(TLM) with LoRa RF network in that is implemented for Espressif ESP32,ESP32-S3,ESP32C3 processor support.
- Por un tema de diseño en general o de esta placa en particular necesita estar al aire libre bastante tiempo para comenzar a recibir satélites GPS ("FIX sat") una posible solución es resetear el firmware (cosa que yo no he hecho por el momento)
- TTGO_T_BEAM_GPS_RESET (HAy que seleccionar la versión 1.o / 1.1. o 1.2 y compilarlo con PlatformIO)
- Finalmente se decide devolver la placa pues resulta poco práctico para hacer pruebas en laboratorio y es insegura para su despliegue, por esta aleatoriedad en la recepción de señales de GPS y se opta por seguir con una Wireless Tracker Heltec que es más económica y tiene mejores prestaciones
- LILYGO® TTGO T-Beam Placa de desarrollo ESP32 LoRa, 433MHz, 868MHz, 915MHz, 923MHz, SX1278, SX1262, SX1276, módulo GPS, NEO-6M, GNSS, NEO-M8M por unos 35€)
- Sobre el modulo GPS NeO 6-M NEO6M NEO8M
- Canal Telegram de Lora_ARPS
Comentarios
Publicar un comentario