Mostrando entradas con la etiqueta ESP2866. Mostrar todas las entradas
Mostrando entradas con la etiqueta ESP2866. Mostrar todas las entradas

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:



sábado, 15 de febrero de 2020

IoT fácil con NodeMCU



¿Qué es NodeMCU? 

NodeMCU es una placa de desarrollo de código abierto basada en un chip de bajo coste que dispone de WIFI, ESP 8266, y que es ampliamente utilizado en IoT (The Internet Of Things, El Internet de las Cosas). Asociado a un sinfín de sensores, software, y tecnologías varias, nos permite interconectar todo tipo de dispositivos cotidianos o industriales. A través de una nube, los dispositivos físicos pueden recopilar e intercambiar información y crear un limbo donde es posible la comunicación entre las personas y las cosas.

El autor de este blog no aporta lo que ya hay a raudales en Internet, aporta la experiencia y el código que puede dejar aquí, que en este caso puede ser muy interesante, tanto a nivel didáctico como técnico.

En esta entrada os cuento la experiencia de conectar la placa NodeMCU a la plataforma de código abierto Thinger.io, y activar a través de ella y del móvil el LED de la placa, y desde la placa, pulsando un pulsador, verificar como se manifiesta el widget de la plataforma y del móvil al ser actuado.

Podemos comenzar instalando ARDUINO 1.8.10.

Para poder brindar soporte para el chip ESP8266 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

Copiamos desde:

Y pegamos en Archivo --> Preferencias --> Ajustes



Instalamos luego con el Gestor de tarjetas  del entorno IDE de Arduino el paquete ESP8266 Community versión 2.6.2





ESP8266 Community version 2.6.2




Seleccionamos luego la placa NodeMCU 1.0 (ESP-12E Module)


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
 


Podéis comprobar si vamos bien, verificando con el siguiente código que los LEDs de la placa y el de la salida digital D1 se apagan y encienden alternativamente; el LED azul de la placa está invertido.

int ledPin5 = 5;            //GPI005 - D1

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);     // GPI002 - D4
  pinMode(ledPin5, OUTPUT);
}

void loop() {

  digitalWrite(LED_BUILTIN, HIGH);
  digitalWrite(ledPin5, HIGH); 

  delay(1000);                       // Espera un segundo
 
  digitalWrite(LED_BUILTIN, LOW);   
  digitalWrite(ledPin5, LOW);

  delay(1000);                       // Espera un segundo
}