Skip to main content

Módulo Gateway LoRaWAN® WM1302

pir

pir

LoRaWAN® es una marca utilizada bajo licencia de LoRa Alliance®. La marca LoRa® es una marca comercial de Semtech Corporation o sus subsidiarias.

note

Recientemente hemos lanzado la Serie Wio-E5 basada en el módulo Wio-E5.

Haz clic aquí para conocer los nuevos miembros de la familia LoRa-E5 desde el Módulo Wio-E5 módulo Grove, placas de desarrollo mini hasta el Kit de Desarrollo.

Para aprender más sobre la creación de un Nodo Final LoRaWAN® con el Paquete MCU STM32Cube para la serie STM32WL (SDK), para unirse y enviar datos a la Red LoRaWAN®, lee más en las páginas wiki para placas de desarrollo mini y Kit de Desarrollo.

El módulo WM1302 es una nueva generación de módulo gateway LoRaWAN® con factor de forma mini-PCIe. Basado en el chip LoRaWAN® de banda base Semtech® SX1302, el WM1302 desbloquea el mayor potencial de capacidad de transmisión inalámbrica de largo alcance para productos gateway. Presenta mayor sensibilidad, menor consumo de energía y menor temperatura de operación que los chips LoRa® anteriores SX1301 y SX1308.

El módulo gateway LoRaWAN® WM1302 tiene versiones SPI y USB en las bandas de frecuencia US915 y EU868, permitiéndote tener una amplia gama de opciones de planes de frecuencia LoRaWAN® para elegir incluyendo EU868, US915, AS923, AS920, AU915, KR920 e IN865.

El módulo WM1302 está certificado CE, FCC y Telec, lo que ayuda a simplificar el proceso de desarrollo y certificación de los dispositivos gateway LoRaWAN®.

El WM1302 está diseñado para aplicaciones M2M e IoT y puede ser ampliamente aplicado en escenarios compatibles con gateway LPWAN. Sería una elección perfecta para reducir significativamente las dificultades técnicas y el tiempo de consumo al desarrollar dispositivos gateway LoRa®, incluyendo gateway LoRaWAN®, hotspots, etc.

Características

  • Alimentado por el chip LoRa® de banda base Semtech® SX1302, consumo de energía extremadamente bajo y alto rendimiento.
  • Factor de forma Mini-PCIe con el conector dorado estándar de 52 pines, fácil de integrar con varios dispositivos gateway.
  • Temperatura de operación ultra-baja, no se necesita disipación de calor adicional, reduciendo el tamaño del gateway LoRaWAN®.
  • Alta sensibilidad hasta -139 dBm @SF12 con front-end TX/RX SX1250; potencia TX hasta 26 dBm @3.3V.
  • Certificado con CE, FCC y TELEC. Simplifica el proceso de certificación del producto final.

Descripción General del Hardware

Diagrama

pir

Pinout

pir

pir


Mapeo de Pinout de Raspberry Pi

Pin No. 40 (BOARD#)Raspberry Pi GPIO(BCM#)Pinout WM1302 Pi HAT
13.3VNC
25V5V
3GPIO 2I2C_SDA
45V5V
5GPIO 3I2C_SCL
6GNDGND
7GPIO 4NC
8GPIO 14GPS_RXD
9GNDGND
10GPIO 15GPS_TXD
11GPIO 17SX1302_RESET
Versión SPI: Activo ALTO
Versión USB: Activo BAJO
12GPIO 18SX1262_BUSY
13GPIO 27NC
14GNDGND
15GPIO 22NC
16GPIO 23SX1262_DIO1
173.3VNC
18GPIO 24SX1262_DIO2
19GPIO 10SPI_MOSI
20GNDGND
21GPIO 9SPI_MISO
22GPIO 25GPS_RST
23GPIO 11SPI_SCK
24GPIO 8SX1302_CS
25GNDGND
26GPIO 7NC
27GPIO 0I2C_SDA(EEPROM)
28GPIO 1I2C_SCL(EEPROM)
29GPIO 5SX1262_RST
30GNDGND
31GPIO 6SX1262_CS
32GPIO 12GPS_WAKE_UP
33GPIO 13NC
34GNDGND
35GPIO 19NC
36GPIO 16NC
37GPIO 26NC
38GPIO 20NC
39GNDGND
40GPIO 21NC

Especificaciones

RegiónEU868US915
Frecuencia863-870MHz902-928MHz
Sensibilidad-125dBm @125K/SF7
-139dBm @125K/SF12
-125dBm @125K/SF7
-139dBm @125K/SF12
Potencia TX26 dBm (con fuente de alimentación de 3.3V)25 dBm (con fuente de alimentación de 3.3V)
LEDsAlimentación: Verde Config: Rojo TX: Verde RX: Azul
Factor de FormaMini PCIe, Conector Dorado de 52 pines
Consumo de Energía (versión SPI)Standby: 7.5 mA
TX potencia máxima: 415 mA
RX: 40 mA
Consumo de Energía (versión USB)Standby: 20 mA
TX potencia máxima: 425 mA
RX: 53 mA
LBT(Listen Before Talk)Soporte
Conector de AntenaU.FL
Temperatura de Funcionamiento-40°C a 85°C
Dimensiones30 mm (ancho) × 50.95 mm (largo)
CertificaciónCE

Aplicación

  • Desarrollo de dispositivos Gateway LPWAN

  • Desarrollo de cualquier aplicación de comunicación inalámbrica de larga distancia

  • Aprendizaje e investigación de aplicaciones LoRa® y LoRaWAN®

Dimensión

pir

Introducción

Diferencia entre la versión SPI y la versión USB

Para el Módulo Gateway LoRaWAN® WM1302 versión SPI, los chips Semtech SX1302 y SX126x están conectados a Raspberry Pi a través del mismo bus SPI con diferentes pines de selección de chip (CS).

Para el Módulo Gateway LoRaWAN® WM1302 versión USB, los chips Semtech SX1302 y SX126x están conectados a un MCU STM32L4, y este MCU programado de fábrica funcionará como un dispositivo USB, convirtiéndose en un puente entre Raspberry Pi y SX1302/SX126x.

Inicio Rápido con WM1302

Hardware Requerido

  • Módulo Gateway LoRaWAN® WM1302

  • Placas Raspberry Pi con conector GPIO de 40 pines (ej. Raspberry Pi 4B o Raspberry 3B+)

  • WM1302 Pi Hat para Raspberry Pi

  • Adaptador de Alimentación para Raspberry Pi

  • Una antena LoRa®

  • Una tarjeta SD de 8G o mayor y un lector de tarjetas

  • Un cable USB Type C si usas el Módulo Gateway LoRaWAN® WM1302 versión USB

Software Requerido


Paso1. Montaje del WM1302 Raspberry Pi Hat e instalación del módulo WM1302

Apaga primero la Raspberry Pi, inserta el módulo WM1302 en el Pi Hat como se muestra en la siguiente imagen y atorníllalo.

pir

Paso2. Habilitar las interfaces I2C y SPI de Raspbian

El módulo WM1302 se comunica con Raspberry Pi a través de las interfaces SPI e I2C. Pero estas dos interfaces no están habilitadas por defecto en Raspbian, por lo que el desarrollador necesita habilitarlas antes de usar WM1302. Aquí, introducimos una forma de línea de comandos para habilitar las interfaces SPI e I2C.

Primero, inicia sesión en Raspberry Pi vía SSH o usando un monitor (no uses la consola serie ya que el módulo GPS en el Pi Hat toma control de los pines UART de hardware del Pi), luego escribe sudo raspi-config en la línea de comandos para abrir la Herramienta de Configuración de Software de Raspberry Pi:

sudo raspi-config

pir

  1. Selecciona Interface Options

  2. Selecciona SPI, luego selecciona Yes para habilitarlo

  3. Selecciona I2C, luego selecciona Yes para habilitarlo

  4. Selecciona Serial Port, luego selecciona No para "Would you like a login shell..." y selecciona Yes para "Would you like the serial port hardware..."

  5. Después de esto, por favor reinicia Raspberry Pi para asegurar que estas configuraciones funcionen.

Paso3. Obtener y compilar el código fuente SX1302

Ahora instalemos git y descarguemos sx1302_hal (biblioteca y programas para SX1302 LoRa Gateway) desde github:

sudo apt update
sudo apt install -y git
cd ~
git clone https://github.com/Lora-net/sx1302_hal

Muévete a la carpeta sx1302_hal y compila todo:

cd ~/sx1302_hal
make

Paso4. Ejecutar el reenviador de paquetes Semtech SX1302

Copia reset_lgw.sh a la carpeta packet_forwarder, y modifica el reset pin para SX1302 y SX1261 en el script reset_lgw.sh con el editor de texto nano:

cp tools/reset_lgw.sh packet_forwarder/
cd packet_forwarder
nano tools/reset_lgw.sh

Verás el reset pin por defecto como sigue:

# GPIO mapping has to be adapted with HW
#

SX1302_RESET_PIN=23 # SX1302 reset
SX1302_POWER_EN_PIN=18 # SX1302 power enable
SX1261_RESET_PIN=22 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)

Modifica el SX1302_RESET_PIN, SX1302_POWER_EN_PIN y SX1261_RESET_PIN como sigue:

# GPIO mapping has to be adapted with HW
#

SX1302_RESET_PIN=588 # SX1302 reset
SX1302_POWER_EN_PIN=589 # SX1302 power enable
SX1261_RESET_PIN=576 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)

Guarda estos cambios presionando CTRL + x, seguido de y y Enter para cerrar el editor de texto.


También puedes consultar el script completo a continuación:

reset_lgw.sh
#!/bin/sh

# This script is intended to be used on SX1302 CoreCell platform, it performs
# the following actions:
# - export/unpexort GPIO23 and GPIO18 used to reset the SX1302 chip and to enable the LDOs
# - export/unexport GPIO22 used to reset the optional SX1261 radio used for LBT/Spectral Scan
#
# Usage examples:
# ./reset_lgw.sh stop
# ./reset_lgw.sh start

# GPIO mapping has to be adapted with HW
#

SX1302_RESET_PIN=588 # SX1302 reset
SX1302_POWER_EN_PIN=589 # SX1302 power enable
SX1261_RESET_PIN=576 # SX1261 reset (LBT / Spectral Scan)
AD5338R_RESET_PIN=13 # AD5338R reset (full-duplex CN490 reference design)

WAIT_GPIO() {
sleep 0.1
}

init() {
# setup GPIOs
echo "$SX1302_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$SX1261_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$SX1302_POWER_EN_PIN" > /sys/class/gpio/export; WAIT_GPIO
echo "$AD5338R_RESET_PIN" > /sys/class/gpio/export; WAIT_GPIO

# set GPIOs as output
echo "out" > /sys/class/gpio/gpio$SX1302_RESET_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$SX1261_RESET_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$SX1302_POWER_EN_PIN/direction; WAIT_GPIO
echo "out" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/direction; WAIT_GPIO
}

reset() {
echo "CoreCell reset through GPIO$SX1302_RESET_PIN..."
echo "SX1261 reset through GPIO$SX1302_RESET_PIN..."
echo "CoreCell power enable through GPIO$SX1302_POWER_EN_PIN..."
echo "CoreCell ADC reset through GPIO$AD5338R_RESET_PIN..."

# write output for SX1302 CoreCell power_enable and reset
echo "1" > /sys/class/gpio/gpio$SX1302_POWER_EN_PIN/value; WAIT_GPIO

echo "1" > /sys/class/gpio/gpio$SX1302_RESET_PIN/value; WAIT_GPIO
echo "0" > /sys/class/gpio/gpio$SX1302_RESET_PIN/value; WAIT_GPIO

echo "0" > /sys/class/gpio/gpio$SX1261_RESET_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$SX1261_RESET_PIN/value; WAIT_GPIO

echo "0" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
echo "1" > /sys/class/gpio/gpio$AD5338R_RESET_PIN/value; WAIT_GPIO
}

term() {
# cleanup all GPIOs
if [ -d /sys/class/gpio/gpio$SX1302_RESET_PIN ]
then
echo "$SX1302_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$SX1261_RESET_PIN ]
then
echo "$SX1261_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$SX1302_POWER_EN_PIN ]
then
echo "$SX1302_POWER_EN_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
if [ -d /sys/class/gpio/gpio$AD5338R_RESET_PIN ]
then
echo "$AD5338R_RESET_PIN" > /sys/class/gpio/unexport; WAIT_GPIO
fi
}

case "$1" in
start)
term # just in case
init
reset
;;
stop)
reset
term
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac

exit 0


Elige tu Servidor de Red LoRaWAN preferido server_address y el EUI del gateway gateway_ID en el correspondiente global_conf.json.sx1250.xxxxx basado en el módulo que estés usando, y modifica el up/down port a 1700. Luego ejecuta el siguiente código para iniciar el concentrador:

cd ~/sx1302_hal/packet_forwarder

# Please select one of the following comands based on your module
# for WM1302 LoRaWAN Gateway Module (SPI) - EU868
./lora_pkt_fwd -c global_conf.json.sx1250.EU868

# for WM1302 LoRaWAN Gateway Module (SPI) - US915
./lora_pkt_fwd -c global_conf.json.sx1250.US915

Ahora, el reenviador de paquetes puede ejecutarse correctamente. Para reenviar exitosamente los datos a nuestro Servidor de Red LoRaWAN (por ejemplo, TTN o ChirpStack), aún necesitamos hacer algunas configuraciones en el lado del servidor.

Para hacer eso, necesitamos registrar primero el Gateway de Raspberry Pi que acabamos de construir en nuestro Servidor de Red LoRa. Tomando TTN como ejemplo, inicia sesión en la consola TTN, haz clic en el botón Gateways en el panel del lado izquierdo y haz clic en Register gateway. Completa el Gateway EUI, Gateway Server address y Frequency plan, deja las otras opciones con la configuración predeterminada.

  • Gateway EUI: Un identificador único de 64 bits para tu gateway.

  • Gateway Server address: La URL del clúster en el que está desplegado el servidor de red (eu1.cloud.thethings.network por ejemplo).

  • Frequency plan: Configura el plan de frecuencia correspondiente basado en tu región. Europe 863-870 MHz (SF9 for RX2-recommended) para Europa, United States 902-928 MHz, FSB 2 para EE.UU.

pir


Después de registrar exitosamente el gateway, presiona CTRL + c para detener lora_pkt_fwd, luego edita y verifica el archivo de configuración global_conf.json.sx1250.xxxx para asegurar que las entradas "gateway_ID" y "server_address" coincidan exactamente con la configuración en LNS.

    ...
"gateway_conf": {
"gateway_ID": "AA555A0000000000",
/* change with default server address/ports */
"server_address": "eu1.cloud.thethings.network",
"serv_port_up": 1700,
"serv_port_down": 1700,
...

Reinicia lora_pkt_fwd usando el comando ./lora_pkt_fwd -c global_conf.json.sx1250.xxxxx, y deberías poder encontrar que tu Gateway de Raspberry Pi está conectado a TTN.

Preguntas Frecuentes

¿Por qué mis dispositivos no pueden unirse al servidor de red incluso si todas las configuraciones son correctas?

Hemos observado que ciertos módulos (versión USB WM1302-US915) pueden fallar al transmitir paquetes de datos de enlace descendente correctamente debido a diferencias del hardware. Para solucionar este problema, por favor modifica el valor de la macro TX_JIT_DELAY (puedes encontrar esta macro en /sx1302_hal/packet_forwarder/src/jitqueue.c) de 40000 a 120000 y recompila el sx1302_hal.

Fuentes

Certificados

Soporte Técnico y Discusión de Productos

Por favor envía cualquier problema técnico a nuestro foro.

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...