Controllare/Impostare arduino da remoto tramite GSM shield o wifi

ragazzi ho provato a buttare giu un pò di codice
secondo voi può andare bene?
ho preso l'esempio del ricevitore sms e ho aggiunto un pò di codice

// SMS receiver

// include the GSM library
#include <GSM.h>

// PIN Number for the SIM
#define PINNUMBER ""

// initialize the library instances
GSM gsmAccess;
GSM_SMS sms;

// Array dell'ultimo numero di SMS ricevuto
char senderNumber[20];

void setup()
{
// initialize serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}

Serial.println("Ricevitore Messaggi SMS");

// Stato di connessione
boolean notConnected = true;

// Inizio connessione GSM
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Non Connesso");
delay(1000);
}
}

Serial.println("Inizializzazione GSM");
Serial.println("In attesa di messaggi");
}

void loop()
{
//queste variabili saranno dichiarate all'inizio...messe qui solo per comodità
char TestoSMS;
int valore = 0;
int valore1 = 0;
int OreRele1On = 0;
int OreOff = 0;

// Se ci sono SMS disponibili()
if (sms.available())
{
int conta=0;
Serial.println("Messagio ricevuto da:");

// Prende il numero
sms.remoteNumber(senderNumber, 20);
Serial.println(senderNumber);

//Legge i bytes del messaggio e li scrivie
while(TestoSMS=sms.read())//legge un carattere alla volta
{

Serial.print(TestoSMS);

if(conta==0)
{
char car = TestoSMS;
car = car - 48; // trasforma il carattere carattere da ASCII a binario
valore = car;
}
else
if(conta==1)
{
char car1 = TestoSMS;
car1 = car1 - 48; // trasforma il secondo carattere da ASCII a binario
valore1 = car1;
}
else
if(conta==3)
{
switch (TestoSMS) { // va ad assegnare il valore alla variabile selezionata
case 'R':
OreRele1On = ((valore*10)+valore1);
conta=0;
break;

case 'M':
OreOff = ((valore*10)+valore1);
conta=0;
break;

}

}

conta++;
}

// Elimina i messaggi dalla memoria del modem.
Serial.println("Fine del Messaggio");
sms.flush();
Serial.println("Messaggio eliminato");

delay(1000);

}

}