
Envio masivo de sms con ESP32
¡Hola, aventurero de la tecnología! ¿Alguna vez has querido enviar un montón de mensajes SMS y sentirte como un master de las películas? ¡Hoy es tu día de suerte! Vamos a convertir ese pequeño ESP32 y el SIM800L en una máquina de mensajes. 🚀
¿Qué necesitas?
- ESP32: Esa cosita azul que parece salido de una nave espacial pero en realidad es solo un microcontrolador súper chulo con Wi-Fi y Bluetooth.
- SIM800L: No, no es un chip de chocolate, es un módulo que permite hacer llamadas y enviar mensajes. ¡Ojalá pudiera mandar chocolates por SMS!
- Módulo Regulador De Voltaje LM2596: Piensa en él como el guardaespaldas del SIM800L. Se asegura de que no reciba más energía de la que puede manejar.
Pasos sencillos:
- Armando el rompecabezas:
- Conecta tu ESP32 a la computadora. ¡Sin miedo! No muerde.
- Une el SIM800L al regulador de voltaje LM2596. Porque el SIM800L es como nosotros con el café: ¡necesita la cantidad justa!
- Ahora, que hablen entre ellos: conecta el SIM800L al ESP32. TX con RX y RX con TX. ¡Como si estuvieran chismeando!
- Dándole cerebro al ESP32:
- Carga el código que te mostré antes. Ese que parece una receta de cocina pero para hacer magia tecnológica.
- ¡Y no te olvides! Cambia el número de teléfono y el mensaje. A menos que quieras confundir a alguien con mensajes aleatorios.
- ¡Acción!:
- Enciende tu ESP32. No, no va a explotar.
- Si todo va bien, ¡tu ESP32 será una máquina de enviar SMS!
Cosas para tener en cuenta:
- Ten cuidado con tu tarjeta SIM. Algunas pueden cobrar más si envías demasiados SMS. ¡No queremos sorpresas en la factura!
- Asegúrate de que todo esté bien conectado y alimentado. ¡No queremos un apagón en plena operación de envío masivo!
Diagrama
A continuacion presentamos el circioto del sistema de Envio masivo de sms con ESP32

Codigo
#include <HardwareSerial.h> // USAR UART1 PARA SIM800 HardwareSerial sim800(1); // VARIABLE PARA CONTROLAR EL ENVÍO DE SMS bool enviar = true; void setup() { // INICIAR COMUNICACIÓN SERIAL A 9600 BAUDIOS Serial.begin(9600); // CONFIGURA LA COMUNICACIÓN CON EL SIM800 A 9600 BPS EN LOS PINES 19 (RX) Y 18 (TX) sim800.begin(9600, SERIAL_8N1, 19, 18); // ESPERA 2 SEGUNDOS PARA QUE EL SIM800 SE INICIE CORRECTAMENTE delay(2000); } void loop() { // ENVIA EL COMANDO AT PARA VERIFICAR LA COMUNICACIÓN CON EL SIM800 sim800.println("AT"); // RETARDO DE 1 SEGUNDO delay(1000); // ESPERA HASTA QUE EL SIM800 ENVÍE UNA RESPUESTA while (!sim800.available()) { Serial.println("ESPERA HASTA QUE EL SIM800 ENVÍE UNA RESPUESTA"); } if (sim800.find("OK")) { // COMUNICACIÓN CON SIM800 ESTABLECIDA Serial.println("Comunicación con SIM800 establecida."); // CONFIGURA EL MODO DE TEXTO sim800.println("AT+CMGF=1"); // RETARDO DE 1 SEGUNDO delay(1000); // REEMPLAZA CON EL NÚMERO DE DESTINO sim800.println("AT+CMGS=\"+527121122441\""); // RETARDO DE 1 SEGUNDO delay(1000); // ESCRIBE EL CONTENIDO DEL SMS Y ENVÍA SI LA VARIABLE 'enviar' ES TRUE if (enviar) { sim800.print("Este es un mensaje de prueba desde ESP32."); // RETARDO DE 1 SEGUNDO delay(1000); // ENVÍA CTRL+Z (CARÁCTER DE FINALIZACIÓN DE MENSAJE) sim800.write(0x1A); // RETARDO DE 1 SEGUNDO delay(1000); // ESPERA HASTA QUE EL SIM800 ENVÍE UNA RESPUESTA while (!sim800.available()) {} if (sim800.find("OK")) { // SMS ENVIADO CORRECTAMENTE Serial.println("SMS enviado correctamente."); } else { // ERROR AL ENVIAR EL SMS Serial.println("Error al enviar el SMS."); } } else { // SMS NO ENVIADO DEBIDO A LA VARIABLE 'enviar' EN FALSE Serial.println("SMS no enviado debido a la variable 'enviar' en false."); } } else { // ERROR DE COMUNICACIÓN CON SIM800 Serial.println("Error de comunicación con SIM800."); } // ESPERA 5 SEGUNDOS ANTES DE ENVIAR OTRO SMS delay(5000); }
Para cerrar:
Con el ESP32 y el SIM800L, puedes sentirte como un genio de la tecnología enviando SMS a diestra y siniestra. Recuerda usar tus poderes para el bien y… ¡diviértete en el proceso! 😄📱🎉