En este tutorial, te mostraremos cómo controlar luces a través de Internet utilizando un ESP32 y la plataforma ThingSpeak. Imagina poder encender o apagar las luces de tu hogar desde cualquier parte del mundo con solo un par de clics, o incluso automatizar el proceso basándote en datos en tiempo real. Esto es posible gracias a la combinación del ESP32, un potente microcontrolador con conectividad WiFi, y ThingSpeak, un servicio en la nube que permite almacenar y procesar datos de sensores y otros dispositivos.
Tal vez pueda interesarte proyectos en arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas
A lo largo de este tutorial, aprenderás a configurar tu ESP32 para conectarse a ThingSpeak, leer datos desde un canal específico y actuar sobre esos datos encendiendo o apagando luces. Este proyecto es ideal para quienes desean adentrarse en el mundo del Internet de las Cosas (IoT) y explorar cómo los dispositivos conectados pueden interactuar con servicios en la nube para crear soluciones inteligentes.
Ya sea que estés buscando una manera de automatizar tu hogar, crear un sistema de iluminación remoto, o simplemente quieras experimentar con IoT, este tutorial te guiará paso a paso para que puedas lograrlo de manera sencilla y efectiva.
Un Esp32
Características del módulo ESP32-T
Conectividad
El módulo ESP32 dispone de todas las variantes del WiFi:
- 802.11 b/g/n/e/i/n
- Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management
Esta versión nueva incluye la conectividad mediante Bluethoot de bajo consumo
- Bluetooth v4.2 BR/EDR and BLE
- BLE Beacon
Además, puede comunicarse mediante los protocoles SPI, I2C, UART, MAC Ethernet, Host SD
Prestaciones del microcontrolador
La CPU está formado por un SoC modelo Tensilica LX6 con las siguientes características y memoria
- Doble núcleo de 32 bits con velocidad de 160MHz
- Memoria ROM de 448 kBytes
- Memoria SRAM de 520kBytes
Dispne de 48 Pines
- 18 ADC de 12 bits
- 2 DAC de 8 bits
- 10 pines sensores de contacto
- 16 PWM
- 20 Entradas/salidas digitales
Alimentación y modos de consumo
Para un correcto funcionamiento del ESP32 es necesario subministrar un voltaje de entre 2,8V y 3,6V. La energía que consume depende del modo de funcionamiento. Contiene un modo, el Ultra Low Power Solution (ULP), en que se continúan realizando tareas básicas (ADC, RTC…) en el modo Sleep.
Pines hembra
Cables dupont hembra macho
PCB
Descargar archivo gerber –> Gerber_esp32
Módulo Relay
ESPECIFICACIONES TÉCNICAS
- Voltaje de Operación: 5V DC
- Señal de Control: TTL (3.3V o 5V)
- Nº de Relays (canales): 1 CH
- Capacidad máx: 10A/250VAC, 10A/30VDC
- Corriente máx: 10A (NO), 5A (NC)
- Tiempo de acción: 10 ms / 5 ms
- Para activar salida NO: 0 Voltios
Código Fuente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#include <WiFi.h> #include <ThingSpeak.h> // Configuración de red WiFi const char* ssid = "Tu_red_wifi"; // Nombre de la red WiFi const char* contrasena = "Tu_clave_wifi"; // Contraseña de la red WiFi // Configuración de ThingSpeak unsigned long idCanal = 0000000; // Reemplaza con tu ID de canal const char* claveAPIlectura = "Read_API_Keys"; // Reemplaza con tu clave de lectura WiFiClient cliente; int pinLuz = 12; // Pin donde está conectada la luz o el relé void setup() { Serial.begin(115200); // Configurar el pin como salida pinMode(pinLuz, OUTPUT); // Conectar a la red WiFi WiFi.begin(ssid, contrasena); Serial.print("Conectando a WiFi..."); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.print("."); } Serial.println("Conectado a WiFi"); // Conectar a ThingSpeak ThingSpeak.begin(cliente); } void loop() { // Leer el valor del canal int estadoLuz = ThingSpeak.readIntField(idCanal, 1, claveAPIlectura); // Leer el campo 1 if (estadoLuz == 1) { digitalWrite(pinLuz, HIGH); // Encender la luz Serial.println("Luz encendida"); } else if (estadoLuz == 0) { digitalWrite(pinLuz, LOW); // Apagar la luz Serial.println("Luz apagada"); } else { Serial.println("Error al leer el estado de la luz"); } delay(15000); // Esperar 15 segundos antes de la próxima lectura } |
No te pierdas ningún video más suscríbete a nuestro canal de telegram https://t.me/carlosvolt_electronica_robotica
PROYECTO RECOMENDADO