SIM900 GPRS
Se puede utilizar un módulo GSM/GPRS con una tarjeta SIM, de forma que podamos comunicarnos con Arduino UNO como si se tratase de un teléfono móvil.
Y es que esta tarjeta basada en el módulo SIM900 nos permite enviar y recibir llamadas y SMS y conectarnos a Internet, transformando nuestro Arduino en un teléfono móvil.
Se puede conectar la cámara UART JPEG VC0706 a Arduino Uno, tomar una foto, grabarla en una tarjeta micro SD y enviar esta foto a un correo electrónico desde una placa 3G / GPRS. Para esto se puede utilizar un servicio de correo como SMTP2GO.
Este vídeo tutorial informa sobre el proceso paso a paso para enviar correos electrónicos, mensajes SMS y realizar llamadas de voz utilizando la placa 3G / GPRS de libelium Communication.
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); //Seleccionamos los pines 7 como Rx y 8 como Tx
void setup()
{
SIM900.begin(9600);
Serial.begin(19200);
delay(1000);
SIM900.println("AT"); //Como estás SIM900?
delay(5000);
SIM900.println("AT+CPIN=\"4554\""); //Enviar pin dela SIM
delay(5000);
}
void loop()
{
//Enviamos y recibimos datos y los mostramos en el monitor del puerto serie
if (Serial.available() > 0)
SIM900.write(Serial.read());
if (SIM900.available() > 0)
Serial.write(SIM900.read());
}
Para llamar:
SIM900.print("ATD");//Comando AT para iniciar una llamada
SIM900.print("+34 ");//Número de telefono al cual queremos llamar
SIM900.println(";");//El ";" indica llamada de voz y no llamada de datos ej:(FAX)
Serial.println("Llamando...");//Leyenda que indica que se inicio el llamado
delay(25000);//Duración del llamado antes de cortar
SIM900.println("ATH"); // comando AT cortar llamada
Serial.println("Llamada finalizada");//Leyenda que indica que finalizó el llamado
Para SMS:
SIM900.println("AT+CMGF=1\r"); // Configuring TEXT mode
delay(1000);
SIM900.println("AT+CMGS=\"+34 \"");//change ZZ with country code and xxxxxxxxxxx with phone number to sms
delay(1000);
SIM900.println("Last Minute y tu tía y la mia y la del vecino"); //text content
delay(5000);
SIM900.println((char)26);
delay(5000);
SIM900.println();
delay(100);
Mostrar y borrar registros de SMS
#include <SoftwareSerial.h>
SoftwareSerial SIM900(7, 8); //Seleccionamos los pines 7 como Rx y 8 como Tx
char caracter = 0;
void setup()
{
SIM900.begin(9600);
delay(100);
Serial.begin(19200);
delay(100);
SIM900.println("AT"); //Handshaking with SIM900
delay(1000);
SIM900.println("AT+CPIN=\"4554\"");
delay(1000);
// SIM900.println("AT+CMGD=2");//Borrar registro 2
// delay(10000);
SIM900.println("AT+CMGR=2");// Mostrar registro 2
}
void loop()
{
if (Serial.available() > 0)//Enviamos y recibimos datos
SIM900.write(Serial.read());
if (SIM900.available() > 0){
caracter = SIM900.read();
Serial.print(caracter);
//Serial.write(SIM900.read());
}
}