Je me permets de poster le code qui fonctionne pour ma part :
#include <GoGprs.h>
#include <SoftwareSerial.h>
#include <RCSwitch.h>
#define PIN_CODE "0000"
SoftwareSerial mySerial(PIN_GPRS_RX, PIN_GPRS_TX);
GoGprs gsm = GoGprs(&mySerial);
RCSwitch mySwitch = RCSwitch();
void setup()
{
Serial.begin(19200);
gsm.begin( PIN_CODE );
mySwitch.enableTransmit(10);
}
void loop()
{
gsm.execute();
if(gsm.isCallReady())
{
if(gsm.hasSms())
{
String phoneNr = gsm.smsCallee();
if(phoneNr.substring(0) == "+33612345678")
{
mySwitch.switchOn(4, 3);
delay(20000);
mySwitch.switchOff(4, 3);
}
if(phoneNr.substring(0) == "+33687654321")
{
String msg = String( "Laisse tomber Maman.");
if( gsm.sendSms( phoneNr, msg ))
{
Serial.println( "Successfully replied "+msg+" to "+phoneNr );
}
else
{
Serial.println( "Reply "+msg+" to "+phoneNr+ "did failed!" );
}
}
if(phoneNr.substring(0) == "+3311111111")
{
String msg = String( "Tu aimes les films d'horreur ?");
if( gsm.sendSms( phoneNr, msg ))
{
Serial.println( "Successfully replied "+msg+" to "+phoneNr );
}
else
{
Serial.println( "Reply "+msg+" to "+phoneNr+ "did failed!" );
}
}
//Serial.println(phoneNr.substring(0));
gsm.clearSms();
}
else
{
//Serial.println("Pas de SMS");
}
}
delay(500);
}
Ca reçoit un sms quelconque, si c'est le bon numéro, ça donne envoi une commande RF pour allumer une prise, si c'est ma mère ça lui répond "Laisse tomber Maman" et ça ne fait rien, si c'est un autre ça lui répond "Tu aimes les films d'horreur ?" et ça ne fait rien non plus.
Les numéros de téléphone des protagonistes ont été changés pour préserver leur identité secrète de super-héros.

J'utilise un shield GPRS de Seeedstudio , un arduino UNO R3 et la librairie GoGPRS.