Envía mensajes de texto a teléfonos móvil con tu Arduino

Cómo enviar SMS a teléfonos con Arduino

Seguimos con los tutoriales y capítulos gratuitos que sirven como presentación del libro Arduino Workshop de John Boxall. En este proyecto en concreto conseguiremos que nuestro microcontrolador envié un SMS o un mensaje de texto a otro teléfono móvil cuando ocurre un evento. Para simplificar el código, usaremos el SerialGSM Arduino disponible en Github. Después de haber instalado la biblioteca, hay que reiniciar el IDE de Arduino.

Lista de componentes.

  • Un shield GSM
  • Un pulsador o botón
  • Una resistencia de 10 kW
  • Un condensador de 100 nF
  • Varios cables de conexión
  • Una tabla de pruebas o breadboard

El código

Escribir el siguiente código en el IDE de Arduino pero sin cargarlo de momento.

// Envió de mensajes de texto o SMS
#include 
#include 
SerialGSM cell(2,3);
void setup()
{
 pinMode(7, INPUT);
 delay(30000); // wait for the GSM module
 cell.begin(9600);
}
void textSomeone()
{
 cell.Verbose(true); // used for debugging
 cell.Boot();
 cell.FwdSMS2Serial();
 cell.Rcpt("+xxxxxxxxxxx"); // replace xxxxxxxxxxx with the
 // recipient's cell number
 cell.Message("This is the contents of a text message");
 cell.SendSMS();
}
void loop()
{
 if (digitalRead(7) == HIGH)
 {
 textSomeone();
 }

 if (cell.ReceiveSMS())
 {
 Serial.println(cell.Message());
 cell.DeleteAllSMS();
 }
}

El shield GSM está configurado como normal en la tercera linea y en la configuración de void (). Las pulsaciones de los botones se detectan en if (digitalRead(7) == HIGH) , y se llama a la función textSomeone. Esta simple función envía un mensaje de texto al número de teléfono movíl almacenado en cell.Rcpt(«+xxxxxxxxxxx»).

Antes de cargar el código hay que cambiar xxxxxxxxxxx por el número de teléfono móvil en formato internacional: el código del país, el código de área, y el número, sin espacios ni paréntesis. Por ejemplo, para enviar un mensaje de texto a 212.555.1212 en los Estados Unidos, deberá almacenarse como +12125551212.

El mensaje de texto que se enviará se almacena en cell.Message(«This is the contents of a text message»); . (Tenga en cuenta que la longitud de un mensaje es de 160 caracteres.)

Después de haber almacenado un mensaje de texto de ejemplo y un número de destino, se puede cargar el código, esperar 30 segundos y, a continuación, pulsar el botón. En un momento, el mensaje debe llegar al teléfono de destino.

Este proyecto puede integrar fácilmente en otros proyectos, y mandar los mensajes de texto según de que sea el proyecto usado, así por ejemplo se puede usar como aviso de que un sensor de movimiento conectado a un Arduino ha detectado un movimiento y se avisa en el móvil del usuario.

Recordar que tanto este tutorial como el resto del artículo 10 proyectos sencillos son un extracto del libro Arduino Workshop que su autor ha puesto en descarga gratuita, podéis conseguir el libro completo en Amazon. Este proyecto en concreto lo podéis ver aquí.

Pin It on Pinterest

Shares