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
Conectar SX1278 LoRa: - Conectar pines SPI según diagrama - Asegurar conexión de antena - Verificar alimentación 3.3V
Conectar DS1302 RTC: - Conectar pines 3-wire según diagrama - Verificar batería de backup - Confirmar niveles de voltaje
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
Error de Compilación: - Verificar dependencias instaladas - Verificar versión de PlatformIO - Limpiar cache:
pio run --target cleanError de Subida: - Verificar puerto COM correcto - Mantener botón FLASH presionado durante subida - Verificar drivers de USB
Error de Comunicación LoRa: - Verificar conexiones de pines - Verificar antena conectada - Verificar alimentación estable
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:
Configurar Nodos Sensores: Conectar nodos a la red
Configurar Monitoreo: Implementar sistema de logging
Configurar Alertas: Implementar notificaciones
Optimizar Parámetros: Ajustar según condiciones específicas
Para más información, consulta la documentación completa en las siguientes secciones.