El módulo ESP32 ha ganado popularidad debido a su pequeño tamaño, enormes posibilidades, comunicación inalámbrica y bajo precio. Le permite crear un número ilimitado de proyectos de IoT utilizando varios tipos de sensores y otros actuadores. ESP también se utiliza en sistemas domésticos inteligentes, donde es visible como nodo. Gracias a la comunicación WiFi, no es necesario tender cables adicionales al panel de control, ya que los datos se envían a través de una red inalámbrica. En esta guía, conectaremos la placa de desarrollo WeMos D1 R32 basada en ESP32 para usarla mediante el Arduino IDE de una forma sencilla.

0. Componentes para la conexión de la placa WeMos D1 ESP32 R32

Para este tutorial ten solo necesitaremos la propia placa y el cable USB para su conexión.

  • Módulo WeMos D1 ESP32 R32
  • Cable microUSB

{Product:1755}{Product:1439}

Esta placa tiene el tamaño estándar de la Arduino UNO, con las funcionalidades del procesador ESP32 con WiFi y Bluetooth (BLE), por lo que es compatible con los shields para UNO.

Su Pinout es el siguiente:

1. Preparación de Arduino IDE para módulo ESP32

El módulo WeMos ESP32 se puede programar fácilmente en el entorno Arduino IDE. Para hacer esto, necesita cargar el paquete de mosaicos apropiado.

a)Para cargar placas ESP32, abra el IDE de Arduino, luego vaya a la  sección Archivo -> Preferencias y pegue el enlace en el campo URL adicionales en el administrador de la placa :

https://dl.espressif.com/dl/package_esp32_index.json

 y presione el botón OK.

b) El siguiente paso es instalar las placas ESP32. Vaya a  Herramientas -> Placa: -> Gestor de tarjetas... e ingrese "ESP32" en el campo y presione el botón Instalar.

c) Una vez que esté todo hecho, ve a Herramientas -> Placa -> Administrador de Placas, y luego selecciona "ESP32 Dev Module". También se puede seleccionar: DOIT ESP32 DEVKIT V1

d) una vez instaladas las librerías y seleccionada la placa, hay que seleccionar el puerto COM correspondiente. PAra ello puedes abrir el Administrador de Dispositivos y ver en que puerto COM está nuestra placa con el CH340.

2. Códigos de ejemplo para la placa WeMos D1 ESP32 WROOM WiFi 

Hola Mundo!

a) Crea un nuevo sketch en blanco, y pega el siguiente código:

void setup() {
 Serial.begin(112500);
 pinMode(2, OUTPUT);
 vTaskDelay(1000 / portTICK_PERIOD_MS);
 xTaskCreate(task1,"task1", 2048, NULL,1,NULL);
 xTaskCreate(task2,"task2", 2048, NULL,1,NULL); 
}
void loop() {
 vTaskDelay(1000 / portTICK_PERIOD_MS);
}
void task1( void * parameter )
{
  while(1) {
   Serial.println("Hello World!");
   vTaskDelay(1000 / portTICK_PERIOD_MS);
  }
}
void task2( void * parameter)
{
  while(1) {
     digitalWrite(2, HIGH);
     vTaskDelay(500 / portTICK_PERIOD_MS);
     digitalWrite(2, LOW);
     vTaskDelay(500 / portTICK_PERIOD_MS);
  } 
}

b) Guarda el proyecto y súbelo.

c) Abre un programa de terminal como PuTTY o el Monitor Serial desde la pestaña herramientas, y verás que se imprime por pantalla el mensaje "Hello World!" cada segundo, y el LED de la placa parpadea  500ms.

WiFi Scan

En este ejemplo vamos a buscar las redes WiFi disponibles con nuestra placa.

a) Para ello lo primero es instalar las librerías necesarias si no las tenemos ya. Descarga el ZIP desde este enlace:

https://github.com/espressif/arduino-esp32

b) Puedes instalarlo directamente desde el Arduino IDE en la pestaña Programa > Incluir librería > Añadir bilioteca .ZIP. O tmabién puedes descomprimir la carpeta dentro del directorio donde estén las librerías de Arduino. Después de esto último se recomienda reiniciar el Arduino IDE o al menos abrir el gestor de liberias para que se actualice el estado. 

c) Ahora iremos a Archivo > Ejemplos > Wifi > WifiScan

d) Tendremos el siguiente código, que compilamos y subimos.

e) Ahora abrimos el Monitor Serial o el Terminal que queramos (configurando los baudios por igual) y veremos las redes WiFi disponibles.

Estos son ejemplos básicos de uso de esta placa, podemos ver muchos más en los ejemplos de la librería que hemos descargado.