Buongiorno a tutti,
sono a scrivervi per chiedere un'aiuto su come leggere dei dati scritti sul monitor seriale di arduino ed inviarli tramite sms
Ecco il code
void setup()
{
Serial.begin(9600);
if (gsm.begin(9600)){
started=true;
}
if(started){
Serial.println("READY");
//sms.SendSMS("00000000000", "GSM CONTROL in attesa di comando");
//gsm.SimpleWrite("AT+CMGD=1,4\r");
gsmserial.begin(9600);
Serial.println("sto chiamando "); //iniziano i codici AT per effettuare la chiamata
gsm.SimpleWrite(F("ATD"));
gsm.SimpleWrite("401212"); // in questo caso il numero è di postemobile
gsm.SimpleWriteln(F(";"));
gsm.WaitResp(15000, 50);
gsm.SetCommLineStatus(CLS_FREE);
{
if (CLS_FREE != gsm.GetCommLineStatus()) return;
gsm.SetCommLineStatus(CLS_ATCMD);
Serial.println("PIGIO IL TASTO 1");
gsm.SimpleWrite(F("AT+VTD="));
gsm.SimpleWriteln(1000);
gsm.WaitResp(1000, 100, "OK");
gsm.SimpleWrite(F("AT+VTS=\""));
gsm.SimpleWrite(1);
gsm.SimpleWriteln(F("\""));
gsm.WaitResp(3000, 100, "OK");
gsm.SetCommLineStatus(CLS_FREE);
delay (3000);
Serial.println("PIGIO IL TASTO 1");
gsm.SimpleWrite(F("AT+VTD="));
gsm.SimpleWriteln(1000);
gsm.WaitResp(1000, 100, "OK");
gsm.SimpleWrite(F("AT+VTS=\""));
gsm.SimpleWrite(1);
gsm.SimpleWriteln(F("\""));
gsm.WaitResp(3000, 100, "OK");
gsm.SetCommLineStatus(CLS_FREE);
}
gsm.listen(); // IMPORTANT!!!!
delay(200);
pos = sms.IsSMSPresent(SMS_UNREAD);
if (pos)
{
sms.GetSMS(pos, n, buffer, 100);
Serial.println("DEBUG SMS phone number: ");
Serial.println(n);
Serial.println("SMS text: ");
Serial.println(buffer);
Serial.read();
if (strcmp(buffer,"credito residuo")==false)
{
Credito();
}
delay (1000);
}
}
}
void Credito()
{
if(started)
{
char buffer[100];
char *str;
Serial.read();
sprintf (buffer, "% u", str);
sms.SendSMS("1111111111" , strmsg);
gsm.SimpleWrite("AT+CMGD=1,4\r");
}
}
void clearbuffer()
{
for (int i=0;i<70;i++)
{
buffer[i]=0;
}
}
void loop()
{
}
il programma fa il debug a video del credito residuo però non me lo inoltra ad un'altro numero di cellulare
dove sbaglio?
grazie mille