Getting Started
Bienvenido a la documentación para desarrolladores de OmilooS — la interfaz de usuario y capa de control descentralizada para la Red de Infraestructura Física Descentralizada (DePIN) de energía soberana y telecomunicaciones locales del ecosistema Empoorio.
Esta guía te ayudará a compilar la aplicación, inicializar el simulador local, y conectar los drivers de hardware nativos.
Requisitos Previos
Antes de comenzar, asegúrate de tener configurado tu entorno de desarrollo con el siguiente software:
- Flutter SDK (v3.22.0 o superior)
- Rust Toolchain (v1.75.0 o superior, para compilar el bridge nativo
lora_drivery el motor de inferencia) - Dart & Cargo configurados en el PATH de tu sistema operativo.
Estructura del Repositorio
La arquitectura del proyecto sigue una separación clara entre la interfaz móvil (Flutter) y el daemon de hardware/criptografía en el Edge (Rust):
lib/: Código de la interfaz de usuario en Flutter, organizada según los principios de Clean Architecture.rust/: Módulos nativos de rendimiento crítico (procesamiento de tramas LoRa CRC, inferencia C++ local para AndromedaLM, y RPC de EmpoorioChain).test/: Suite de pruebas unitarias y de widgets de la aplicación.
Inicialización del Proyecto
1. Clonar el repositorio e instalar dependencias
Navega al directorio del proyecto y descarga las librerías necesarias de Flutter:
cd projects/Omiloos
flutter pub get2. Compilar el puente nativo de Rust (FFI)
OmilooS utiliza la tecnología flutter_rust_bridge (v2) para comunicar Dart con C++ y Rust en caliente. Inicializa y compila el crate nativo:
# Entrar a la carpeta rust y validar dependencias
cd rust
cargo build --release3. Ejecutar las pruebas automáticas
Para validar que todo el motor físico y de telecomunicaciones del planificador funcione adecuadamente en tu máquina de desarrollo, ejecuta la suite de tests:
flutter testConfiguración de Dispositivos (Modo Demo vs. Producción)
Para facilitar el desarrollo sin necesidad de contar con un inversor fotovoltaico real y un transceptor LoRa físico conectado por USB-OTG, la aplicación implementa una degradación de hardware resiliente:
A. Modo Simulación (Por Defecto)
Si la aplicación no puede resolver la IP configurada para el inversor (p. ej., 192.168.1.150:502), el origen de datos TelemetryModbusDatasource degrada silenciosamente a un generador de ruido gaussiano sobre curvas solares típicas de 24h. Esto te permite testear las gráficas de fl_chart y la reactividad de la UI sin necesidad de hardware.
B. Modo Producción
Cuando conectas un inversor compatible con SunSpec sobre tu red local Wi-Fi, ajusta los parámetros en el menú de Ajustes > Configuración Solar:
- Especifica la dirección IP local del inversor.
- Define el ID de unidad Modbus (Unit ID) correspondiente.
- Activa la inyección de red para comenzar a auditar transacciones.