ESP32: capacidades, ventajas y posibles usos
Con ESP32 es posible dar forma a todo el sistema de dispositivos interconectados que queremos para nuestra casa inteligente.
No es la única opción que tenemos, pero sí una de las más eficientes. Con ESP32, considerado el hermano mayor del ESP8266, es posible sacar más partido de lo que hoy en día el sector del IoT ofrece.
Control de sistemas agrícolas, control de cámaras frigoríficas o sistemas de alarma y seguridad son solo algunos ejemplos de lo que se puede llegar a crear utilizando este microcontrolador.
Y todo gracias a su potencia, y a su conectividad Wi-Fi y Bluetooth, con el SoC ESP32 podremos hacer que nuestros proyectos adquieran un nuevo nivel.
Capacidades de ESP32
No vamos a detenernos demasiado en desarrollar las capacidades técnicas de ESP32, pero sí es necesario indicar algunas de las más importantes para que te hagas una idea de las posibilidades que te ofrece esta máquina, pequeña pero matona.
Tiene un procesador Xtensa LX6 de 32 bits de doble núcleo, una velocidad de 160 Mhz (puede alcanzar los 240 Mhz), un co-procesador de ultra baja energía, memoria flash externa de hasta 16 MiB, memoria SRAM de 520 KiB y encriptación Flash.
Añade también su modo de arranque seguro, Wi-Fi 802.11 de 2.4 GHz, Bluetooth 4.2, ADC de 12 bits y 18 canales y otros añadidos muy molones, como sensor de temperatura, de efecto Hall, reloj RTC, sensores capacitivos, controladora host y slave… En fin, que está bien equipado, como ves.
Si te interesa, puedes echar un vistazo a la comparativa técnica que hicimos entre ESP32 y ESP8266 en ProgramarFacil, donde enfrentamos cara a cara a ambas placas y desarrollábamos más a fondo todo lo relacionado con su vertiente más técnica.
Pero todo este rollo de especificaciones, números y versiones no significa nada si no se le da un uso real y práctico. ESP32 permite explorar mogollón de posibilidades que seguramente ni siquiera nos habíamos planteado integrar en nuestro hogar.
Por ejemplo, desarrollar un servidor web. Sí, podemos hacerlo con ESP32 y es una idea fabulosa incorporarlo a nuestra domótica. Acciones como encender o apagar las luces, conocer la temperatura de una habitación en concreto o accionas los sistemas inteligentes de apertura y cierre de puertas y ventanas con cerraduras inteligentes se coordinarían desde un mismo servidor. Suena bien, ¿eh?
¿Para qué necesitamos ESP32? Para permitir que el microcontrolador que usemos se comunique vía TCP/IP, el protocolo de comunicaciones usado en todo el mundo en el segmento de la cobertura de servicios web. Recuerda que el microcontrolador debe poder comunicarse por Wi-Fi o cable. Y, si has estado leyendo un poco más arriba, habrás visto que ESP32 tiene conexión Wi-Fi, así que puedes ir olvidándote de los cables.
Un servidor web funciona como si tuviera varias capas. Se compone del frontend, el middleware y el backend. El frontend es la página que ves, esa tan chula que te encanta ver y que está pensada para que estés cuanto más tiempo mejor en ella. El middleware es la capa que se encarga de la inteligencia de la página (por ejemplo, remitiéndote a una pasarela de pagos al clicar en “pagar” cuando haces un pedido). El backend es la capa más profunda, y es donde se almacenan todos los datos de los usuarios que se han registrado.
Las conexiones web se basan en protocolos de comunicación que llevan a cabo acciones concretas. Por ejemplo, a través de la barra de direcciones se introduce una URL, el navegador envía una solicitud HTTP y esa solicitud se lee y se entiende para llevar a cabo la acción.
Si esa solicitud HTTP se envía al ESP32 para que la procese, ESP32 se encargará de leerla y convertirla en una acción. Por ejemplo, a través de nuestro smartphone podemos enviar una solicitud al servidor para ejecutar una acción de ON/OFF, como puede ser el encendido de una luz, la activación del aire acondicionado o el cierre de una cerradura inteligente.
Gracias a la aplicación de un servidor web hecho con ESP32 y aplicado a la domótica, podemos conectar cualquier dispositivo compatible con acciones de ON/OFF.
Para hacerlo, claro, habrá que trabajar con la librería que más nos convenga. WebServer.h, por ejemplo, es ideal para acciones aisladas; si queremos tener acceso a conexiones simultáneas, deberemos usar una como ESPASyncWebServer, que hará que ESP32 se comporte como un server asíncrono.
Ventajas y usos de ESP32
Usar ESP32 para crear nuestro propio servidor web desde el que coordinar todos nuestros aparatos de domótica es una idea muy atractiva, pero es muy legítimo querer disfrutar de todas sus posibilidades sin tener que pasar por la creación de ese servidor propio. Lo cierto es que, gracias a todas las ventajas que ofrece (un núcleo adicional -dos en total-, Bluetooth Low Energy, más pines ADC, inclusión de pines DAC, compatible con Wi-Fi 2.4 GHz), se puede sacar mucho más partido en el IoT.
Un uso práctico de ESP32 en el IoT: usar un sensor DHT22 con el fin de hacer lecturas recurrentes de los datos de humedad y temperatura del entorno. Es un proyecto básico que se puede hacer trasteando con la placa haciendo apenas unas pocas conexiones con el sensor y el microcontrolador. También se puede usar DHT11, si no dispones de la versión más avanzada del Datasheet, aunque el DHT22 es más estable.
Además, si queremos almacenar un registro de todos los datos y lecturas del sensor, podemos utilizar un software de recolección de datos para Excel, creando tablas con todos los datos obtenidos. Esto es útil si queremos no solo usar ESP32 para encender o apagar un humidificador o depurador de aire, sino también para extraer el nivel medio a la semana o al mes de la humedad del aire en un determinado espacio.
Otro punto fuerte de ESP32 es que puede ser utilizado con ESPHome sin necesidad de escribir código, tal y como explican los expertos de MejorAndroid encargados de explicar qué posibilidades ofrece ESPHome, y que han analizado sus usos adicionales con ESP32 en la domótica, así como la mejor manera de aprovechar sus especificaciones en el IoT.
Como ves, ESP32 ofrece un mundo de posibilidades. No solo te permite integrar todos tus dispositivos smart con aplicaciones en la domótica, sino que puedes usarlo para crear tu propio servidor web para tu ecosistema de dispositivos IoT, y utilizar herramientas adicionales para crear registros de los datos que esos mismos dispositivos recojan día a día.
Si esas posibilidades las expandes a toda tu red de aparatos inteligentes (aires acondicionados, luces, cerraduras, persianas, extractores de humo, humidificadores, enchufes…), podrás usar ESP32 como central de comunicaciones interdispositivos para coordinar cada solicitud que sea emitida por el dispositivo hasta el servidor. Y, si empleas una librería compatible con múltiples conexiones, podrás disponer de un servidor propio para tus aparatos de domótica capaz de coordinar varias solicitudes a la vez.