Conectando tu PLC ESP32 a LoRaWAN

 

Introducción

LoRaWAN es una tecnología potente para redes de baja potencia y amplia cobertura, lo que la hace ideal para aplicaciones industriales. En esta guía, demostraremos cómo integrar LoRaWAN con un PLC ESP32, utilizando un módulo LoRa RN2483 y The Things Network (TTN). Al finalizar este tutorial, tendrás tu PLC ESP32 enviando datos a TTN.

Requisitos de Hardware

Antes de empezar, asegúrate de contar con lo siguiente:

  1. PLC ESP32: Controlador Lógico Programable basado en ESP32 de Industrial Shields.
  2. Módulo RN2483 Click: Un módulo LoRaWAN que se conecta a tu PLC ESP32.
  3. Conexiones
  • Slot 1 o Slot 2 en el PLC ESP32 (el Slot 2 está junto al conector Ethernet y requiere una configuración adicional de interruptores).
  1. Cable Micro USB: Para programar el PLC ESP32.

Configuración del Software

Antes de sumergirte en el código, asegúrate de tener:

  1. Arduino IDE: Instalado y configurado para programar dispositivos ESP32.
  2. Librería RN2483 para Arduino:

Registra tu dispositivo en TTN

  1. Accede a The Things Stack e inicia sesión.
  2. Crea un nuevo dispositivo y toma nota de las siguientes claves:
    • Device EUI
    • Application EUI
    • App Key

Estas claves se utilizarán en el código Arduino.

Código Arduino

A continuación tienes el código Arduino para configurar LoRaWAN en el PLC ESP32 y enviar datos a TTN. Sustituye las cadenas devEui, appEui y appKey por la información específica de tu dispositivo que obtuviste de TTN.

#include <rn2xx3.h>

// Constants for OTAA keys

const char* devEui = “0011223344556677”; // Replace with your Device EUI

const char* appEui = “0000000000000000”; // Replace with your Application EUI

const char* appKey = “00112233445566778899AABBCCDDEEFF”; // Replace with your App Key

// Create an instance of the rn2xx3 library

rn2xx3 myLora(SerialExp2);

// The setup routine runs once when you press reset:

void setup() {

Serial.begin(115200); // Serial port to computer

SerialExp2.begin(57600); // Serial port to radio

Serial.println(“Startup”);

initialize_radio();

// Transmit a startup message

myLora.tx(“TTN Mapper on TTN ESP32 node”);

delay(2000);

}

void initialize_radio() {

// Reset rn2483

pinMode(EXP2_RST, OUTPUT);

digitalWrite(EXP2_RST, LOW);

delay(1000);

digitalWrite(EXP2_RST, HIGH);

delay(1000); // Wait for the RN2xx3’s startup message

SerialExp2.flush();

Serial.println(“RN2xx3 firmware version:”);

Serial.println(myLora.sysver());

// Configure your keys and join the network

Serial.println(“Trying to join TTN”);

bool join_result = false;

join_result = myLora.initOTAA(appEui, appKey, devEui);

while (!join_result) {

Serial.println(“Unable to join. Are your keys correct, and do you have TTN coverage?”);

delay(60000); // Delay a minute before retry

join_result = myLora.init();

}

Serial.println(“Successfully joined TTN”);

}

// The loop routine runs over and over again forever:

void loop() {

Serial.println(“TXing”);

myLora.tx(“!”); // One byte, blocking function

delay(200);

}

Decodificador para TTN

Para visualizar los datos, añade el siguiente decodificador en “Payload Formatters” para los mensajes uplink en tu consola TTN:

function decodeUplink(input) {

return {

data: {

bytes: input.bytes

},

warnings: [],

errors: []

};

}

Esto mostrará los bytes en bruto enviados desde el PLC ESP32 en la consola de TTN.

Resumen de pasos clave

  1. Conecta el módulo RN2483 click al PLC ESP32 (se recomienda el Slot 2 por su flexibilidad).
  2. Configura el Arduino IDE con la librería RN2483.
  3. Registra tu dispositivo en TTN y copia las claves en el sketch de Arduino.
  4. Carga el código en el PLC ESP32.
  5. Supervisa la consola de TTN para ver los datos entrantes.

Consejos de Solución de Problemas

  • Sin respuesta de Join: Asegúrate de que tienes cobertura LoRaWAN y que las claves están correctamente configuradas en TTN.
  • Datos no visibles en la consola de TTN: Verifica la función de descodificación (decoder) y el formato de la carga útil en tu código.

Conclusión

Con esta configuración, tu PLC ESP32 está ahora conectado a una red LoRaWAN, transmitiendo datos a TTN. Esta es una base sólida para aplicaciones industriales IoT, como la monitorización de sensores, el seguimiento de activos o incluso soluciones de ciudades inteligentes.

 

Contáctanos

ventas@logicbus.com | soporte@logicbus.com | 55-5431-67-18 | Iniciar conversación

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *