Reporte de Proyecto: Comunicación con Módulo LoRa

Sistema de Chat Grupal por Comunicación LoRa sin Internet

...
Posteado por Randy.TA el 02-06-2025 a las 10:01
Categoria: Arduino
Realizado por: MARKCUS JOSUE KAM PACHECO randy josue traconis aguilar

Presentación.

Este proyecto consistió en la implementación de un sistema de comunicación tipo chat grupal utilizando módulos LoRa E220-900T22D. El objetivo fue transmitir mensajes entre diferentes equipos sin el uso de internet, simulando una plataforma similar a WhatsApp, en la que cada mensaje estuviera identificado con el nombre del remitente.

Funcionamiento.

El módulo LoRa E220-900T22D permite la transmisión de datos a largas distancias utilizando frecuencias de radio. A través del uso de Arduino Nano y una interfaz serial, se programaron los dispositivos para que enviaran y recibieran mensajes, incorporando el nombre del emisor en cada transmisión. Esto permitió simular un sistema de mensajería grupal sencillo y efectivo.

Realización.

MATERIALES UTILIZADOS

  • Módulo LoRa E220-900T22D

  • Módulo USB a Serial TTL

  • Protoboard mini

  • Arduino Nano

  • Jumpers y cables

  • Antena para el módulo LoRa


REALIZACIÓN

  1. Configuración Inicial:

    • Se descargó un programa específico para configurar el módulo LoRa.

    • Se eligió el canal de transmisión número 6, de un total de 83 disponibles.

  2. Pruebas con CoolTerm:

    • Se utilizaron los módulos LoRa conectados al adaptador USB a Serial TTL.

    • A través del programa CoolTerm, se realizaron pruebas de transmisión y recepción entre diferentes equipos.

  3. Mejora del Proyecto:

    • Para cumplir con el requerimiento del docente de mostrar los nombres en los mensajes, se integró el Arduino Nano.

    • Se modificó el código para incluir automáticamente el nombre del remitente en cada mensaje.

  4. Pruebas de Alcance:

    • Se realizaron envíos de mensajes en distintas ubicaciones del campus con los siguientes resultados:

      • Laboratorio – DEPI: 139 metros

      • Laboratorio – Palapas: 86 metros

      • Laboratorio – Banquitas: 177 metros

      • Laboratorio – "S": 211 metros

Programación.

Se desarrolló un código en Arduino que concatenaba el nombre del usuario al inicio del mensaje, cada quien al mandar un mensaje primero salia su nombre y luego el mensaje. Esto permitía identificar fácilmente quién había enviado cada texto. El módulo LoRa se comunicaba con el Arduino a través de los pines TX y RX, utilizando comunicación serial. Además, se añadieron funciones básicas para simplificar la interacción entre los usuarios.
 

#include <SoftwareSerial.h>

 

// SoftwareSerial(RX, TX)

SoftwareSerial lora(2, 3); // Lora RX -> D2, TX -> D3

 

void setup() {

  Serial.begin(9600);      // Comunicación con PC (monitor serial)

  lora.begin(9600);        // Comunicación con LoRa

  pinMode(4, INPUT);       // AUX (opcional)

 

  Serial.println("Arduino Nano listo. Escribe un mensaje.");

}

 

void loop() {

  // Leer mensaje desde la PC

  if (Serial.available()) {

    String mensaje = Serial.readStringUntil(' ');

    String completo = "randy traconis: " + mensaje;

    lora.println(completo);  // Enviar por LoRa

    Serial.println("Enviado: " + completo);

  }

 

  // Leer mensaje recibido por LoRa

  if (lora.available()) {

    String recibido = lora.readStringUntil(' ');

    Serial.println("Recibido por equipo de randy: " + recibido);

  }

}

 

Utilización.

El sistema fue utilizado para enviar mensajes de texto entre distintos equipos distribuidos en diversas zonas del campus, sin necesidad de conexión a internet. Cada Arduino Nano, conectado a un módulo LoRa, actuaba como emisor y receptor al mismo tiempo, permitiendo una comunicación bidireccional. Los usuarios simplemente escribían su mensaje desde el monitor serial del Arduino, y este se transmitía automáticamente al resto de los módulos dentro del alcance.

El formato del mensaje incluía el nombre del remitente, lo cual facilitaba la identificación en un entorno grupal. Este enfoque permitió simular con éxito un sistema básico de chat grupal offline, demostrando la aplicabilidad del LoRa en contextos donde la conectividad tradicional no está disponible o es limitada.

Conclusiones.

Randy Traconis:
Me pareció una experiencia muy interesante porque no solo logramos que el módulo LoRa enviara mensajes, sino que también pudimos personalizar el sistema para que fuera más práctico, como un chat grupal. Me gustó trabajar en equipo y ver que podíamos comunicar mensajes a buena distancia sin necesidad de internet.

Markcus Kam:
Este proyecto me ayudó a entender mejor cómo funciona la comunicación entre dispositivos sin cables. Me gustó poder modificar el código en el Arduino para agregar nuestros nombres a los mensajes. Además, fue muy útil comprobar el alcance del LoRa en distintas zonas del campus.

Referencias.

  • Ficha técnica del módulo LoRa E220-900T22D:
    https://www.lcsc.com/datasheet/lcsc_datasheet_2012111842_Chengdu-Ebyte-Elec-Tech-E220-900T22D_C970287.pdf

  • Página oficial del módulo (Ebyte):
    https://www.es-ebyte.com/products/E220-900T22D/1

  • Sitio oficial de Arduino:
    https://www.arduino.cc

  • Repositorio de biblioteca Ebyte E220 para Arduino:
    https://github.com/xreef/EByte_LoRa_E220_Series_Library

  • Página oficial de CoolTerm:
    https://freeware.the-meiers.org

Para comentar debes acceder Acceder

Comentarios


No hay comentarios en este post