Hello,
I would like to receive and read SMS (on Arduino' serial) which I send with my GSM.
Until now, i can see that the GPRS receive it and the number of the sender, but i can't read it.
Is there anyone who can help me ?
Thank you !
Bonjour,
J'aimerais recevoir et lire des SMS (sur le port série d'Arduino) que j'envoie de mon GSM.
Jusqu'à maintenant, je sais juste voire que je reçois les SMS et leurs propriétaires, mais je ne sais pas les lire.
Y aurait il une bonne âme pour m'aider ?
D'avance merci !
#include <SoftwareSerial.h>
#include <String.h>
SoftwareSerial GPRS (7, 8 );
void setup()
{
GPRS.begin(19200); // the GPRS baud rate
Serial.begin(19200); // the GPRS baud rate
delay(1000);
GPRS.println("AT+CSQ"); // niveau de réception
delay(1000);
Serial.println("envoi de la commande : AT+CMBF=1");
delay (1000);
//GPRS.println("AT+CMGF=l\r");
delay (1000);
GPRS.println("AT+CSCA=\"+32470693691\"\r"); //se mettre sur le réseau
delay (500);
Serial.println("envoi de la commande : AT+CPIN=\"5966\"");
delay (1000);
Serial.println("envoi de la commande : AT+CSCA=\"+32470693691\"");
delay (1000);
GPRS.println("AT+CPIN=\"5966\""); //insertion du code PIN
delay (1000);
GPRS.println("AT+CPIN?") ; // PIN ok ou error
delay (1000);
}
void loop()
{
//after start up the program, you can using terminal to connect the serial of gprs shield,
//if you input 't' in the terminal, the program will execute SendTextMessage(), it will show how to send a sms message,
if (Serial.available())
switch(Serial.read())
{
case 'r':
ReceiveTxTmsg();
break;
case 'd':
Delete();
break;
}
if (GPRS.available())
Serial.write(GPRS.read());
}
///
void ReceiveTxTmsg()
{
GPRS.println("AT+CMGF=1") ; //passe les sms en mode texte
delay (1000);
//GPRS.println("AT+CPMS=\"MT\"") ; montre combien de sms en mémoire
delay (500);
//GPRS.println("AT+CMGL"); //montre tous les sms non lu
GPRS.println("AT+CMGR=2\r"); //Lis le deuxième sms
delay (500);
Serial.println("AT+CMGR=2\r""");
delay (500);
//GPRS.println("AT+CMGL=""ALL"); // montre les sms
delay (500);
}
void Delete()
{
GPRS.println("AT+CMGD=1");
delay(500);
GPRS.println("AT+CMGD=2");
delay(500);
GPRS.println("AT+CMGD=3");
delay(500);
GPRS.println("AT+CMGD=4");
delay(500);
GPRS.println("AT+CMGD=5");
delay(500);
GPRS.println("AT+CMGD=6");
delay(500);
GPRS.println("AT+CMGD=7");
delay(500);
GPRS.println("AT+CMGD=8");
delay(500);
GPRS.println("AT+CMGD=9");
delay(500);
GPRS.println("AT+CMGD=10");
delay(500);
GPRS.println("AT+CMGD=11");
delay(500);
GPRS.println("AT+CMGD=12");
delay(500);
GPRS.println("AT+CMGD=13");
delay(500);
GPRS.println("AT+CMGD=14");
delay(500);
GPRS.println("AT+CMGD=15");
delay(500);
GPRS.println("AT+CMGD=16");
delay(500);
GPRS.println("AT+CMGD=17");
delay(500);
GPRS.println("AT+CMGD=18");
delay(500);
GPRS.println("AT+CMGD=19");
delay(500);
GPRS.println("AT+CMGD=20");
delay(500);
GPRS.println("AT+CMGD=21");
delay(500);
GPRS.println("AT+CMGD=22");
delay(500);
GPRS.println("AT+CMGD=23");
delay(500);
GPRS.println("AT+CMGD=24");
delay(500);
GPRS.println("AT+CMGD=25");
}