Tabla de contenido:

Cómo enviar mensajes de texto SMS desde su proyecto Arduino ESP: 6 pasos
Cómo enviar mensajes de texto SMS desde su proyecto Arduino ESP: 6 pasos

Video: Cómo enviar mensajes de texto SMS desde su proyecto Arduino ESP: 6 pasos

Video: Cómo enviar mensajes de texto SMS desde su proyecto Arduino ESP: 6 pasos
Video: Enviar un mensaje de WhatsApp desde ESP32 2024, Noviembre
Anonim
Cómo enviar mensajes de texto SMS desde su proyecto Arduino ESP
Cómo enviar mensajes de texto SMS desde su proyecto Arduino ESP

Este instructivo demuestra cómo enviar mensajes de texto SMS desde su proyecto arduino usando un dispositivo ESP8266 y una conexión WiFi. ¿Por qué usar SMS? * Los mensajes SMS son mucho más rápidos y confiables que los mensajes de notificación de aplicaciones. * Los mensajes SMS también se pueden recibir donde las conexiones de datos móviles no están disponibles * No es necesario instalar una aplicación de terceros en un teléfono inteligente. * Los SMS son esenciales para las aplicaciones críticas de mensajes. Este proyecto simplemente envía un mensaje de texto SMS al presionar un botón conectado al dispositivo ESP Para su proyecto, esto podría activarse en algún otro activador o estado de evento

Paso 1: Partes

Partes
Partes
Partes
Partes

Para esta demostración, necesitará: * Dispositivo ESP8266. Elegí el paquete ESP-01, pero cualquier otro paquete / dispositivo ESP también debería funcionar. * Suministro de 3.3v * Conexión WiFi * Cuenta SMS Kapow * Arduino IDE * Módulo de programación ESP8266.

Paso 2: proveedor de SMS

En este proyecto, los mensajes de texto SMS se envían a través de una puerta de enlace SMS en Internet. Para ello, deberá suscribirse a un proveedor de SMS. Normalmente, a los suscriptores se les cobra por mensaje de texto. Mi proveedor de servicios de SMS elegido es KAPOW. Descubrí que la mayoría de los proveedores de SMS en el Reino Unido solo tratan con Sociedades Anónimas y no con individuos. Sin embargo, KAPOW lo hace y proporciona un servicio confiable y rentable. Para abrir una cuenta SMS de Kapow, visite el enlace a continuación.

www.kapow.co.uk

Paso 3: cableado

Cableado
Cableado

El diagrama de cableado para este proyecto está arriba

Paso 4: el código

// Proyecto de demostración ESP8266 para enviar SMS a través de KAPOW (www.kapow.co.uk)

// https://www.instructables.com/id/How-to-Send-SMS-… #include #include char _sKapow_Host = "kapow.co.uk"; int _iKapow_Port = 80; / * <<<< CAMBIAR LOS DETALLES A CONTINUACIÓN * / // Los detalles de su WiFi: char _sWiFi_SSID = "YourWifiPoint"; // <--- CAMBIO !!! char _sWiFi_Password = "YourWifFiPassword"; // <--- CAMBIO !!! // Detalles de su cuenta de usuario de Kapow: char _sKapow_User = "YourKapowAccount"; // <--- CAMBIO !!! char _sKapow_Password = "YourKapowPassword"; // <--- ¡¡¡CAMBIO !!! char _sKapow_Mobile = "YourMobile"; // >>> CAMBIAR LOS DETALLES ARRIBA * / // El botón está conectado a GP0 Pin const int gp0_Pin = 0; const int iMaxAttempts = 10; int gp0_State = 0; configuración vacía () {Serial.begin (9600); Serial.println ("\ nDemo: Enviar SMS a través de KAPOW"); // inicializar el pin del pulsador como entrada // y subirlo (internamente) pinMode (gp0_Pin, INPUT_PULLUP); // establecer conexión Wifi WifiConnect (); } void loop () {// leer el estado del botón pulsador gp0_State = digitalRead (gp0_Pin); // ¿El botón pulsador está bajo? if (gp0_State == 0) {Serial.println ("Botón presionado para enviar SMS …"); SendSmsKapow (_sKapow_Mobile, "Esto + es + una + Prueba + SMS + Mensaje + enviado + desde + su + dispositivo + ESP +"); } Serial.println ("Dormir durante 1 segundo"); retraso (1000); } void WifiConnect () {Serial.print ("\ nConectando a WiFi:"); Serial.println (_sWiFi_SSID); WiFi.begin (_sWiFi_SSID, _sWiFi_Password); while (WiFi.status ()! = WL_CONNECTED) {// reintentar después de un segundo Serial.print ("."); retraso (1000); } if (WiFi.status () == WL_CONNECTED) Serial.println ("Conectado a WiFi"); } bool SendSmsKapow (char * sMobile, char * sMessage) {WiFiClient clientSms; int iAttempts = 0; Serial.print ("Conectando al host KAPOW"); while (! clientSms.connect (_sKapow_Host, _iKapow_Port)) {Serial.print ("."); iAttempts ++; if (iAttempts> iMaxAttempts) {Serial.println ("\ nFailed to Connect to KAPOW"); devuelve verdadero; } retraso (1000); } Serial.println ("\ nConectado a KAPOW"); retraso (1000); Serial.println ("Enviando solicitud HTTP a KAPOW:"); // Un ejemplo de solicitud GET sería: //https://www.kapow.co.uk/scripts/sendsms.php?username=test&password=test&mobile=07777123456&sms=Test+message char sHttp [500] = ""; strcat (sHttp, "GET /scripts/sendsms.php?username="); strcat (sHttp, _sKapow_User); strcat (sHttp, "& contraseña ="); strcat (sHttp, _sKapow_Password); strcat (sHttp, "& mobile ="); strcat (sHttp, sMobile); strcat (sHttp, "& sms ="); strcat (sHttp, sMessage); strcat (sHttp, "& returnid = TRUE / n / n"); Serial.println (sHttp); clientSms.print (sHttp); Serial.println ("Esperando respuesta (10 segundos)…"); retraso (10 * 1000); char sReply [100] = ""; int iPos = 0; while (clientSms.available ()) {char c = clientSms.read (); Serial.print (c); sReply [iPos] = c; iPos ++; si (iPos == 99) se rompe; } sReply [iPos] = '\ 0'; // verifica si la respuesta contiene OK bool bResult = (strstr (sReply, "OK")! = NULL); if (bResult) Serial.println ("\ nSMS: enviado correctamente"); else Serial.println ("\ nSMS: Error al enviar"); if (! clientSms.connected ()) {Serial.println ("Desconectando de KAPOW"); clientSms.stop (); } return bResult; }

Paso 5: flashear el código

Flash el código
Flash el código
Flash el código
Flash el código

Hay muchos otros instructivos detallados que muestran cómo programar un dispositivo ESP8266. Así que solo daré una descripción general de mi configuración. En pocas palabras, utilizo una interfaz USB a FTDI serial, y pongo GP0 bajo en el reinicio para iniciar el proceso de actualización del cargador de arranque. Construí mi propio dispositivo de programación de stripboard para mayor comodidad. Tiene * una toma para un dispositivo ESP-01 * una toma para que la interfaz FTDI roja se conecte al host de la PC a través de USB. * Botones para RESET, GP0, GP2 A TIERRA Puede flashear el dispositivo ESP usando el 3.3v suministrado por FTDI interfaz. Asegúrese de que la configuración del puente FTDI también esté establecida en 3.3v.

Paso 6: ¡Presiona el botón

Presiona el botón !
Presiona el botón !
Presiona el botón !
Presiona el botón !
Presiona el botón !
Presiona el botón !
Presiona el botón !
Presiona el botón !

Puede probar el proyecto ya sea conectado a FTDI para la salida de registro en serie, o de forma independiente (en una placa de pruebas con fuente de alimentación externa). Se recomienda que use una fuente externa de 3.3v, ya que la corriente de suministro de FTDI es erak. Sin embargo, el suministro FTDI 3.3v también funcionó para mí, ya que mi enrutador wifi estaba al alcance de la mano. Deje el ESP conectado al puerto serial / usb para que pueda monitorear el registro de depuración serial en ejecución usando el Monitor serial del Arduino IDE. el botón conectado a GP0. Esto enviará el mensaje SMS como se muestra a continuación. Revise su teléfono para el mensaje de texto SMS recibido.

Recomendado: