Instalación del Sistema Gateway

Esta guía te ayudará a instalar y configurar el Sistema Gateway Agrícola en tu entorno de desarrollo.

Requisitos del Sistema

Hardware Requerido

  • ESP8266 (NodeMCU, Wemos D1 Mini, o similar)

  • Módulo LoRa SX1278 (RFM95W)

  • RTC DS1302 con interfaz 3-wire

  • Antena LoRa (433MHz)

  • Cables de conexión

  • Fuente de alimentación (3.3V, 500mA mínimo)

Software Requerido

  • PlatformIO o Arduino IDE

  • Python 3.7+ (para documentación)

  • Git (para control de versiones)

Instalación del Entorno de Desarrollo

1. Instalar PlatformIO

# Instalar PlatformIO Core
pip install platformio

# Verificar instalación
pio --version

2. Clonar el Repositorio

# Clonar el repositorio
git clone https://github.com/agro-iot/gateway.git
cd gateway

# Cambiar a la rama de desarrollo
git checkout doc_generate

3. Instalar Dependencias

# Instalar dependencias de Python para documentación
pip install sphinx sphinx-rtd-theme myst-parser

# Instalar dependencias del proyecto
pio lib install "RadioHead"
pio lib install "CRC32"
pio lib install "LittleFS"
pio lib install "andrewrapp/RtcDS1302"

Configuración del Hardware

Diagrama de Conexiones

ESP8266          SX1278 LoRa
--------         -----------
D2 (GPIO4)  -->  NSS (CS)
D1 (GPIO5)  -->  DIO0 (INT)
D5 (GPIO14) -->  SCK
D7 (GPIO13) -->  MOSI
D6 (GPIO12) -->  MISO
GND         -->  GND
3.3V        -->  VCC

ESP8266          DS1302 RTC
--------         -----------
D0 (GPIO16) -->  RST
D2 (GPIO4)  -->  DAT
D3 (GPIO0)  -->  CLK
GND         -->  GND
3.3V        -->  VCC

Pasos de Conexión

  1. Conectar SX1278 LoRa: - Conectar pines SPI según diagrama - Asegurar conexión de antena - Verificar alimentación 3.3V

  2. Conectar DS1302 RTC: - Conectar pines 3-wire según diagrama - Verificar batería de backup - Confirmar niveles de voltaje

  3. Verificar Conexiones: - Usar multímetro para verificar continuidad - Confirmar que no hay cortocircuitos - Verificar polaridad de componentes

Configuración del Software

1. Configurar PlatformIO

Editar el archivo platformio.ini:

[env:esp12e]
platform = espressif8266
board = esp12e
framework = arduino
monitor_speed = 115200
upload_speed = 921600
lib_deps =
    RadioHead
    CRC32
    LittleFS
    andrewrapp/RtcDS1302

2. Configurar Parámetros

Editar el archivo src/config.h según tus necesidades:

// Configuración de pines
#define RFM95_CS 2
#define RFM95_INT 5
#define RTC_CLK 18
#define RTC_DAT 19
#define RTC_RST 4

// Configuración de red
#define MAX_NODES 250
#define TIMEOUTGRAL 2000
#define INTERVALOANNOUNCE 5000

Compilación y Subida

1. Compilar el Proyecto

# Compilar para ESP8266
pio run --target build

2. Subir Firmware

# Subir firmware (reemplazar COM7 con tu puerto)
pio run --target upload --upload-port COM7

3. Verificar Instalación

# Abrir monitor serial
pio device monitor --port COM7

# Deberías ver mensajes como:
# "Inicializando LittleFS en sketch principal..."
# "RF95 MESH init okay"
# "RTC inicializado correctamente"

Configuración de Red

1. Configurar Frecuencia LoRa

Editar en src/radio_manager.cpp:

// Configurar frecuencia (433MHz para Europa)
driver.setFrequency(433.0);

2. Configurar Potencia de Transmisión

// Configurar potencia (hasta 20dBm)
driver.setTxPower(20, false);

3. Configurar Parámetros de Red

// Configurar spreading factor (SF7-SF12)
driver.setSignalBandwidth(125E3);
driver.setCodingRate4(5);
driver.setSpreadingFactor(7);

Verificación del Sistema

1. Pruebas Básicas

# Verificar comunicación LoRa
pio device monitor --port COM7
# Buscar mensajes: "RF95 MESH init okay"

# Verificar RTC
# Buscar mensajes: "RTC inicializado correctamente"

2. Pruebas de Red

# Verificar anuncios de red
# Buscar mensajes: "enviando announce KEY"

# Verificar recepción de HELLO
# Buscar mensajes: "AppLogic::handleHello()"

3. Pruebas de Datos

# Verificar solicitud de datos
# Buscar mensajes: "requestAtmosphericData()"

# Verificar almacenamiento
# Buscar mensajes: "Datos almacenados correctamente"

Solución de Problemas

Problemas Comunes

  1. Error de Compilación: - Verificar dependencias instaladas - Verificar versión de PlatformIO - Limpiar cache: pio run --target clean

  2. Error de Subida: - Verificar puerto COM correcto - Mantener botón FLASH presionado durante subida - Verificar drivers de USB

  3. Error de Comunicación LoRa: - Verificar conexiones de pines - Verificar antena conectada - Verificar alimentación estable

  4. Error de RTC: - Verificar conexiones 3-wire - Verificar batería de backup - Verificar niveles de voltaje

Comandos de Diagnóstico

# Verificar estado del sistema
pio device monitor --port COM7 --baud 115200

# Limpiar y recompilar
pio run --target clean
pio run --target build

# Verificar dependencias
pio lib list

# Actualizar dependencias
pio lib update

Próximos Pasos

Una vez que el sistema esté instalado y funcionando:

  1. Configurar Nodos Sensores: Conectar nodos a la red

  2. Configurar Monitoreo: Implementar sistema de logging

  3. Configurar Alertas: Implementar notificaciones

  4. Optimizar Parámetros: Ajustar según condiciones específicas

Para más información, consulta la documentación completa en las siguientes secciones.