martes, 28 de julio de 2020

Panel solar con nodeMCU



Desde hace ya algún tiempo, dispongo de un panel solar que está muerto de risa y que no sabía qué hacer con él. Al final, con el nodeMCU olvidado que tenía por casa y el panel solar os brindo esta entrada, que apunta a una idea muy simple de cómo monitorizar un panel solar midiendo su voltaje, temperatura y humedad, y calculando para una carga dada su potencia y rendimiento.
Voy a ahorrarme todo el rollo posible ya comentado en una entrada anterior titulada IoT fácil con nodeMCU

Primero instalamos la última versión de Arduino. El archivo que lo contiene lo descomprimimos en una carpeta:


Luego lo instalamos usando el terminal como root usando el comando sh:


sh install.sh


Para poder brindar soporte para el chip ESP8266 del nodeMCU al entorno Arduino, permitiendo crear sketches utilizando funciones y bibliotecas conocidas por Arduino, tenemos que añadir desde la siguiente web de GitHub - esp8266 de Arduino, en Archivo --> Preferencias --> Ajustes, el enlace al archivo package_esp8266com_index.json



Instalamos luego con el Gestor de tarjetas  del entorno IDE de Arduino la última versión del paquete ESP8266 Community versión 2.7.2


Última versión del paquete ESP8266 Community:


Finalmente, seleccionamos la placa NodeMCU 1.0 (ESP-12E Module)



A continuación instalamos una serie de librerías hechas por terceros que usamos para facilitar la programación con dispositivos diversos; así, por ejemplo, el sensor de humedad y temperatura DHT11 requiere una librería especifica para poder usarlo con facilidad en los sketch de programación.

Instalamos las librería requeridas para el DHT11: DHT sensor library by Adafruit Versión 1.3.10 y la Adafruit Unified Sensor by Adafruit Versión 1.1.4. Para ello nos dirigimos al menú Herramientas -> Administrar bibliotecas... y las buscamos para instalarlas desde el Gestor de Librerías. Usar la última versión, y si da algún error volver a la versión anterior (antes de instalar una, desinstalar la otra).


Para poder trabajar con facilidad con Thinger.io debemos instalar otra librería más: Thinger.io by Álvaro Luis Bustamante Versión 2.13.0 o superior


En Linux, si no se abren los puertos serie USB, es decir, no hay comunicación con la placa a través de ellos, debemos ejecutar el siguiente comando en el Terminal de root:

usermod -a -G dialout usuario

Elegimos luego el puerto correspondiente: