banner
Hogar / Blog / Configuración de una red LoRaWAN privada con la puerta de enlace WisGate Connect
Blog

Configuración de una red LoRaWAN privada con la puerta de enlace WisGate Connect

Apr 28, 2024Apr 28, 2024

En esta guía, explicaremos cómo configurar una red LoRaWAN privada utilizando la puerta de enlace WisGate Connect de RAKwireless basada en Raspberry Pi CM4 y Docker o Portainer para instalar NodeRED, InfluxDB, Grafana y otros paquetes necesarios para configurar nuestra puerta de enlace.

La conexión WisGate es una puerta de enlace bastante versátil con Gigabit y Ethernet de 2,5 Gbps además de varias opciones de conectividad inalámbrica opcionales como LoRaWAN, 4G LTE, 5G, WiFi 6, Zigbee, WiFi HaLoW y más que se pueden agregar a través de zócalos Mini PCIe o M.2, expansión a través de conectores WisBlock IO y un conector Raspberry Pi HAT de 40 pines. Comenzaremos viendo las características de la puerta de enlace en detalle, pero si ya sabe todo eso, puede saltar a la sección de configuración de la red privada LoRaWAN.

RAKwireless nos envió un modelo con una Raspberry Pi CM4 equipada con 4 GB de RAM y 32 GB de memoria eMMC, antenas GPS y LoRa, además de una carcasa metálica interior.

El kit también incluye fuente de alimentación y varios cables.

El panel frontal de la puerta de enlace viene con una pantalla OLED. tres ranuras para tarjetas SIM, conectores de antena GPS y LoRa y una ranura para tarjetas microSD. También hay dos orificios de antena más que no se utilizan en la configuración de nuestro modelo.

El panel trasero cuenta con dos puertos de entrada de energía (un bloque de terminales de 2 pines y un conector de CC), un encabezado UART, algunos LED, salida de video HDMI, puertos Gigabit Ethernet y 2,5 GbE, un puerto USB-C para actualizar el firmware a la Raspberry Módulo Pi CM4 y tres puertos USB 3.0, además de dos orificios de antena más que no se utilizan aquí.

Un desmontaje de la puerta de enlace muestra el módulo Raspberry Pi CM4 y LoRa, además de todas las opciones de expansión con dos mini zócalos PCIe adicionales, dos ranuras WisBlock, algo de espacio para un Raspberry Pi HAT interno, soporte PoE HAT opcional y más.

Aquí hay un recordatorio de las especificaciones de la placa principal de WisGate Connect (RAK7391):

RAKwirelss instaló un módulo RAK5146 LoRaWAN, una pantalla OLED y un módulo de cómputo Raspberry Pi 4 en el modelo que recibimos, pero la puerta de enlace se puede ampliar con cualquiera de los módulos de hardware y accesorios que se muestran en la siguiente tabla.

La arquitectura de software de la puerta de enlace muestra compatibilidad con Docker y eso es lo que usaremos para configurar una red LoRaWAN privada.

Hay dos formas de conectarse a la puerta de enlace WisGate Connect:

Iremos con la segunda opción. Conéctese al punto de acceso "RAK_1D4F" desde su host con la contraseña "rakwireless". En Windows, primero deberá hacer clic en "Conectarse usando una clave de seguridad" antes de ingresar la contraseña.

La dirección IP de la interfaz vlan0 ahora debería aparecer en la pantalla OLED de la puerta de enlace. Podemos usar esta dirección IP para conectarnos a la puerta de enlace a través de SSH usando el puerto 22. Ejecutamos Putty en Windows, pero también puede seleccionar otros programas compatibles con SSH.

Ahora podemos acceder al shell desde RAKPiOS usando el nombre de usuario “rak” y la contraseña “changeme”, que se nos pedirá que cambiemos la primera vez que nos conectemos.

Podemos encontrar algunos detalles más sobre RAKPiOS con el comando:

Si desea observar de cerca el código del sistema operativo, puede hacerlo en GitHub.

RAKwireless proporciona seis ejemplos de Docker Compose para su implementación en la puerta de enlace WisGate Connect RAK7391.

Usaremos el ejemplo Standalone_LoRaWAN_Gateway en este ejemplo, ya que debe coincidir estrechamente con nuestros requisitos.

Necesitaremos modificar “docker-compose.yml” y modificarlo para que coincida con la configuración de nuestra puerta de enlace (por ejemplo, EUI) y las opciones (por ejemplo, el módulo RAK5146).

Ahora podemos desplegar nuestros contenedores con Docker:

Ahora tenemos 7 contenedores ejecutándose en la puerta de enlace:

Este método es principalmente adecuado para personas familiarizadas con la línea de comandos de Docker (docker compose) y la configuración de YAML.

Aquí hay un ejemplo del uso de nuestro servidor de red LoRaWAN privado con The Things Stack al que podemos acceder con la dirección IP de la puerta de enlace.

Después de iniciar sesión en la interfaz, podemos registrar la puerta de enlace en The Things Network y compartirla con otros si así lo deseamos.

Si usar la línea de comando no es lo suyo, RAKwirless proporciona una interfaz de página web para habilitar contenedores a través de la plantilla Portainer para RAK7391. Aún necesitarás acceder a la puerta de enlace a través de SSH, pero solo se necesita un comando:

Desde allí, podemos copiar la URL proporcionada en el shell (por ejemplo, https://10.249.198.174:9443) y pegarla en nuestro navegador favorito. Nuestras pruebas se realizaron en Chrome en Windows.

Podemos iniciar sesión con el nombre de usuario “admin” y la contraseña “changeme” que se nos pedirá que cambiemos por una de al menos 12 caracteres.

Ahora podemos ir a la página de Configuración para agregar la URL "https://raw.githubusercontent.com/RAKWireless/portainer-templates/master/portainer_app_template.json" al campo "Plantilla de aplicación".

Aparecerá un nuevo menú de plantilla de aplicación y mostrará una lista de contenedores Docker con 35 plantillas de aplicación, como servidor de red LoRaWAN, Scada, servidor OPC-UA, PLC, Home Assistant, Zigbee, base de datos, paneles y más, como se muestra en la imagen. abajo.

En los siguientes pasos, utilizamos Portainer para construir una plataforma privada LoRaWAN que se ejecuta en la puerta de enlace WisGate Connect con UDP Packet Forwarder, ChirpStack, Node-RED, InfluxDB y Grafana.

El reenviador de paquetes udp interactúa con el chip LoRa para recibir y transferir paquetes LoRa. Puedes encontrar más detalles en GitHub.

El servidor de red ChirpStack LoRaWAN se utilizará junto con los servicios MQTT Mosquitto, Redis y Postgres para permitir la conectividad, administración y monitoreo de dispositivos, puertas de enlace y aplicaciones del usuario final.

El nombre de usuario y la contraseña predeterminados de ChirpStack son "admin". Se instalarán un total de 6 pilas de contenedores Docker en el siguiente orden:

Node-RED se configurará para suscribirse a los datos del enlace ascendente de ChirpStack utilizando el protocolo MQTT y descifrar los datos en la carga útil (algoritmo Base64) y almacenarlos en la base de datos InfluxDB o validar los datos para alertar a través de LINE Notify.

La base de datos de series temporales InfluxDB permite a Node-RED registrar datos obtenidos de los sensores. Nuevamente, solo es necesario modificar la zona horaria.

Antes de usar InfluxDB, deberá abrir la consola del contenedor para crear una base de datos de la siguiente manera:

Grafana visualizará los datos de InfluxDB en varios formatos, como gráficos, indicadores, cuadros, etc. Solo hay un parámetro para cambiar en Portainer antes de implementar el contenedor:

Ahora tenemos los siguientes contenedores y pilas Docker instalados y en funcionamiento en todo momento.

Ahora tenemos la misma plataforma privada LoRaWAN IoT que Ninephon usó en revisiones anteriores, excepto que la puerta de enlace es un Wisgate Connect más potente de RAKwireless que reemplaza un Dragino LG308 con un procesador MIPS de 400 MHz. El kit de desarrollo Link.ONE se utilizará como nodo LoRa para probar nuestra red privada LoRaWAN.

Ahora necesitaremos acceder al servidor de red ChirpStack yendo a http://:8080 e iniciar sesión con el nombre de usuario y contraseña predeterminados admin/admin, y cambiar la contraseña después del primer inicio de sesión.

Ahora podemos ir a la sección Gateways y agregar RAKwireless RAK7391 WisGate Connect a ChirpStack.

Podemos ver la lista de paquetes recibidos dentro del radio de la puerta de enlace en la pestaña “MARCOS LIVE LORAWAN”.

Ahora creemos una aplicación llamada "RAKWireless" en el menú Aplicaciones.

Ahora crearemos un nuevo dispositivo llamado LinkONE dentro de la aplicación “RAKwireless” usando el Dispositivo EUI 88 88 88 88 88 88 33 33.

Usaremos una clave OTAA (Activación por aire) ingresando 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 88 en el campo Clave de aplicación antes de hacer clic en el botón CONFIGURAR TECLAS DEL DISPOSITIVO.

El dispositivo de nodo sensor Link.ONE LoRaWAN se programó en el IDE de Arduino para leer el estado de la batería cada minuto y codificar los datos con Base64 antes de enviar un paquete a la puerta de enlace LoRaWAN.

Si está interesado en obtener más información sobre el kit de desarrollo Link.ONE, puede leer nuestra reseña “Uso del kit de desarrollo LPWAN todo en uno Link.ONE con ChipStark, Node-Red, InfluxDB y Grafana” para obtener más detalles.

Se puede acceder a la interfaz web de Node-RED yendo a http://:1880 y usaremos nodos de flujo como entrada MQTT, función, salida InfluxDB, solicitud HTTP y otros que RAKwireless ha instalado para admitir. dispositivos como Módulo WisBlock, ModBus, etc…

Node-RED almacenará automáticamente los datos del sensor y del sistema LoRaWAN en la base de datos de series temporales de InfluxDB y, si el nivel de la batería es bajo (<3,3 V), enviará una notificación a nuestro teléfono inteligente a través de la API LINE Notify.

Puede acceder al panel de Grafana abriendo la página web en http://:3000 usando admin/admin para iniciar sesión por primera vez. Se nos pedirá que cambiemos a una contraseña mejor, pero puede omitirla si aún no necesita cambiar la contraseña. El panel de Grafana lee los datos de la base de datos de series temporales de InfluxDB para mostrar el voltaje de la batería (V), la batería porcentaje (%) y consumo de energía durante la transmisión de datos (mW).

La puerta de enlace WisGate Connect estuvo apagada las 24 horas del día, los 7 días de la semana y funcionó normalmente en todo momento durante la revisión. La carcasa se siente cálida al tacto porque actúa como un disipador de calor para enfriar el módulo Raspberry Pi CM4 y esto garantiza que la puerta de enlace pueda funcionar sin un ventilador de refrigeración.

La puerta de enlace RAKwireless WisGate Connect es adecuada para desarrolladores que desean implementar varias redes de comunicación inalámbrica como LoRaWAN, 4G LTE, 5G, WiFi 6, Zigbee, WiFi HaLoW y más. Puede ahorrar costos con una sola máquina que actúa como puerta de enlace, servidor de red y servidor de aplicaciones, y no necesita un servidor separado. Sólo necesita configurarlo usted mismo, lo cual debería ser relativamente fácil siguiendo los pasos descritos anteriormente. Sin embargo, si lo único que necesitas es una puerta de enlace LoRaWAN, te recomendamos uno o el RAKwireless Wisgate Edge, más económico porque también es más fácil de usar, u otro modelo similar del mercado.

Nos gustaría agradecer a RAKwireless por enviarnos el kit WisGate Connect para su revisión. El precio comienza en $149 solo para la placa portadora RAK7391 Compute Module 4 (CM4), y hasta $531 para un sistema completo con Raspberry Pi CM4 (4GB, 32GB, WiFi), un módulo concentrador LoRaWAN de 16 canales y un gabinete para exteriores. El modelo analizado en este tutorial se vende por $381. También puede agregar varios módulos WisBlock si necesita sensores adicionales u opciones inalámbricas para la puerta de enlace.

CNXSoft: este tutorial está disponible para descargar desde Ninephon Kongangkab.

Jean-Luc fundó CNX Software en 2010 como una empresa a tiempo parcial, antes de dejar su trabajo como gerente de ingeniería de software y comenzar a escribir noticias diarias y reseñas a tiempo completo más adelante en 2011.

¡Soporte del software CNX! Done a través de criptomonedas o conviértase en patrocinador en Patreon

Artículos Relacionados:

La conexión WisGate