
Ecosistema de Interoperabilidad basado en
C++/MicroPython sobre plataformas Raspberry y
ESP32
Interoperability ecosystem based on C++/Micropython on Raspberry and ESP32
Platforms
Jo
rge Niño
1
, Marcos Politi, Maximiliano Gulfo, Camilo Quiroga, Lucien Lucangioli,
Hector Laiz
Dep. De Energías Renovables, Instituto Nacional de Tecnología Industrial
General Paz 5445, San Martín, Prov. de Bs. As, Argentina
1
jnino@inti.gob.ar
Resumen — El presente trabajo describe una solución
de bajo costo basada en el procesador ESP32 y un
controlador LoRa SX1276 para control de inversores
fotovoltaicos con interfaz WiFi, tanto en lenguaje C++
como MicroPython. También se presenta una solución en
Python para Raspberry. Para la prueba del firmware se
empleó la plataforma HELTEC. Se desarrollaron además
el hardware del ecosistema con diversas funcionalidades
y un firmware configurable para manejo de múltiples
interfaces con los inversores FV.
Palabras Clave—LoRa, Raspberry, HTTP, JSON,
ESP32, WiFi, Interoperabilidad, MicroPython, Python,
IoE, IoT.
Abstract —This work describes a low cost solution
based on ESP32 processor and the LoRa controller
SX1276 for interoperability of photovoltaic inverters with
WiFi interfaces. The system firmware is developed in C++
and MicroPython. Also, this work describes a solution on
Python for Raspberry. For the test of firmware solution,
we use a HELTEC platform. This work present also, a
development of Hardware solution on PCB with more
functionalities for different kind of interfaces in PV
inverters.
Keywords—LoRa, Raspberry, HTTP, JSON, ESP32,
WiFi, Interoperability, MicroPython, Python, IoE, IoT.
I. INTRODUCCIÓN
Los inversores on-grid están diseñados para operar
interconectados a la red eléctrica. Cuando hay energía solar
disponible, el sistema alimenta esta energía a la instalación
eléctrica que la requiera, y cuando la energía solar generada
no es suficiente para satisfacer la demanda, el sistema dirige
la energía de la red eléctrica. Si se genera más energía solar
que la necesaria, la energía se inyectaría a la red. En
determinados modelos de inversores fotovoltaicos se pueden
encontrar tanto interfaces MODBUS como WiFi [1], que
permiten acceder tanto a los datos de operación del inversor
como a los parámetros de configuración y operación del
mismo.
Se desarrollaron una serie de equipos capaces de
interactuar con el inversor, en una red local dentro del rango
del propio inversor. Los sistemas desarrollados están basados
en un microcontrolador de 32 bits de ESPRESSIF, el ESP32,
con el cual se realiza la comunicación con los inversores
fotovoltaicos y la plataforma Raspberry Pi modelo 3B+. Se
implementaron dos versiones del firmware, en MicroPython
y C++. Esta estrategia permite diversificar los equipos y la
potencia de procesamiento, que da flexibilidad al despliegue
de gran cantidad de equipos, en redes complejas. Para la
interfaz entre nodos de una red distribuida y el concentrador
o Gateway [2], el sistema de comunicación escogido es LoRa,
basándose en un controlador SX1276. Para el propio
Gateway se emplea tanto el ESP32, programado bajo el
firmware en C++, como una Raspberry programada en
Python conectada a un controlador SX1276.
II. ESQUEMA GENERAL
A. Topología de dispositivos
La topología de la red, descripta en la Fig. 1, muestra al
inversor conectado a la red local, mientras que el
concentrador o Gateway accederá al servidor AWS donde se
encuentra la plataforma de smartgrid. Por otro lado, se
mantiene la conexión del equipo MODBUS-ETH [3].
Fig. 1: Sistema de operación de inversores mediante Gateway-Nodo.
B. Reversebilidad y flexibilidad
La implementación de los nodos y Gateway WiFi-LoRa se
realizó de tal manera que se puedan configurar sus funciones
mediante una serie de macros, obteniendo flexibilidad y
Revista elektron, Vol. 7, No. 2, pp. 48-52 (2023)
Recibido: 29/09/23; Aceptado: 04/12/23
Creative Commons License - Attribution-NonCommercial-
NoDerivatives 4.0 International (CC BY-NC-ND 4.0)
https://doi.org/10.37537/rev.elektron.7.2.183.2023
Technical Report