Tabla de contenido:

Enviar un SMS usando un ESP8266: 5 pasos
Enviar un SMS usando un ESP8266: 5 pasos

Video: Enviar un SMS usando un ESP8266: 5 pasos

Video: Enviar un SMS usando un ESP8266: 5 pasos
Video: Enviar un mensaje de WhatsApp desde ESP32 2024, Mes de julio
Anonim
Enviar un SMS usando un ESP8266
Enviar un SMS usando un ESP8266

Este instructivo lo lleva a través de los pasos para enviar mensajes SMS a través de Internet desde una placa de módulo ESP8266 NodeMCU a un teléfono móvil. Para poder enviar el mensaje, deberá seguir los pasos para obtener un número de teléfono virtual de Twilio, una empresa de comunicaciones. No se necesita tarjeta de crédito porque Twilio tiene la opción de cuenta de prueba gratuita. Luego, descargará y usará un programa IDE de Arduino de muestra para enviar mensajes SMS.

El programa de muestra en este instructivo tiene llamadas a funciones que son fáciles de copiar, pegar, editar y usar en sus propios proyectos.

Suministros

Estoy usando una placa de desarrollo de Internet WIFI inalámbrica NodeMCU ESP8266 CH340G ESP-12E. Se venden por alrededor de $ 3 en eBay de proveedores chinos.

Paso 1: Pruebe su ESP8266 NodeMCU

Puede probar con o sin una placa de pruebas. Sin la placa de pruebas, la luz incorporada parpadeará, lo cual es efectivo para la prueba.

En mi muestra, conecto el NodeMCU a la placa de pruebas. Enchufo el lado negativo de un LED en el pin de tierra (G o GND) en el NodeMCU. El lado positivo del LED está conectado a través de un resistor (500 a 5K ohmios) al pin D4 de NodeMCU. Cuando se ejecuta el programa de muestra, el LED integrado se encenderá, el LED externo se apagará, luego el LED integrado se apagará y el LED externo se encenderá. Las luces LED se encenderán y apagarán alternativamente.

Descargue y ejecute el programa de prueba básico de Arduino: nodeMcuTest.ino. Mientras se ejecuta el programa, la luz LED incorporada se encenderá durante 1 segundo, se apagará durante 1 segundo y hará un ciclo continuo. Además, se publican mensajes que se pueden ver en Arduino IDE Tools / Serial Monitor.

+++ Configuración.

+ Inicializó el pin digital LED integrado para la salida. El LED está apagado. ++ Ir al bucle. + Contador de bucle = 1 + Contador de bucle = 2 + Contador de bucle = 3…

Una vez que haya confirmado que su IDE se puede utilizar para programar su NodeMCU, continúe con el siguiente paso.

Nota sobre las bibliotecas, he instalado a continuación para proyectos ESP8266:

  • Biblioteca de Arduino WiFi versión 1.2.7.
  • PubSubClient versión 2.7.0, de Nick O'Leary, para mensajería MQTT. No es necesario para este proyecto.
  • IRremoteESP8266 versión 2.6.3, para infrarrojos. No es necesario para este proyecto.

Si tiene más información sobre las bibliotecas requeridas, haga un comentario. La razón por la que no tengo detalles es que no grabé lo que instalé, lo siento.

Acerca del ESP8266 NodeMCU

Características,

  • Velocidad de reloj de 80 MHz
  • Voltaje de funcionamiento: 3,3 V
  • Memoria flash de almacenamiento: 4 MB, SRAM: 64 KB
  • 9 pines GPIO digitales de uso común etiquetados: D0 a D8.
  • De los 9, se pueden usar 4 pines para SPI y 2 pines para I2C.
  • Interrumpa los pines GPIO D0-D8.
  • No utilice los 6 pines: CLK, SD0, CMD, SD1, SD2, SD3 (GPIO 6-11), porque están en uso.
  • Probado: entrada de botón usando D0-D02.
  • Probado: LED parpadeante con D0-D08. Fuera a un resistor, a un LED, a tierra.
  • Necesita probar, UART1 (TX = GPIO2), objeto Serial1: D4 o D7 y D8.

Detalles del pin

NodeMCU Etiqueta GPIO pin # D0 16 GPIO solo lectura / escritura. Puede que no tenga la función de interrupción. D1 5 GPIO digital. -------------------- D2 4 GPIO digital. D3 0 GPIO digital. ---------- D2 4 I2C: SCL, reloj DS3231, módulos de entrada PCF8574 D3 0 I2C: SDA ---------- D4 (TX) 2 LED incorporado integrado. ---------- Salida 3V 3v G Tierra -------------------- D5 14 GPIO digital. D6 12 GPIO digital. D7 (RX) 13 Funciona para entrada, por ejemplo, recepción de infrarrojos. D8 (TX) 15 No funciona para la entrada, por ejemplo, recepción de infrarrojos. ---------- D5 14 Tarjeta SD: SPI SCK D6 12 Tarjeta SD: SPI MISO D7 (RX) 13 Tarjeta SD: SPI MOSI D8 15 Tarjeta SD: CS para habilitar / deshabilitar un dispositivo SPI. Puede utilizar otros pines digitales. -------------------- RX 03 Sistema actualizado desde el IDE, lo que provoca el reinicio después de la carga. TX 01 Sistema actualizado. Salida G Ground 3V 3v

Paso 2: Abra una cuenta de prueba gratuita de Twilio y obtenga su propio número de teléfono

Image
Image

Twilio es una empresa de plataformas de comunicaciones por Internet. Los productos que se utilizan en este instructivo son la mensajería programable Twilio y los números de teléfono. Twilio tiene un inventario de números de teléfono virtuales que se pueden usar para enviar y recibir mensajes SMS a cualquier teléfono móvil.

En este paso, podrá:

  • Abra una cuenta Twilio, si aún no tiene una. Una cuenta de prueba es gratuita y no requiere tarjeta de crédito. Su cuenta de prueba tendrá un saldo de prueba que se utiliza para pagar números de teléfono e intercambiar mensajes de texto con teléfonos móviles.
  • Compra un número de teléfono de Twilio. Es gratis porque se paga por usar su saldo de prueba.
  • Envíe un mensaje desde su teléfono móvil a su nuevo número de teléfono.
  • Una vez que Twilio recibe su mensaje, se envía un mensaje de respuesta automática a su teléfono móvil.
  • Utilice la aplicación del sitio web de la Consola Twilio para ver sus registros de mensajes.

El primer video de arriba muestra cómo abrir una cuenta Twilio. El segundo video muestra cómo comprar un número de teléfono Twilio.

Vínculo al sitio web de Twilio Console para abrir una cuenta.

Vínculo al sitio web de la Consola Twilio para comprar un número de teléfono Twilio.

Su nuevo número de teléfono compatible con Twilio SMS ya tiene configurada una respuesta automática. Como prueba, envíe un mensaje SMS desde su teléfono móvil a su número de teléfono Twilio. Recibirá el siguiente mensaje:

Gracias por tu mensaje. Configure la URL de SMS de su número para cambiar este mensaje. Responda Ayuda para obtener ayuda. Responder Detener para cancelar la suscripción.

Ahora use la Consola Twilio para ver sus registros de mensajes de la prueba anterior:

www.twilio.com/console/sms/logs

Más sobre el uso de Twilio

Puede crear su propia respuesta automática personalizada. Enlace a un tutorial de Studio, cómo hacer un mensaje de respuesta SMS personalizado. Studio es nuestra herramienta de consola Twilio de arrastrar y soltar.

Puede usar la Consola Twilio para ver sus mensajes de registro y descargar los registros como CVS y cargarlos en una hoja de cálculo. Puede seleccionar un rango de fecha y hora, hacia y desde números de teléfono, y estados como: No entregado o Enviado. También tiene la opción de descargar los registros como archivos CVS. Dado que tiene un límite de 300 registros a la vez, puede limitar la selección por fecha.

Vínculos para desarrolladores

Enlace a documentación y programas de muestra para enviar mensajes.

Enlace a ejemplos de programas para enumerar los registros de mensajes.

Enlace a las propiedades del mensaje del programa. La lista de propiedades que se envían en la solicitud

Vínculo para enumerar los registros de SMS durante un período de tiempo.

Paso 3: envíe un SMS desde su NodeMCU

Envíe un SMS desde su NodeMCU
Envíe un SMS desde su NodeMCU

Descargue el programa: HttpTwPost.ino y cárguelo en su IDE de Arduino. En el programa, ingrese su ID de red WiFi y contraseña. Ingrese su propio SID de cuenta Twilio, token de autenticación y número de teléfono. El SID de la cuenta Twilio y el token de autenticación se pueden ver desde el panel de la Consola Twilio. Haga clic en Auth Token "mostrar" para ver el token de autenticación.

// Su SSID de red y contraseñaconst char * ssid = "YourNetworkId"; const char * contraseña = "YourNetworkPassword"; const char * account_sid = "YourTwilioAccountSID"; const char * auth_token = "YourAuthToken"; String from_number = "+16505551111"; // Después de agregar la codificación, agregue "+". String to_number = "+16505552222"; String message_body = "Hola desde NodeMCU.";

Twilio tenga en cuenta que, al usar números de teléfono con Twilio, es mejor formatear los números como números de teléfono con formato E.164. Los números de teléfono con formato E.164 comienzan con "+" y el código del país. El número de teléfono no tiene espacios, guiones ni corchetes. Ejemplo: +16505551111.

Ejecuta el programa. Cuando se inicie el programa, enviará un mensaje de texto SMS a su número de teléfono móvil. Además, se publican mensajes que se pueden ver en Arduino IDE Tools / Serial Monitor. Los mensajes del monitor incluyen la respuesta de Twilio.

+++ Configuración. + Conéctese a WiFi. …. + Conectado a WiFi, dirección IP: 192.168.1.76 + Usando huella dactilar 'BC B0 1A 32 80 5D E6 E4 A2 29 66 2B 08 C8 E0 4C 45 29 3F D0' + Conectando a api.twilio.com + Conectado. + Publica una solicitud de envío de SMS HTTP. + La conexión está cerrada. + Respuesta: HTTP / 1.1 201 CREADO Fecha: Thu, 16 Jul 2020 20:39:49 GMT Tipo de contenido: application / xml Longitud de contenido: 878 Conexión: cerrar Twilio-Concurrent-Requests: 1 Twilio-Request-Id: RQe4fbdd142fca4b2fab24697e74006837 Twilio-Request-Duration: 0.116 Access-Control-Allow-Origin: * Access-Control-Allow-Headers: Accept, Authorization, Content-Type, If-Match, If-Modified-Since, If-None-Match, If- Sin modificar desde Access-Control-Allow-Methods: GET, POST, DELETE, OPTIONS Access-Control-Expose-Headers: ETag Access-Control-Allow-Credentials: true X-Powered-By: AT-5000 X-Shenanigans: none X-Home-Region: us1 X-API-Domain: api.twilio.com Strict-Transport-Security: max-age = 31536000… + Iniciando el ciclo.

Puede ver los registros de mensajes de Twilio para ver su mensaje enviado.

Paso 4: Botón para enviar un SMS

Image
Image

El video anterior muestra un uso de ESP8266 NodeMCU para enviar mensajes a un teléfono móvil. En el video, el NodeMCU ya está iniciado y conectado a la red WiFi. Cuando se presiona el botón, la luz LED integrada se enciende. La solicitud de mensaje SMS se envía al servicio Twilio Messaging. El servicio envía un SMS a mi teléfono móvil. Se recibe el mensaje. El servicio también responde al NodeMCU que el mensaje estaba en cola para ser enviado. En ese momento, el mensaje ya se había recibido en el teléfono. Una vez que NodeMCU recibe la respuesta de Twilio, la luz a bordo se apaga. El circuito está listo para enviar otro mensaje.

A continuación se muestra cómo implementar el circuito en el video. Este paso requiere una placa de pruebas, un botón y cables. Agrega un botón en la protoboard. Un lado del botón se conecta al pin NodeMCU D1. Conecte el otro lado del botón a la clavija de tierra de NodeMCU (clavija G en mi placa).

Descargue el programa: HttpTwSendSms.ino y cárguelo en su IDE de Arduino. Igual que en el paso anterior, en el programa ingrese su ID de red WiFi y contraseña. Ingrese su propio SID de cuenta Twilio, token de autenticación y número de teléfono.

Cuando se ejecuta el programa, NodeMCU se conectará a la red WiFi. Cuando se presiona el botón, se envía un mensaje al número de teléfono móvil.

Paso 5: SMS desde un NodeMCU es una gran herramienta de IoT

Ahora puede usar un código de muestra y su cuenta Twilio para enviar mensajes SMS a través de WiFi.

Salud, Stacy David

Recomendado: