Chat inalámbrico con LoRa: Comunicación sin fronteras

Comunicación a distancia usando Arduino Nano y módulos E22-900T22D

...
Posteado por Brayan.CT el 31-05-2025 a las 15:46
Categoria: Arduino
Realizado por: Brayan Ricardo Chan Tec, Yulisa María May Pérez, Diego Alonzo Yam Cetina.

Presentación.

Este proyecto consiste en la elaboración e implementación de un chat grupal inalámbrico usando el módulo LoRa E22-900T22D, con el propósito de establecer una red donde varios equipos pudieran intercambiar mensajes en tiempo real. Para ello se utilizó la terminal del IDE Arduino como medio de envío y recepción de los mensajes.


Se usó un Arduino Nano para dar formato al mensaje antes de enviarlo, agregando automáticamente un identificador al emisor que permita reconocer quién envió el mensaje. Todos los módulos fueron configurados para operar en el canal 6, permitiendo una comunicación estable y simultánea entre los LoRa.


El objetivo de esta práctica fue demostrar una forma de comunicación efectiva a largas distancias usando tecnología LoRa, logrando una conexión grupal estable.

Funcionamiento.

Cada equipo tenía un módulo LoRa E22-900T22D, configurado con una dirección específica, lo que permite identificar cada nodo. Se configuraron en el canal 6 y se usó la dirección para que los mensajes enviados fueran recibidos por los demás módulos LoRa.

La comunicación inicia desde la laptop, donde se escribe el mensaje usando el monitor serial del IDE de Arduino.

  1. El Arduino Nano recibe el mensaje desde la PC y añade automáticamente un identificador con el nombre de quien envió el mensaje. Para esta práctica, usamos:

 

Identificador

Mensaje

Diego Yam:

Hola

 

  • Luego, el Arduino envía el mensaje completo al módulo LoRa mediante comunicación serial.
  • El módulo LoRa transmite el mensaje, y todos los demás módulos en el mismo canal lo reciben de forma simultánea.
  • Finalmente, cada equipo recibe los mensajes enviados desde los otros módulos LoRa.

 

Realización.

Materiales

Cantidad

Elemento

1

Protoboard

10

Jumpers o cables para protoboard

1

LoRa E22-900T22D

1

Adaptador HW-409

1

Laptop

1

Arduino Nano

Montaje

Configuración del LoRa E220-900T22D

Primero, se debe descargar la aplicación de EByte y configurarla de manera que permita la sincronización con los demás módulos LoRa. Todos trabajarán en el canal 6.

Se deben conectar los pines del dispositivo al adaptador HW-409, el cual servirá para alimentarlo.

 

Conexiones al  adaptador HW-409

 

LoRa

E220-900T22D

Nombre

Conexión al

HW-409

1

M0

3V3

2

M1

3V3

3

RXD

TXD

4

TXD

RXD

6

VCC

3V3

7

GND

GND

  • Una vez que tengamos listas las conexiones, conectamos el dispositivo al puerto USB de la computadora y abrimos la aplicación, esperando a que se reconozca el dispositivo.
  • Cuando lo reconozca, hacemos clic en el botón "Open" para comenzar con la configuración.
  • Si todo está bien, debe aparecer un mensaje que nos dará acceso al dispositivo para su configuración, y mostrará una configuración predeterminada.
  • Lo único que haremos será cambiar el canal al 6 para poder establecer comunicación con los otros dispositivos.
  • Luego, guardamos la configuración y hacemos clic en "Close" para cerrar la configuración del dispositivo.

NOTA: Después de ser configurado el dispositivo, los pines 1 y 2 (M0 Y M1) deben de colocarse a GND para poder utilizarse correctamente.

Conexiones al Arduino Nano

Una vez que el dispositivo ha sido configurado, se procede a conectarlo al Arduino Nano para poder enviar mensajes. Además, se carga un código que permite identificar quién envía cada mensaje.

 

LoRa

E220-900T22D

Nombre

Conexión al

Arduino Nano

1

M0

GND

2

M1

GND

3

RXD

D3

4

TXD

D2

6

VCC

3V3

7

GND

GND

Al conectar el dispositivo LoRa al Arduino Nano, se procede a cargar el programa en el Arduino IDE.

Una vez que el Arduino Nano está conectado a la computadora, se sube el programa, el cual permite identificar quién envía cada mensaje.

Para finalizar, se debe abrir el monitor serial del Arduino IDE y escribir los mensajes. En pantalla debe mostrarse el nombre del dispositivo o usuario que los envía.

Programación.

Este código se realizó en el IDE Arduino, es el encargado de poner el identificador cada que se envían mensajes a los demás LoRa.

#include

 

// 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 = "Diego Yam: " + mensaje;

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

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

  }

 

  // Leer mensaje recibido por LoRa

  if (lora.available()) {

    String recibido = lora.readStringUntil(' ');

    Serial.println("Recibido por LoRa: " + recibido);

  }

}

Utilización.

  1. Conectamos el adaptador con el circuito ya ensamblado a la laptop. Verificamos que el módulo LoRa esté configurado en el canal 6 y conectado correctamente al Arduino.
  2. Abrimos el IDE de Arduino y seleccionamos el puerto COM correspondiente.
  3. Abrimos el Monitor Serial:
    Herramientas > Monitor Serial o presionamos Ctrl + Shift + M.

• Configuramos la velocidad de transmisión (baud rate) a 9600 baudios (parte inferior derecha del monitor).

  1. Escribimos el mensaje en el cuadro de entrada.

Ejemplo: Hola a todos

  1. Enviamos el mensaje.
    • El Arduino añadirá automáticamente el nombre configurado en la programación ("Diego Yam: " + mensaje) al inicio de cada mensaje.
    • El mensaje será enviado al módulo LoRa, el cual lo transmitirá a todos los demás módulos conectados en el mismo canal.
  2. En la terminal aparecerán los mensajes enviados por todos los participantes, incluyendo el nombre de quien lo envió

 

Nota:

  • Es importante que cada equipo tenga un identificador distinto en su código, para reconocer fácilmente quién envía cada mensaje.

Para la realización nos dividimos en distintos puntos, dos equipos se quedaron en el laboratorio, un equipo en el edificio B, otro en el C y nuestro equipo al edificio S.

 

Datos obtenidos de la practica

  • Se estableció la conexión correctamente.
  • Se enviaron los mensajes sin errores mayores.
  • La conexión fue relativamente estable (no al 100 %, pero se logró recibir la mayoría de los mensajes), considerando las paredes de los edificios.

En nuestro caso, trabajamos desde dos ubicaciones: la primera fue en el edificio S, y posteriormente nos movimos al área de los toldos (cerca de la cafetería). Esto con el objetivo de mejorar la recepción de los mensajes de los demás equipos.

Estos fueron las distancias.

  • Del Laboratorio - edificio S: 207.24 m
  • Del Laboratorio - Toldos:  129.15 m

En las primeras pruebas de comunicación de mensajes tuvimos un problema: al escribir el mensaje, debíamos escribir manualmente el identificador. Para solucionarlo, fue necesario programar el Arduino Nano para que añadiera automáticamente el identificador al inicio de cada mensaje.

Conclusiones.

Diego Yam

Este proyecto fue interesante al saber cómo funciona un dispositivo LoRa, el cual se tuvo que configurar, hacer una pequeña programación y conectarlo.
Esto fue muy importante ya que se aprendió el funcionamiento y cómo este dispositivo puede alcanzar distancias enormes y ser muy útil en otras aplicaciones como en sistemas de automatización o algún otro proyecto.
Por el gran alcance y facilidad de conseguir los materiales, es una buena opción para ciertos proyectos.
En este caso se usó para hacer un chat entre nuestro grupo, el cual se debía conectar entre dispositivos LoRa para establecer comunicación, esto fue de una forma "sencilla" ya que no se necesitan tantas conexiones, solo leer el manual y configurarlo.

Yulisa May

 

La práctica de comunicación mediante el módulo LoRa está realizada con el protoboard y un circuito que ayuda a que esté conectado el Arduino Nano con el dispositivo LoRa, y su programación se realizó con el programa de Arduino, el cual nos permitió establecer un sistema efectivo de transmisión de datos entre equipos a distancia. Con ayuda del dispositivo LoRa se estableció la comunicación como un tipo de chat grupal para probar el dispositivo; se logró crear una red de comunicación grupal en la cual se enviaron y recibieron mensajes de manera exitosa.
Aunque el alcance máximo teórico del módulo es de hasta 5 kilómetros, la prueba se realizó dentro de la escuela, dividiendo al grupo en distintas ubicaciones para comprobar la cobertura y estabilidad de la señal.
Esta práctica nos ayudó a demostrar el alcance del dispositivo LoRa como una solución viable para comunicaciones de largo alcance y bajo consumo.

Brayan Chan

Con esta práctica aprendimos paso a paso cómo funciona el módulo LoRa y cómo integrarlo con un Arduino Nano para armar un chat inalámbrico. Descubrimos lo sencillo que es programar el envío y la recepción de mensajes con un identificador propio, y vimos la importancia de configurar correctamente los módulos para que la comunicación no se caiga. Además, al movernos entre distintos puntos (el edificio S y luego los toldos), comprobamos hasta dónde llegaba la señal en un entorno real.

Esta práctica sobre cómo montar una red LoRa de largo alcance y bajo consumo fue muy interesante, ya que permite usarla en áreas donde no hay conexión a internet o para realizar tareas a larga distancia, como encender un motor.

Referencias.

CoLtd, C. E. E. T., & CoLtd, C. E. E. T. (s. f.). E22-900T22D_SX1262_Lora_Módulo_Chengdu Ebyte Electronic Technology Co.,Ltd-ES. Chengdu Ebyte Electronic Technology Co.,Ltd. https://www.es-ebyte.com/products/E22-900T22D

LORA E22-900T22D - Search videos. (s. f.). https://www.bing.com/videos/riverview/relatedvideo?q=LoRa+E22-900T22D&mid=2D8B0043967734BD15AB2D8B0043967734BD15AB&FORM=VIRE

 

Para comentar debes acceder Acceder

Comentarios


No hay comentarios en este post