Proyecto de Domótica: SmartRoom
Proyecto de Domótica: Smart Room
Habitación inteligente usando ESP-32 y ThingSpeak
Hola y bienvenidos a esta entrada. Aquí te mostraré paso a paso cómo realicé un proyecto personal denominado Smart Room, el cuál consiste, a grandes rasgos, en automatizar y controlar algunas funciones de mi habitación y estudio utilizando y aprovechando herramientas como el microprocesador ESP-32 y la plataforma de base de datos ThingSpeak, así como las facilidades que éstas nos brindan.
Descripción
Historia
Antes que nada, quiero explicarte de qué va todo esto. Estaba yo en proceso de remodelar mi habitación, eso implicaba una modificación de toda la parte eléctrica tanto de la habitación como de mi pequeño estudio, es decir, modificar las luces, apagadores, tomacorrientes, etc. Entonces, tuve una idea que quise realizar, y esa fue controlar las luces desde mi celular, como se hacen en las casas inteligentes.
Y bueno, con una idea vienen las demás, y es así como fui añadiendo procesos y funcionalidades de mi habitación. Entonces, básicamente, quise controlar en su totalidad mi habitación desde mi celular, y automatizar algunas tareas de la misma. Esto es justamente lo que hace la domótica, literalmente "Se llama domótica a los sistemas capaces de automatizar una vivienda, aportando servicios de gestión energética, seguridad, bienestar y comunicación, y que pueden estar integrados por medio de redes interiores y exteriores de comunicación, cableadas o inalámbricas, y cuyo control ser realiza desde dentro y fuera del hogar."
Generalmente
Diseñar e implementar un sistema propio de las funciones de domótica, el cual se puede observar y controlar desde cualquier dispositivo y cualquier parte del mundo, que brinde información dentro de ella en horas controladas y gestione algunas tareas de forma automática, propio de las funciones del Internet de las cosas (IoT), todo esto utilizando un microcontrolador ESP-32 y la plataforma de IoT ThingSpeak.
Específicamente
- Controlar, por el momento, 5 luces distribuidas entre habitación baño y estudio, por medio de internet.
- Censar Temperatura y humedad.
- Encendido automático de una lampara para iluminación de gradas por medio de un sensor.
- Enviar y visualizar la información de la temperatura, la humedad y las luces encendidas en la nube.
Proceso de diseño
En todo este proceso se describe paso a paso la realización de todas las partes que componen el proyecto, se inicia desde las partes más básicas hasta las más complejas.
ESP-32
Te presento el cerebro principal del proyecto, una breve descripción del microcontrolador ESP-32 y las propiedades que, de entre todas las que tiene, vamos a usar de él.
Las funciones que usaremos de él son:
- Conectividad Wi-Fi
- Interfaz periférica de comunicación I2C
- Puertos de entrada y salida para controlar diferentes funcionalidades.
Se utilizará el IDE de arduino para programar y utilizar el ESP-32. En este punto es necesario un poco de conocimiento de este módulo y cómo programarlo, puesto que este no será un curso introductorio al uso del ESP-32.
Pantalla OLED 128x64
![]() |
| Pantalla OLED 128x64 |
Después de todo el preámbulo, se inicia la primera acción práctica. Utilizaremos esta pantalla OLED de 128 x 64 pixeles para mostrar mensajes información y/o cualquier cosa que queramos en ella, es muy utilizada en proyectos por su bajo consumo, tamaño pequeño y gran capacidad de mostrar información.
Utilizaremos la comunicación I2C para poder comunicar nuestro ESP-32 y la pantalla, una de las grandes ventajas de esta pantalla es que no requiere otro elemento adicional para la comunicación I2C, puesto que ya posee un chip integrado que le permite realizar esta comunicación.
Aquí está el diagrama de conexión entre el ESP-32 y la pantalla
- 3.3V - VCC
- GND - GND
- D21 - SDA
- D22 - SCL ó SCK
Lo que vamos a hacer con esta pantalla, es simplemente mostrar un mensaje de bienvenida cuando se encienda todo el sistema, y después una pantalla donde se muestra toda la información del sistema. Le programación y ejecución la puedes observar en mi video, y el código lo puedes encontrar en mi GitHub.




Comentarios
Publicar un comentario